Apple videodekóder‑meghajtó került az upstream Linux kernel elé felülvizsgálatra

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

Sofus Forstreuter egy 14 javítócsomagból álló sorozatot küldött be a Linux kernel levelezőlistára felülvizsgálatra, amely az Apple Video Decoderhez (AVD) készített meghajtót vezeti be. Ez a visszafejtett, nyílt forráskódú driver lehetővé teszi a hardveres videodekódolást az Apple M1, M2 és M3 gépeken. Az Apple Video Decoder H.264, H.265 és VP9 formátumokat támogat, M3-tól felfelé pedig AV1-et is.

Várható, hogy az AVD Linux driver idővel az M4, M5, M6 és Neo SoC‑kon is működni fog, a frissebb hardverek támogatásához szükséges firmware fejlesztése már el is indult. Az Asahi Linux a saját AVD firmware‑ét ebben a tárolóban teszi elérhetővé. Az AVD Linux driveren évek óta dolgoznak, beleértve a visszafejtési munkát is. A driver a Video 4 Linux 2 (V4L2) M2M stateless decoder API megvalósítását használja.

Az Apple Video Decoder hardvertervéről Sofus a javítócsomag-sorozat kísérőlevelében ezt írta:

„Az AVD több szempontból is szokatlan, mind videodekóderként, mind pedig Apple Silicon SoC‑k IP blokkjai között. Ahelyett, hogy a szokásos módon minden paraméterhez külön regisztert használna, az AVD‑t egyetlen regiszteren keresztül programozzuk. Emiatt számít az írások sorrendje, és arra is figyelni kell, hogy ne írjunk gyorsabban, mint ahogy a hardver feldolgozza az adatokat. Ezt úgy oldottuk meg, hogy a driver az „utasításokat” egy „szegmensekből” álló listába írja. Egy közös függvény küldi be ezeket a hardvernek, és minden alkalommal megvárja, amikor a hardver lemarad.

A blokk tartalmaz egy Cortex‑M3 társprocesszort is, amely aláíratlan kódot fogad. A CM3 nem feltétlenül szükséges, de ez az egyetlen módja annak, hogy dekódolási állapotot jelző IRQ‑kat kapjunk. Jelenleg a CM3 csak a dekódolás finomhangolásához kapcsolódó konfigurációt kezeli, és minden IRQ‑t továbbít az AP‑nek [1]. A jövőben ez fogja kezelni az utasítások beküldését is, ami várhatóan csökkenti az energiafogyasztást, és az első tesztek szerint a dekódolás is valamivel gyorsabb lehet.”

Az AVD javítócsomagok mostantól elérhetők felülvizsgálatra a Linux kernel levelezőlistán, és a media subsystem fán keresztül egy későbbi kernel verzióba is bekerülhetnek.