Javasolják egy Rust nyelven írt GPU-illesztőprogram megvalósítását az Apple AGX G13 és G14 számára

Linux Apple Rust

Ez egy meglehetősen átfogó illesztőprogram az Apple AGX G13 és G14 sorozatú GPU-khoz.
A mai vezérlő kompatibilis az SoC-kkel

A közelmúltban jelent meg az a hír a drm-asahi illesztőprogram előzetes megvalósítását javasolták sorozatos GPU-khoz Az Apple M13 és M14 chipekben használt Apple AGX G1 és G2 a Linux kernel fejlesztői levelezőlistáján.

A vezérlő Rust nyelven van írva plusz, tartalmaz egy sor univerzális hivatkozást a DRM alrendszerről (Direct Rendering Manager), amely felhasználható más grafikus illesztőprogramok fejlesztésére a Rustban.

A kiadott patch készlet mostanáig csak megvitatásra javasolták a központi fejlesztők (RFC), de a felülvizsgálat befejezése és a feltárt hiányosságok eltávolítása után felvehető a törzscsapatba.

Ez az első verzióm a Rust abstractions for DRM-hez alrendszer. Magát az absztrakciót is tartalmazza, néhány kisebb előfeltétel változtatások a C oldalon, valamint a drm-asahi GPU illesztőprogramon (az absztrakciók használatára vonatkozó hivatkozásként, de nem feltétlenül közös leszállásra szánták).

Ezeket a foltokat a fa tetején alkalmazzák [1]-ben, amely a 6.3-rc1, sok absztrakció/rozsda támogatás committel hozzáadva felett. Ezek többsége nem előfeltétele a DRM-absztrakcióknak. maguktól, de csak a sofőrtől.

December óta a vezérlő benne van a csomag a kernellel az Asahi Linux disztribúcióhoz és a projekt felhasználói tesztelték.

Az illesztőprogram Linux disztribúciókon használható a grafikus környezet megszervezése dApple eszközök SoC M1, M1 Pro, M1 Max, M1 Ultra és M2-vel. Az illesztőprogram fejlesztése során nemcsak a biztonság növelésére törekedtek a CPU-oldalon végrehajtott kódban végrehajtott memóriával végzett munka során előforduló hibák minimalizálásával, hanem részben a firmware-rel való interakció során felmerülő problémák elleni védelemre is.

Különösen az illesztőprogram bizonyos kötéseket biztosít a megosztott memóriastruktúrákhoz nem biztonságos a firmware-ben a vezérlővel való interakcióhoz használt összetett mutatósorokkal. A javasolt illesztőprogram az asahi Mesa meghajtóval együtt használatos, amely felhasználói terület OpenGL támogatást biztosít, és átmegy az OpenGL ES 2 kompatibilitási teszteken. és majdnem készen áll az OpenGL ES 3.0 támogatására.

Ugyanakkor a kernel szinten működő illesztőprogram kezdetben a Vulkan API jövőbeli támogatását szem előtt tartva fejlesztették ki, és a felhasználói térrel való interakcióhoz szükséges programozási felületet az új Intel Xe illesztőprogram által biztosított UAPI-val tervezték.

Át a ismert problémák a következők szerepelnek:

  • A meglévő Rust-integráció jelenleg nem támogatja az absztrakciók modulként történő építését, így a Rust-absztrakciók csak a beágyazott DRM-komponensekhez érhetők el.
  • A DRM nagymértékben támaszkodik a vezérlőobjektumok "alosztályozási" mintájára, és ez nem illik a Rusthoz.
  • Jelenleg csak az van megvalósítva, ami a vezérlőhöz szükséges (plusz egy kevés
    nyilvánvaló extrák, ahol van értelme a jobb API integritásnak).
  • A drm::mm végül az absztrakcióba beépített mutexet igényel
    hogy ezt a szokásos Rust-mutathatósági szabályokkal delegálja a felhasználóra.
    Ennek az az oka, hogy a csomópontok bármikor eldobhatók, és ezek a műveletek
    szinkronban kell lennie.
  • A Mesa oldalon jelenleg a Gallium illesztőprogramja van, amely többnyire már upstream (az UAPI bitek többnyire hiányoznak), és
    megfelel a dEQP GLES2/EGL teszteknek, a legtöbb GLES3.0 megfelelt
    A folyamatban lévő munkák upstream ágai. Ez egy közösségi meghajtó visszafejtés, ezért megemlítjük, hogy még sok a tennivaló ezen a téren.

végre, ha az vagy érdekelne többet megtudni róla, a részleteket itt ellenőrizheti a következő link.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.