Identificaziun da la hardware
In installatur tradiziunal As porscha ils medems dialogs, independentamain da sche Voss laptop ha in’iGPU dad Intel u ina carta NVIDIA; sche Vus lavurais directamain sin la hardware u en ina VM; sche Vossa CPU è pertutgada da RETBleed u betg. I vegn spetgà che Vus sappias quai.
Ditana adatta ils dialogs a Vossa hardware. Tschernas che Vus na duvrais betg vegnan zuppadas u emplenidas ordavant cun valurs da standard segiras; tschernas che Vus duvrais cumparan cun recumandaziuns raschunaivlas.
Il princip da l’identificaziun
Secziun «Il princip da l’identificaziun»L’entira examinaziun che furnescha datas a la basa da savida sa chatta en ina suletta datoteca: hardware-detection.kdl. Mintga detectur è ina lingia da Raku che vegn exequida ina giada a l’aviar da l’installatur e metta a disposiziun dal rest da la basa da savida ina valur – per il solit ina valur booleana. Examinaziuns che dovran dapli ch’ina lingia sa chattan en il motor da l’installatur: là vegn la carta da grafica cumparegliada cun las glistas che NVIDIA publitgescha, e là vegnan er chattads il format da blocs NVMe, ils discs rotativs e la partiziun EFI.
Intgins exempels represchentativs da la datoteca en diever:
- name="uefi" \ detect="'/sys/firmware/efi'.IO.e"
- name="intel-cpu" \ detect="'/proc/cpuinfo'.IO.lines.first(* ~~ /vendor_id/).contains('GenuineIntel')"
- name="virtual-environment" \ detect="run('systemd-detect-virt', '-q').exitcode eq 0"
- name="is-retbleed-vulnerable" \ detect="given '/sys/devices/system/cpu/vulnerabilities/retbleed'.IO { .e && .slurp.chomp ne 'Not affected' }"Mintga detectur legia da /sys/, /proc/ u cloma in utensil standard – nagin nivel d’abstracziun da la hardware proprietar, nagina banca da datas opaca. Sche Vus vulais savair tge che Ditana identifitgescha e co, ha la resposta plaz sin in sulet visur, e Vus na stuais betg bandunar la datoteca.
Da l’identificaziun a la decisiun
Secziun «Da l’identificaziun a la decisiun»Ils detecturs n’ageschan betg sezs. Els mettan a disposiziun valurs, a las qualas auters parameters fan referenza en lur expressiuns default-value u available. La chadaina è adina: identifitgar → decider → installar.
In exempel cler è la mitigiaziun da mancanzas da segirezza da la CPU. Mintga mancanza da segirezza che il kernel annunzia (Spectre v2, Meltdown, MDS, TAA, MMIO Stale Data, L1TF, RETBleed, SRSO, GDS, RFDS) ha ses agen detectur. Il parameter da mitigiaziun correspundent fa lura referenza a quest detectur sco sia valur da standard:
- name="kernel-option-retbl" \ dialog-name="CPU Vulnerability Mitigation Options" \ short-description="Enforce Retbleed Mitigation (retbleed=auto,nosmt)" \ default-value="`is-retbleed-vulnerable`"Sche Vossa CPU n’è betg pertutgada, è la chaschetta da controlla deactivada sco standard. Sch’ella è pertutgada, è la chaschetta activada sco standard. Nagut na vegn filtrà tenor la CPU: mintga mitigiaziun vegn mussada en mintga cas, uschia che Vus pudais er vesair tge che Vossa CPU, tenor l’identificaziun, na dovra betg. La suletta chaussa che las allontanescha dal dialog è la tscherna da mitigations=off, che las renda tuttas inutilas – guardai co ch’ils parameters dependan l’in da l’auter. Guardai la pagina davart las mitigiaziuns da la CPU per la motivaziun cumpletta per mintga mancanza da segirezza.
Studi da cas: cumpatibilitad cun Wayland
Secziun «Studi da cas: cumpatibilitad cun Wayland»Intginas identificaziuns dovran funtaunas main evidentas. Compositors Wayland moderns sco Niri dovran absolutamain l’acceleraziun 3D cun agid da la hardware – il rendering da software (llvmpipe, softpipe) na basta betg; il compositor ha in collaps u refusa da s’aviar.
Empè da supponer a basa dal producent da la GPU, dumonda Ditana il kernel tge driver DRM ch’è propi activ per l’apparat da rendering:
- name="has-wayland-compatible-gpu" \ detect="given dir('/sys/class/drm').grep(*.basename.starts-with('renderD')).first { $_ ?? ($_ ~ '/device/driver').IO.resolve.basename ~~ any(<amdgpu radeon i915 xe nvidia nouveau virtio-pci virtio_gpu>) !! False }"Sch’il driver da Voss sistem n’è betg sin questa glista – vmwgfx en VMware, hyperv_fb en Hyper-V, bochs-drm en tschertas configuraziuns da QEMU –, dat has-wayland-compatible-gpu il resultat False. L’opziun Niri svanescha da la tscherna dal sistem da desktop, e Ghostty (che dovra OpenGL 4.3+, quai che programs da rendering en software na porschan betg) na stat betg pli a disposiziun:
- name="install-ghostty" \ available="`install-desktop-environment AND has-wayland-compatible-gpu`"In detectur, plirs parameters che l’utiliseschan. Agiuntar pli tard in’opziun che dependa da la hardware è per regla ina suletta midada en il champ available dal parameter che utilisescha la valur – la logica d’identificaziun na sto betg vegnir tutgada.
Questa translaziun è vegnida fatga a maschina. Las lecturas ed ils lecturs la megliereschan sin Weblate.