Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 40 reacties

Een opensource-project heeft als doel om via reverse engineering tot een grafische driver voor Mali-gpu's van ARM-chips te komen. Het project zal in februari op een bijeenkomst voor ontwikkelaars in BelgiŽ officieel onthuld worden.

Drivers die volledig opensource zijn voor de gpu's die gecombineerd worden met ARM-chips zijn er nog niet, maar mogelijk gaat hier verandering in komen. Het bedrijf CodeThink en met name de Belg Luc Verhaegen blijken namelijk de drijvende kracht achter een project voor het reverse engineeren van de grafische driver voor de Mali-gpu. Verhaegen is X.org-ontwikkelaar en voormalig developer van Suse.

Het project richt zich op de Mali-400 met ondersteuning voor OpenGL 2.0 en de Mali-200 met OpenGL ES 1.1/2.0- en OpenVG 1.1-ondersteuning. CodeThink hoopt dat het bedrijf ARM zelf betrokken zal raken bij het project. Er moet nog veel gebeuren voor het eerste resultaat vrijgegeven kan worden, maar volgens Phoronix is het project nu al verder dan de poging van de Free Software Foundation om de PowerVR-driver te reverse engineeren. Op de FOSDEM-bijeenkomst die begin februari in Brussel plaatsvindt maakt Verhaegen meer bekend over het project.

ARM Mali-400 MP

Moderatie-faq Wijzig weergave

Reacties (40)

Dat je niet ziet waarom is waarschijnlijk omdat je er minder dan voldoende van weet om hier een uitspraak over te doen. In een driver voor een gpu zit enorm veel kennis gepropt. Het bevat algoritmes welke miljoenen aan research hebben gekost en je concurrent ga je die miljoenen echt niet in de schoot werpen. Daarnaast is het ook nog een veel werk om het te implementeren waarvoor je personeelskosten hebt betaald. Tenslotte onthult een driver veel over de hardware waarvoor het geschreven is. De waarde hiervan is moeilijk te berekenen maar met enkele miljoenen kom je hier zeker niet toe. Het nut van de concurrentie veel wind uit de zeilen te halen zal waarschijnlijk niemand ontgaan.

Verder kan ik getuigen dat de gereverse engineerde oplossingen hier enkele jaren achterlopen op de closed source oplossingen. En dat is de termijn wat nodig is voor de producent om zijn investering ten gelde te maken. De opensource drivers waaraan de fabrikanten zelf meewerken laten ze dan ook bewust achterlopen en de gevoelige waardevolle IP zal slechts langzaam worden vrijgegeven.

Daarnaast vind ik het wel apart dat dit in Belgie gelanceerd word. In Belgie was immers een afdeling van ARM aan het werk welke oa aan de mali heeft gewerkt. Deze afdeling is al een tijd gesloten maar ik veronderstel niet dat de ex-werknemers hun kennis mogen inzetten voor een opensource project.
Drivers zijn ook gewoon software en delen van de drivers vallen dan ook vaak onder meerdere softwarepatenten, daardoor is het vaak onmogelijk om de drivers open-source te maken, zelfs als de fabrikant dat wil.
Als het onder patenten valt is er geen vuiltje aan de lucht om het openbaar te maken, want bij een patent moet je beschrijven hoe het werkt.
Enige wat een probleem zou kunnen geven is de betaling van licenties.
Maar dat laat ook weer meteen zien waarom software-patenten geen goed idee zijn.
Het is echter wel een probleem om zaken opensource te maken wanneer de documentatie van de chip-fabrikant onder NDA vallen. (Non-disclosure Agreement)
Er zijn heel veel fabrikanten die gedetailleerde informatie in elk geval voor een bepaalde tijd onder NDA laten vallen. Puur om te voorkomen dat concurrentie de ideeŽn steelt.

Echter is dat ook steeds minder een issue en zou je software-concepten veel beter onder een NDA kunnen laten vallen dan specificatie van aansturing van hardware.
Een concept implementeren kost tijd en als dat pas bekend is wanneer het in de winkel ligt heb je een behoorlijk voordeel. Echter hardware implementatie is door kenners op dat gebied vaak niet zo lastig zelf te bedenken.

En persoonlijk ben ik van mening dat de keuze tussen 2 chips heel snel uit zal komen op de chip die het meest ondersteund wordt (en het meest simpel aan te sturen is). De prijs speelt dat al iets minder mee, omdat grootschalige ondersteuning ook het veiligstellen is van ontwikkeltijd en meer garanties biedt op langjarige levergaranties van dezelfde chip of in elk geval een compatible chip.

Kortom, software patenten zijn niet het probleem (op licenties na) en NDA's op hardware wat in de winkel te krijgen is is een achterhaald concept.
Het zou voor de eindgebruiker fijn zijn dat alle drivers open-source zouden worden, maar dat is niet genoeg. Een open-source licentie maakt het porteren naar Linux een stuk eenvoudiger, maar dat wil niet zeggen dat het in de Linux kernel kan worden opgenomen.

Kijk bijvoorbeeld eens naar ZFS van Sun. Dat is een geweldig filesysteem, maar ondanks dat het open-source is kan het niet worden opgenomen in Linux vanwege de CDDL licentie. Linux is nu bezig met een alternatief (btrfs), maar dat duurt nog jaren voordat het op het niveau van ZFS zit.

Je bent als bedrijf eigenlijk wel gek om iets onder GPLv3 uit te brengen i.v.m. de onmogelijkheid om nog een patent te kunnen gebruiken. Daarmee zet je de deur voor je concurrenten meteen wagenwijd open. Natuurlijk kun je ervoor kiezen een andere licentie te gebruiken, maar dan wordt adoptie in Linux toch wel wat lastig.
Je bent als bedrijf eigenlijk wel gek om iets onder GPLv3 uit te brengen i.v.m. de onmogelijkheid om nog een patent te kunnen gebruiken. Daarmee zet je de deur voor je concurrenten meteen wagenwijd open. Natuurlijk kun je ervoor kiezen een andere licentie te gebruiken, maar dan wordt adoptie in Linux toch wel wat lastig.
Er zijn 2 redenen om iets te patenteren:
- geld voor licenties vangen
- zorgen dat de concurrentie jou niet kan dwarsbomen door te zorgen dat jij zelf licentiegeld moet gaan betalen.

Ik durf wel te stellen dat beide redenen elkaar eigenlijk uitsluiten. Oftewel het is het een of het ander. Vaak worden patenten namelijk als ruilmiddel ingezet zodat bedrijven elkaars patenten vrij kunnen gebruiken.
Bij die 2e reden moet je dus best wel veel kosten maken om je ontwikkeling veilig te stellen.
Je moet namelijk een patent aanvragen in verschillende delen van de wereld en je hebt redelijk wat juridische kosten om het patent veilig te stellen danwel te handhaven.
Als je een groot bedrijf bent zoals IBM/Philips/enz. dan is dat niet zo'n probleem, maar voor kleine bedrijven kan het handig zijn om de boel algemeen beschikbaar te maken en zodoende te voorkomen dat anderen het niet kunnen patenteren. (al is dat met de laatste wijzigingen aan het patent-systeem in de VS een beetje onderuit gehaald)

Onder GPL uitbrengen heeft nog een nadeel wat het voor de concurrentie lastiger maakt.
Je moet namelijk de delen die je gebruikt die onder GPL vallen zelf ook vrij geven en nog belangrijker aanpasbaar maken. Oftewel je moet je eigen software modulair op gaan zetten zodat in theorie iemand het GPL deel zou kunnen aanpassen en kunnen koppelen aan jouw applicatie.
Dat maakt het voor de concurrentie wat vervelender, wat in wezen ook je doel is.
Bovendien, opensource drivers klinkt leuk maar of het nou werkelijk zo aanlokkelijk is voor een fabrikant? Android is veruit de meest succesvolle Linux distro ooit en gebruikt volop closed source drivers (ook die PowerVR dingen die Intel heeft), geen enkele OEM klaagt daarover. nVidia heeft een closed source driver (+ compleet eigen windowing subsystem) en is stukken beter dan wat de open source community in elkaar heeft geknutseld voor Intel en AMD graphics. Als nVidia hun source vrijgeeft is het eerste wat de community gaat doen de code in de AMD/Intel drivers hergebruiken, en dat is wel het laatste waar nVidia op zit te wachten. Voor nVidia is het allemaal geen idealisme of hobbyisme, ze verkopen voor bijna $1 miljard per jaar aan gpu's voor grafische workstations, een markt die harde $$$ betaalt voor goede OpenGL performance - en dat is naast Windows en Solaris ook Linux-based hardware. Voor ARM en PowerVR geldt hetzelfde, hun gpu technologie laat de schoorsteen roken, en om dat dan allemaal maar openbaar te maken...

Het lijkt erop dat dit project eerder vanuit ideologie wordt opgezet, dan vanuit noodzaak.

[Reactie gewijzigd door Dreamvoid op 22 januari 2012 13:07]

Android is veruit de meest succesvolle Linux distro ooit en gebruikt volop closed source drivers (ook die PowerVR dingen die Intel heeft), geen enkele OEM klaagt daarover.
Natuurlijk klaagt hier geen enkele OEM over ze krijgen al deze zaken van Google.
Bovendien, opensource drivers klinkt leuk maar of het nou werkelijk zo aanlokkelijk is voor een fabrikant?
Het gaat helemaal niet om fabrikanten maar om de distro's. Voor de distro waar ik momenteel aan meewerk on deze naar ARM te porten is momenteel nog geen enkele 3D driver voor SGX, Mali, ULP GeForce etc. Vooral omdat openSUSE hardfp gebruikt i.p.v. softfp.
is stukken beter dan wat de open source community in elkaar heeft geknutseld voor Intel en AMD graphics.
De Intel OSS drivers zijn door Intel ontwikkeld, ze werken prima.
Het lijkt erop dat dit project eerder vanuit ideologie wordt opgezet, dan vanuit noodzaak.
Zoals ik al zeg distro's hebben deze drivers nodig.
Hopelijk komt er ook een opensource Tegra GeForce driver zoals deze ook bestaat voor de GForce GPU's in de vorm van nouveau.

Op dit item kan niet meer gereageerd worden.



Nintendo Switch Samsung Galaxy S8+ LG W7 Samsung Galaxy S8 Google Pixel 2 Sony Bravia A1 OLED Microsoft Xbox One (Scorpio) Apple iPhone 8

© 1998 - 2017 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True

*