Nyílt forrású driver érkezhet a Raspberry Pi GPU-jához

Címkék

A Raspberry Pi lapokon Broadcom VideoCore IV 3D GPU található. Sajnos ehhez a GPU-hoz jelenleg nincs teljesen nyílt forrású driver, ezért azok, akik a nyílt forrást részesítik előnyben, kénytelenek lenyelni a keserű pirulát és elfogadni azt, hogy jelenleg szükség van egy zárt forrású, bináris driver kóddarabra (blob) ahhoz, hogy a hardvert használni lehessen. Ez a helyzet most változhat.

Eben Upton, a Raspberry Pi projekt megálmodója és létrehozója, valamint a The Raspberry Pi Foundation társalapítója egyben a Broadcom Mobile és Wireless csoportjának a műszaki igazgatója is. Upton pénteken bejelentette a Broadcom blogján, hogy cége kiadta a Broadcom VideoCore® IV 3D grafikus alrendszer teljes dokumentációját és az OpenGL ES 1.1 / 2.0 driver stack teljes forrását. A forrás 3 cikkelyes BSD licenc alatt érhető el.

A Broadcom forráskód ajándékával van egy apró probléma. Mégpedig az, hogy az ebben a formában a BCM21553 mobiltelefon chiphez használható, a Raspberry Pi-n is alkalmazott BCM2835 SoC-hoz viszont nem.

A jó hír az, hogy Eben szerint a forrás portolása a BCM2835-höz nem túl bonyolult. Ha ez megtörténik, hozzáférhetővé válik a Raspberry Pi grafikus alrendszere blob használata nélkül is.

A The Raspberry Pi Foundation arra kéri a közösséget (egy kis ösztönzés mellett), hogy portolja a kiadott kódot a Raspberry Pi-hez. Aki legelőször sikerrel jár, pénzjutalmat kap.

Aki legelőször bemutatja, hogy játszható sebességgel fut a Quake 3 a Raspberry Pi-n ezzel a driverrel, annak 10 ezer dollár üti a markát. Bárki nevezhet. A szabályok itt olvashatók.

További részletek itt.

Hozzászólások

Javitsatok ki ha tevedek, de en ugy tudom, hogy a tenyleges driver eddig is nyilt volt. Volt is errol egy cikk kb. egy eve. Amit most megnyitottak az inkabb a GPU-hoz tartozo firmware. Az ARM mag eddig is nyilt kodot futtatott. Olyan ez mint a wifi driverek: a driver maga open source, de a hardware-t mukodteto kod mar nem.
(De tenyleg FIXME.)

"In common with every other ARM-based SoC, using the VideoCore IV 3d graphics core on the Pi requires a block of closed-source binary driver code (a “blob”) which talks to the hardware. In our case, this blob runs on the VPU vector processor of the BCM2835 (the SOC or System On a Chip at the heart of the Raspberry Pi); our existing open-source graphics drivers are a thin shim running on the ARM11, which talks to that blob via a communication driver in the Linux kernel."

--
trey @ gépház

Az jó lenne, mert ha jól tudom a zárt driver kód az oka annak, hogy az LVDS csatit nem lehet használni LCD/TFT panelek közvetlen meghajtására.

a hivatalos oldal kommentjei közt volt egy link, miszerint várható hivatalos dsi csatolós kijelző hamarosan
Liz írta "You’ll be able to do that later this year. https://twitter.com/ben_nuttall/status/439385861881593857/photo/1 – I’ll be writing some more about this in the coming weeks."

Utána néztem, bocsi. Valóban DSI csatlakozó. Viszont tényleg a bináris kód zártsága miatt nem lehetett eddig rátenni DSI kijelzőket.

"It doesn't matter if you know how the hardware works. Again, you cannot actually write the driver. DSI is a physical interface, ie it simply refers to the way the connector is formed (plus a few standard instructions and pinouts, but the standard bits aren't enough to make a screen work, they're things like "turn off" and "turn on"). What the signals actually mean varies from device to device. Each new device requires new code to talk to. You cannot write the driver that teaches the Pi to talk in those signals, because the DSI port is controlled by the GPU and not the CPU. We can't write code for the GPU, whose binary blob is thoroughly closed source and inaccessible to us, the users."

Forrás: http://www.raspberrypi.org/phpBB3/viewtopic.php?t=43676&p=351603

Így kell a közösséggel driver-t íratni.

A hír hallatán jobban örültem volna, ha az usb alrendszer gatyába rázásáért lenne ilyen jutalom. Nehéz megítélni, hogy a a broadcom soc-ban lévő usb vezérlő vagy az smsc chip drivere a bugosabb. Egyik kernellel a tunerek akadoznak, a másikkal a kártyaolvasótól hasal el a kapcsolat a külvilággal. Persze usb 1.1 sebességre kapcsolva minden szép és lassú :)