TECH HÍREK – Bár ehhez rengeteg adapter és szoftveres patch kell, Jeff Geerling megvalósította a lehetetlent a Raspberry Pi 5-ön!
Egy AMD Radeon RX 460-at (szóval ez már eléggé régi videókártya) tudott a Raspberry Pi 5 PCIe buszára csatlakoztatni, és ezzel 4K felbontással futtatta a DOOM 3-at és a Tux Racert. A Pi 5-nek egyetlen PCIe 2.0 sávja van, hogy a legtöbb külső kiegészítőt (leggyakrabban M2-es SSD-t) csatlakoztassunk rá. Geerling egy M2-es slotot használ a Pi 5-ön, amivel egy külső GPU-dokkolót csatlakoztat egy M2-Oculink adapterrel, és így köti az AMD videókártyáját a nem éppen ehhez használni miniszámítógéphez.
De ez nem olyan egyszerű: a Pi 5 PCIe csatlakozója mindössze 5W-nyi erőt tud biztosítani, és egy videókártyának egy PC-ben általában ez 75W szokott lenni (és ezen felül kell további tápcsatlakozót kötni rá attól függően, hogy mekkora fogyasztású a GPU). Ezért Geerling külső tápegységet alkalmazott az AMD kártyájának meghajtásához. Hardveresen ennyi az egész, de szoftveresen ez még bonyolultabb.
Geerling először egy olyan szoftveres patchet vetett be, amivel a PCIe sáv 2.0-ról 3.0-ra ugrik, ami a GPU sávszélességét megnöveli, ugyanis anélkül csak 1/8-a lenne, és ez a videókártya teljesítményét súlyosan lefojtaná. A Linux kernelt patchelni kellett, hogy a nyílt forráskódú AMDGPU drivert is magába foglalja, ugyanis ebben Arm támogatás van, és az RX 460-at is korrekt módon futtatja (Geerling azért ezt válaszotta, mert ez a kártya a Polaris architektúrán viszonylag új, és a driverek eléggé fejlettek, a kártya pedig elég olcsó és PCIe 3.0-s). Az Nvidia videókártyái azért nem jöhettek szóba, mert a Radeon kártyáihoz képest a nyílt forráskódú driverek alapos lemaradásban vannak. A kernel patchelése és újrafordítása nem maradt el.
Geerling szerint a grafikus gyorsítás a Chromium böngészőben, illetve a GPU-gyorsításos videófeldolgozás nem működött megfelelően. Úgyhogy játékokban többnyire jól működik az amúgy alaposan bonyolultan kivitelezhető rendszer, azon kívül nem annyira.
Forrás: Ars Technica, Jeff Geerling