Proposen la implementació d'un controlador GPU escrit a Rust, per a les Apple AGX G13 i G14

Linux Apple Rust

Aquest és un controlador força complet per a les GPU de les sèries Apple AGX G13 i G14.
El controlador avui és compatible amb els SoC

Es va donar a conèixer fa poc la notícia que s'ha proposat una implementació preliminar del controlador drm-asahi per a les GPU de les sèries Apple AGX G13 i G14 utilitzades als xips Apple M1 i M2 a la llista de correu de desenvolupadors del nucli de Linux.

El controlador està escrit a Rust i, a més, inclou un conjunt d'enllaços universals sobre el subsistema DRM (Direct Rendering Manager) que es pot utilitzar per desenvolupar altres controladors de gràfics a Rust.

El conjunt de pegats publicat fins ara s'ha proposat només per a la discussió per part dels desenvolupadors principals (RFC), però es pot acceptar a l'equip principal després que es completi la revisió i s'eliminin les deficiències identificades.

Aquesta és la meva primera versió de les abstraccions de Rust per al DRM subsistema. Inclou les pròpies abstraccions, algunes menors canvis de requisits previs al costat C, així com el controlador de GPU drm-asahi (per a referència sobre com es fan servir les abstraccions, però no necessàriament destinats a aterrar junts).

Aquests pegats s'apliquen a la part superior de l'arbre a [1], que es basa en 6.3-rc1 amb una gran quantitat de compromisos d'abstracció/suport de Rust agregats a a dalt. La majoria no són requisits previs per a les abstraccions de DRM. ells mateixos, sinó només del conductor.

Des de desembre, el controlador s'inclou a el paquet amb el nucli per a la distribució d'Asahi Linux i ha estat provat pels usuaris daquest projecte.

El controlador es pot utilitzar en distribucions de Linux per organitzar l'entorn gràfic en dispositius Apple amb SoC M1, M1 Pro, M1 Max, M1 Ultra i M2. En desenvolupar el controlador, es va intentar no només augmentar la seguretat en minimitzar els errors en treballar amb la memòria al codi executat al costat de la CPU, sinó també protegir parcialment contra els problemes que sorgeixen en interactuar amb el microprogramari.

En particular, el controlador proporciona certs enllaços per a estructures de memòria compartida no segures amb cadenes complexes de punters utilitzats al microprogramari per interactuar amb el controlador. El controlador proposat s'usa juntament amb el controlador asahi Mesa, que brinda compatibilitat amb OpenGL a l'espai de l'usuari i passa les proves de compatibilitat amb OpenGL CA 2 i està gairebé llest per admetre OpenGL ES 3.0.

Alhora, el controlador que funciona a nivell de kernel es desenvolupa inicialment tenint en compte el suport futur per a l'API de Vulkan, i la interfície de programació per interactuar amb lespai de lusuari es dissenya tenint en compte la UAPI proporcionada pel nou controlador Intel Xe.

sobre els problemes coneguts s'esmenten els següents:

  • La integració de Rust existent actualment no permet construir abstraccions com a mòduls, de manera que les abstraccions de Rust només estan disponibles per als components DRM integrats.
  • DRM es basa en gran mesura en el patró de subclasses per a objectes de controlador, i això no es correspon bé amb Rust.
  • Actualment, només s'implementa el necessari per al controlador (més una petita quantitat de
    extres obvis on té sentit una millor integritat de l'API).
  • drm::mm acaba requerint un mutex incorporat a l'abstracció, al seu lloc
    de delegar això a l'usuari amb les regles habituals de mutabilitat de Rust.
    Això és perquè els nodes es poden descartar en qualsevol moment i aquestes operacions
    necessita estar sincronitzat.
  • Al costat de Mesa, actualment es compta amb el controlador Gallium que majoritàriament ja està aigües amunt (falten els bits UAPI majoritàriament) i
    passa les proves dEQP GLES2/EGL, amb la major part de GLES3.0 passant a
    Branques upstream de treball en curs. Aquesta és una enginyeria inversa controlador comunitari, per la qual cosa s'esmenta que encara queda molt per fer en aquest aspecte.

Finalment si estàs interessat a poder conèixer més sobre això, Pots consultar els detalls a el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.