Ata propozojnë zbatimin e një drejtuesi GPU të shkruar në Rust, për Apple AGX G13 dhe G14

Linux Apple Rust

Ky është një drejtues mjaft i plotë për GPU-të e serive Apple AGX G13 dhe G14.
Kontrolluesi i sotëm është i pajtueshëm me SoC

Lajmi u lëshua së fundmi se është propozuar një zbatim paraprak i shoferit drm-asahi për GPU-të e serisë Apple AGX G13 dhe G14 përdoren në çipat Apple M1 dhe M2 në listën e postimeve të zhvilluesve të kernel Linux.

Kontrolluesi është shkruar në Rust plus, përfshin një grup lidhjesh universale rreth nënsistemit DRM (Direct Rendering Manager) që mund të përdoret për të zhvilluar drejtues të tjerë grafikë në Rust.

Seti i patch-it të lëshuar deri tani është propozuar vetëm për diskutim nga zhvilluesit kryesorë (RFC), por mund të pranohet në ekipin bazë pasi të përfundojë rishikimi dhe të rregullohen mangësitë e identifikuara.

Ky është versioni im i parë i abstraksioneve Rust për DRM nënsistem. Përfshin vetë abstraksionet, disa të vogla ndryshimet parakushte në anën C si dhe drejtuesi i GPU-së drm-asahi (për referencë se si përdoren abstraksionet, por jo domosdoshmërisht synojnë të zbarkojnë së bashku).

Këto arna aplikohen në majë të pemës në [1], e cila bazohet në 6.3-rc1 me shumë abstraksione/komitime mbështetëse të ndryshkut të shtuara sipër. Shumica e këtyre nuk janë parakushte për abstraksionet DRM. vetë, por vetëm nga shoferi.

Që nga dhjetori, kontrollori është përfshirë në paketën me bërthamën për shpërndarjen Asahi Linux dhe është testuar nga përdoruesit e këtij projekti.

Drejtuesi mund të përdoret në shpërndarjet Linux për organizojnë mjedisin grafik në dPajisjet Apple me SoC M1, M1 Pro, M1 Max, M1 Ultra dhe M2. Gjatë zhvillimit të drejtuesit, u bë një përpjekje jo vetëm për të rritur sigurinë duke minimizuar gabimet kur punoni me kujtesën në kodin e ekzekutuar në anën e CPU-së, por edhe për të mbrojtur pjesërisht nga problemet që lindin kur ndërveprojnë me firmware.

Në veçanti drejtuesi ofron lidhje të caktuara për strukturat e përbashkëta të memories i pasigurt me vargje komplekse treguesish të përdorur në firmware për të bashkëvepruar me kontrolluesin. Drejtuesi i propozuar përdoret në lidhje me drejtuesin asahi Mesa, i cili ofron mbështetje OpenGL në hapësirën e përdoruesit dhe kalon testimin e përputhshmërisë OpenGL ES 2. dhe është pothuajse gati për të mbështetur OpenGL ES 3.0.

Në të njëjtën kohë, shoferi që punon në nivelin e kernelit është zhvilluar fillimisht me mbështetjen e ardhshme për Vulkan API në mendje, dhe ndërfaqja e programimit për ndërveprim me hapësirën e përdoruesit është projektuar duke pasur parasysh UAPI-në e ofruar nga drejtuesi i ri Intel Xe.

Gjatë çështje të njohura përmenden si më poshtë:

  • Integrimi ekzistues Rust aktualisht nuk mbështet abstraksionet e ndërtimit si module, kështu që abstraksionet Rust janë të disponueshme vetëm për komponentët e integruar DRM.
  • DRM mbështetet shumë në modelin e "nënklasifikimit" për objektet e kontrolluesit, dhe kjo nuk i përshtatet Rust.
  • Aktualisht, zbatohet vetëm ajo që është e nevojshme për kontrolluesin (plus një sasi e vogël e
    shtesa të dukshme ku integriteti më i mirë i API-së ka kuptim).
  • drm::mm përfundon duke kërkuar një mutex të integruar në abstraksion, në vend të kësaj
    për ta deleguar atë tek përdoruesi me rregullat e zakonshme të ndryshueshmërisë së Rust.
    Kjo është për shkak se nyjet mund të hiqen në çdo kohë dhe ato operacione
    duhet të jetë në sinkron.
  • Në anën Mesa, aktualisht keni drejtuesin Gallium i cili është kryesisht tashmë në rrjedhën e sipërme (më shumë mungojnë pjesët UAPI) dhe
    kalon testet dEQP GLES2/EGL, me shumicën e GLES3.0 që kalon në
    Degët e sipërme të punës në vazhdim. Ky është një inxhinieri e kundërt e drejtuesve të komunitetit, kështu që përmendet se ka ende shumë për të bërë në këtë aspekt.

më në fund nëse jeni të interesuar të dinë më shumë për të, ju mund të kontrolloni detajet në lidhja e mëposhtme.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: AB Internet Networks 2008 SL
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.