Izšla odprtokodna gonilnika za grafike Nvidia in Qualcomm Adreno

Matej Huš

15. apr 2012 ob 20:39:34

Z grafičnimi gonilniki za odprtokodne operacijske sisteme, kot je Linux, je križ. Odprtokodnih verzij gonilnikov tako ali tako večidel ni mogoče dobiti, ponudijo pa proizvajalci včasih prevedene zaprtokodne gonilnike. To sicer ni v duhu Linuxa, a je vseeno boljše kot nič. AMD (oziroma bivši ATI) je še najbolj vzoren, saj za svoje izdelke izdajo specifikacije in imajo zaposlene ljudi, ki se ukvarjajo s pripravo odprtokodnih gonilnikov. Nvidia je že predlani povedala, da odprtokodni gonilniki niso njena prioriteta niti njen problem, zato so uradni gonilniki za Linux zaprtokodni. Letos je sicer postala članica Linux Foundation, tako da mogoče lahko pričakujemo kakšen korak naprej.

Toliko bolj priljubljen za Nvidiine grafične kartice je zato odprtokodni gonilnik Nouveau, ki ga je odprtokodna skupnost sestavila z vzvratnim inženiringom uradnega zaprtokodnega gonilnika za Linux. Projekt se je začel leta 2006 in do danes Te dni je gonilnik dosegel stabilno verzijo, kar pomeni, da je postal standardni del stabilne verzije jedra.

Glavna prednost uporabe gonilnikov Nouveau je odprtost, s čimer je poskrbljeno za podporo; Nvidia namreč iz svojih zaprtokodnih gonilnikov v novih verzijah podporo za starejše kartice preprosto črta. Nouveau podpira vse kartice od Rive TNT dalje. Slabosti so seveda nepopolna podpora vsem funkcionalnostim. Nouveau še vedno ne podpira SLI, 3D Vision in OpenCL. Slednji je sicer v povojih, saj so februarja predstavili prve delujoče drobce. Še pomembneje, ročna podpora preklapljanju frekvence in voltaže je še vedno eksperimentalna in na večini čipov ne deluje pravilno - posledično se gonilnik zelo slabo obnese na prenosnih računalnikih, ki se zaradi te pomanjkljivosti občutno bolj grejejo in porabljajo opazno več energije. Po drugi strani pa so v Nouveau uspeli brez pomoči Nvidie dodati polno podporo za OpenGL 2.1 in 3.0 in celo CUDA. Hitrost je prav tako pomemben faktor in test več grafičnih kartic je pokazal, da Nouveau zlasti pri novejših še vedno zaostaja za uradnimi gonilniki.

Drugi odprtokodni gonilnik, ki je izšel, je za Qualcommove čipe Snapdragon (grafični del se imenuje Adreno). Spisal ga je Rob Clark, ki je zaposlen pri konkurenci Texas Instruments na projektu Linaro, a je to počel v prostem času in njegovo početje nima povezave z delodajalcem. Pripravil je gonilnik z imenom Freedreno, in sicer prav tako z vzvratnim inženiringom.