abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 18:11 | Komunita

Project Trident je desktopový operační systém aktuálně postavený na TrueOS, což je operační systém vycházející z FreeBSD, s grafickým prostředím Lumina. Vývojáři Tridentu oznámili, že přechází z TrueOS na Void Linux. Výhody ale i nevýhody přechodu v oficiálním oznámení.

Ladislav Hagara | Komentářů: 0
20.10. 13:22 | IT novinky

Samsung oznámil, že program Linux on DeX končí. Android 10 už nebude podporován. Linux on DeX umožňuje spouštět linuxový desktop a aplikace z vybraných telefonů od Samsungu připojených pomocí Samsung DeX.

Ladislav Hagara | Komentářů: 21
20.10. 12:00 | Komunita

Ubuntu slaví 15 let od vydání první verze. Přesně před patnácti lety, 20. října 2004, byla vydána první verze 4.10 s kódovým názvem Warty Warthog.

Ladislav Hagara | Komentářů: 1
19.10. 20:20 | Pozvánky

Ve středu 23. října 2019 se od 16.00 koná akce na téma Oracle Labs - Live for the Code. Představí projekty Oracle Labs, na kterých se pracuje i v České republice: Oracle Labs Data Studio a GraalVM. Místo konání: budova Oracle v Praze–Jinonicích. Vstup po registraci zdarma. Občerstvení zajištěno.

Ladislav Dobiáš | Komentářů: 1
18.10. 09:44 | Upozornění

Byly zveřejněny videozáznamy přednášek z konference LinuxDays 2019, která proběhla 5. a 6. října v Praze. Odkazy na videa společně s prezentacemi naleznete v programu, případně můžete jít rovnou na stránku video. Záznamy pořizovalo Audiovizuální centrum SiliconHill.

Petr Krčmář | Komentářů: 18
17.10. 18:55 | Nová verze

Bylo vydáno OpenBSD 6.6. Opět bez oficiální písně. Z novinek lze zmínit například sysupgrade(8).

Ladislav Hagara | Komentářů: 5
17.10. 08:36 | Nová verze

Vyšla nová verze monitorovacího řešení Centreon 19.10.0. Novinek je spousta (realtime API, podpora JIRA, vylepšený systém notifikací...), ale těmi nejdůležitějšími je pro mnohé uživatele podpora nové verze rrdtool 1.7.x a php 7.2. Systém tak půjde bez problémů provozovat na jiných distribucích než CentOS 7. Kompletní přehled novinek v seznamu změn. Předpřipravená appliance i samotné části jsou k dispozici na oficiálních stránkách.

Max | Komentářů: 0
17.10. 01:00 | Komunita

Dnes vyjde Ubuntu 19.10 s kódovým názvem Eoan Ermine. Přehled novinek v poznámkách k vydání. Ubuntu 20.04 LTS bude Focal Fossa.

Ladislav Hagara | Komentářů: 14
16.10. 22:11 | Zajímavý projekt

Padesátiny Unixu lze oslavit také hrou The Unix Game aneb na unixové roury pomocí Scratche.

Ladislav Hagara | Komentářů: 2
16.10. 21:44 | Komunita

Vývojáři svobodného 3D softwaru Blender oznámili, že nejnovějším firemním sponzorem Blenderu je společnost Adidas. Jedná se o úroveň Corporate Silver, tj. 12 tisíc eur ročně.

Ladislav Hagara | Komentářů: 37
Kdy jste naposledy viděli počítač s připojeným běžícím CRT monitorem?
 (20%)
 (4%)
 (11%)
 (39%)
 (24%)
 (2%)
Celkem 445 hlasů
 Komentářů: 23, poslední 20.10. 18:52
Rozcestník

Proklaté Nouveau

20.2.2010 16:40 | Přečteno: 2003× | Expresivní zabručení | Výběrový blog

Či snad prokleté? I když jsem neměl v plánu začít zrovna takto, nedalo mi to a už se prostě do situace musím vmísit. Pomalu ale jistě totiž začínám mít pocit, že přes to všechno o co se lidé v projektu Nouveau snaží a i přes to nakolik se v něm nadřou, za což jim jen tak mimochodem patří plně můj obdiv, začíná mít tento projekt status nechtěného. A to zcela neprávem. No prostě a jednoduše, neustálé navážení některých jedinců zde do projektu Nouveau mě už začíná pěkně štvát.

Nouveau a Gallium3D

…aneb kdo nevěří, ať tam běží.

Zprvu by bylo určitě vhodné zmínit, že stav celé věci je silně experimentální a v plně ve vývoji. I přestože podpora pro 3D na těchto ovladačích může existovat a v případě šťastnějších majitelů vybraných karet i fungovat (a v případě těch nejšťastnějších i bez pádu), vše co budete zkoušet je na vlastní triko a bez jakékoliv oficiální podpory. Ba co víc, jak vývojáři Gallia, tak Nouveau nechtějí zatím o žádných pádech ani slyšet, protože se pracuje na implementaci a na vychytávání bugů se dostane až bude vše řádně implementováno tak jak má být. Pamatujte tedy na nálepku EXPERIMENTAL a neotravujte prosím s naříkáním že Vám něco nejede ani vývojáře, ani lidi kolem sebe a pokud něco chcete, opravte či doimplementujte si to sami. Tolik tedy k varování na úvod.

I přesto všechno poměrně nedávno rozčeřili vody stojatého rybníka vývojáři Fedory s prohlášením, že plánují do Fedory číslo 13 zařadit experimentální balíček Mesy, který 3D akceleraci na ovladačích Nouveau zpřístupní. Moc se mi o vhodnosti tohoto rozhodnutí nechce polemizovat, místo toho bych byl radši kdyby si to každý sám zkusil a pak hodnotil. Už jen z toho důvodu, že pokud i akcelerace nepojede na vaší kartě tak jak má, každý bugreport se v budoucnu může hodit. A jak na to? Snadno. Jak jinak také?

Jednou z možností je všechno si na zelené louce zkompilovat. I když je tato varianta univerzální asi bych si ji nedovolil označit za tu snazší. Druhá varianta se objevila také poměrně nedávno a souvisí právě s plánem zařadit DRI driver Nouveau z projektu Gallium3D do dalšího vydání Fedory. Je jí binární balíček s názvem mesa-dri-drivers-experimental. Ten se nachází v repositářích testovací verze Fedory zvané Rawhide, ze které se v budoucnu stane právě stabilní třináctka. I když se nabízí možnost jak vyzkoušet tento balíček ze současné Fedory a to buď povýšením na Rawhide a nebo natažením balíčku a všech závislostí z repositáře, volil bych (resp. zvolil jsem) opět druhou možnost &ndash LiveCD. Jednak z toho důvodu, že rozvrtávat si produkční verzi Fedory by nebylo ono a jednak z toho důvodu, že asi ne všichni používají Fedoru. Navíc většinou toto sestavení obsahuje software tak čerství, že je ještě křupavý a tak se snižuje riziko nekompatibility z důvodu starých verzích softwaru (jestli by dovedl fungovat DRI driver s verzí DRM driveru ze současné Fedory jsem nezkoušel a radši bych to ani nedělal). Prozatím není k dispozici žádná Alfa ani Beta vývojové verze (a nebo o tom aspoň nevím), znovu se nám nabízí jedna čistě experimentální možnost. Některý z Nightly-live-builds sestavení testovací verze.

A zas si neodpustím velmi důrazné varování. Tato sestavení se vytvářejí automaticky bez zásahu lidské ruky v nějakých intervalech z toho co je v repositářích dostupné. Není u nich garantováno vůbec nic. Ani to že se vlezou na CD. A hlavně ne to, že budou fungovat. Pokud se tak náhodou stane, doporučuji zabrouzdat si v archivu a vyzkoušet třeba starší sestavení. Pokud ani to nepomůže, tak už jenom pustit se vlastnoručně do oprav. Po spuštění by měl být ovladač Nouveau v provozu, bohužel pouze se softwarovým renderem z Mesy, co se týče 3D. Takže už jen stačí doinstalovat balíček mesa-dri-drivers-experimental (Příkaz su -c 'yum install mesa-dri-drivers-experimental', pro ne-Fedoráky). Funkčnost si můžete snadno ověřit. Výpis z glxinfo by měl obsahovat něco jak o Nouveau, tak o Galliu. Viz screenshot níže. No a výsledek? Pro začátek více než uspokojivý.

Running synchronized to the vertical refresh.  The framerate should be
approximately 1/1096764487 the monitor refresh rate.
3397 frames in 5.0 seconds = 679.224 FPS
3407 frames in 5.0 seconds = 681.247 FPS
3402 frames in 5.0 seconds = 680.169 FPS
3401 frames in 5.0 seconds = 680.144 FPS
3402 frames in 5.0 seconds = 680.200 FPS
3401 frames in 5.0 seconds = 680.198 FPS
3401 frames in 5.0 seconds = 680.051 FPS
3404 frames in 5.0 seconds = 680.754 FPS
3402 frames in 5.0 seconds = 680.324 FPS
3401 frames in 5.0 seconds = 680.176 FPS
3405 frames in 5.0 seconds = 680.891 FPS
Ve srovnání s binárním nVidia ovladačem asi nic moc:
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
27060 frames in 5.0 seconds = 5411.882 FPS
26757 frames in 5.0 seconds = 5351.376 FPS
26814 frames in 5.0 seconds = 5362.782 FPS
26829 frames in 5.0 seconds = 5365.655 FPS
26839 frames in 5.0 seconds = 5367.709 FPS
26940 frames in 5.0 seconds = 5387.965 FPS
27127 frames in 5.0 seconds = 5425.346 FPS
27129 frames in 5.0 seconds = 5425.738 FPS
27135 frames in 5.0 seconds = 5426.919 FPS

ale je třeba mít na paměti, že spousta věcí ještě v ovladačích není implementováno. Mezi jinými také nějaká obdoba Powermizeru, která by se starala o správu napájení. Takže GPU vlastně běží po celou dobu na nejnižší Performance level. Odvážnější se mohou pokusit experimentovat s nvclockem. Já si na to netroufám. Na to si své karty zatím docela vážím. Dále mě docela překvapilo kolik času stráví ovladač během provozu v jaderném prostoru. Schválně jsem si to porovnal s binárním ovladačem a následoval šok, protože to bylo v porovnání s ním opravdu nic. Znova viz screenshoty. Jen tak pro zajímavost jsem si provedl menší testík:

nVidia:
real	1m0.032s
user	0m33.034s
sys	0m26.898s

Nouveau:
real	1m0.042s
user	0m6.752s
sys	0m19.841s
Cítím někde něco shnilého. Jo a jede na tom docela obstojně OpenArena. Co víc si pro začátek přát?

Jak se Nouveau zbavit?

Bohužel, nic není růžové a o Nouveau to platí dvojnásob. Z toho důvodu mnozí preferují binární ovladače nVidia. Abych přiznal barvu, mezi nimi i já. Na disku mám tento modul hlavně kvůli VDPAU, které se v Nouveau ovladačích asi ještě dlouho nevyskytne. Problém nastává v případě pokusí-li se někdo spustit binární ovladač a přitom Nouveau korektně neuklidí. Nouveau na rozdíl od starých nv ovladačů totiž pozůstává z jaderného modulu, který se stará jednak o jadernou část DRM, ale hlavně je zodpovědný za přepínání rozlišení (KMS) a provoz framebufferu. Takže v době jeho provozu drží nad kartou kontrolu, stejně jako se dříve dělo u starého nvidiafb. Pokus zavést jaderný modul binárního ovladače většinou končí neúspěchem:

NVRM: The NVIDIA probe routine was not called for 1 device(s).
NVRM: This can occur when a driver such as rivafb, nvidiafb or
NVRM: rivatv was loaded and obtained ownership of the NVIDIA
NVRM: device(s).
NVRM: Try unloading the rivafb, nvidiafb or rivatv kernel module
NVRM: (and/or reconfigure your kernel without rivafb/nvidiafb
NVRM: support), then try loading the NVIDIA kernel module again.
NVRM: No NVIDIA graphics adapter probed!

Korunku tomu všemu nasazuje inicializační systém Fedory u kterého se prefdm mermomocí snaží X-Server spustit a balíček v RPMFusion, který se o nějaký úklid moc nestará. Výsledek je, že po zavedení všech démonů se rozbliká obrazovka a po docela dlouhé době to skončí v konzoli, s čímž se samozřejmě velká spousta uživatelů neumí vyrovnat. Rád bych dodal, že to ani omylem není chyba Nouveau. Rozhodně to není chyba vývojářů Fedory, protože jde o externí repositář a s největší pravděpodobností to není ani chyba nVidie nebo maintainera toho balíčku (pokud by se ale s obviňováním začalo, tak bych začal v tomto pořadí od konce).

Znovu se nabízí dvě možné řešení tohoto problému. Jednodušší z nich je předat jádru při bootu parametr nouveau.modeset=0. I když se jaderný modul nouveau zavede, tento parametr způsobí, že se nebude inicializovat KMS a nebude tedy přebírat nad kartou kontrolu. Mělo by to mít jediný viditelný efekt: Žádný pěkný bootsplash při startu, ale pouze VGA konzole do doby než se spustí Xka. Oba moduly dovedou vedle sebe běžet aniž by se ovlivňovaly:

pata_amd               11269  1 
video                  20118  0 
output                  2213  1 video
nvidia              10692543  45 
nouveau               332213  0 
ttm                    48714  1 nouveau
drm_kms_helper         24584  1 nouveau
drm                   171181  3 nouveau,ttm,drm_kms_helper
i2c_algo_bit            5005  1 nouveau
i2c_core               26876  7 nvidia,videodev,i2c_nforce2,nouveau,drm_kms_helper,drm,i2c_algo_bit

Nevýhoda tohoto řešení je, že nouveau stále zabírá paměť i když se nepoužívá. Nabízí se tedy druhá možnost a tou je permanentní zákaz zavádění nouveau modulu. Bohužel, i když si to většina myslí, nestačí ho pouze zapsat do /etc/modprobe.d/blacklist.conf. Odpověď na otázku proč získáme, pokud blíže prozkoumáme initrd, který se automatický tvoří při instalaci jádra. Initrd musí obsahovat modul nouveau.ko aby mohl přepnout rozlišení, inicializovat framebuffer a na ten se mohl připojit plymouth, který je zodpovědný za bootsplash. Vše se musí provést co nejdříve po zavedení jádra, protože v době mezi zavedením jádra z GRUBu a samotnou inicializací grafické karty běží obyčejná VGA konzole. Dříve, před zavedením Dracutu do Fedory se o vytváření initrd staral nástroj mkinitrd. Ten prozkoumal jaký HW počítač obsahuje, potřebné moduly do obrazu nahrál a přidal jednoduchý inicializační skript ve kterém nebylo nic víc než insmod nouveau.ko. Pokud bylo potřeba modul zakázat, tak to šlo buď ruční editací toho skriptu a znovu-sestavením obrazu nebo znovu-sestavením obrazu nástrojem mkinitrd s patřičnými parametry. Od dob zavedení Dracutu do Fedory už nic takového neplatí. Samotný systém inicializace initrd se stal trošičku komplikovanějším, no bude stačit když řeknu, že obraz obsahuje většinu potřebných modulů a udev, který moduly zavádí. Při startu udev zkontroluje HW konfiguraci počítače a podle toho také zavádí moduly. Je potřeba mít na paměti, že všechno se děje ještě před samotným připojením disku na kterém je konfigurační soubor s blacklistem modulů. Není tedy možné aby se udev z initrd mohl dozvědět o nějaké změně, která se stala na disku, protože ten se spouští ještě dřív než jsou vůbec ovladače pro disk dostupné. Důkazem budiž to, že samotný initrd obsahuje kopii souboru blacklist.conf z disku, který se ovšem kopíruje v době sestavování obrazu initrd. Takže po přidání nouveau modulu do blacklistu je znovu potřeba sestavit initrd nástrojem dracut. A nebo by mělo stačit přeinstalovat jádro z repositáře, protože postinst skript z balíčku jádra se o řádné sestavení initrd pomocí nástroje dracut postará sám.

Závěr

Toť tedy vše k čemu jsem se chtěl vyjádřit. I když to zatím s projektem Nouevau nevypadá na první pohled nijak slavně a jeho vývoj se táhne už několik let, je třeba brát na vědomí, že se na něm podílí jen pár lidí a to bez jakékoliv pomoci z nVidie, (obsah původních nv driverů nechme prozatím být), bez dokumentace a celý vývoj probíhá spíše metodou pokus-omyl, kdy každý krůček(zápis do registru) je potřeba pořádně pochopit a otestovat. O to překvapivěji znějí zprávy, kdy se do projektu Nouveau daří implementovat věci, které neobsahuje ani binární ovladač od nVidie (v mém případě se jedná o podporu suspendu). Prostě a jednoduše, za mě Nouveau jednoznačně ruluje.

       

Hodnocení: 85 %

        špatnédobré        

Anketa

Projekt Nouveau
 (55 %)
 (5 %)
 (39 %)
Celkem 76 hlasů

Obrázky

Proklaté Nouveau, obrázek 1 Proklaté Nouveau, obrázek 2 Proklaté Nouveau, obrázek 3

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

20.2.2010 17:02 letec
Rozbalit Rozbalit vše Re: Proklaté Nouveau
Zajímavý článek.
20.2.2010 17:44 fraxinus | skóre: 20 | blog: fraxinus
Rozbalit Rozbalit vše Re: Proklaté Nouveau
~/.openarena/baseoa/q3config.cfg:

seta cg_drawFPS "1"
Grunt avatar 20.2.2010 17:52 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: Proklaté Nouveau
Pozdě. Znova se mi 400MB na LiveCD tahat nechce. Je pravda, že to lehce drhlo, ale IMHO v to má prsty synchronizace, která to přepínala z 60 na 30FPS.
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
20.2.2010 19:39 jozefmak
Rozbalit Rozbalit vše Re: Proklaté Nouveau
Hm, a aky presne je rozdiel medzi 'proklete' a 'proklate' ? Teda tusim, ze to prve bude zrejme prekliate a to druhe viacmenej nadavka, ale prelozit by som ju nevedel.
Grunt avatar 20.2.2010 19:52 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: Proklaté Nouveau
Yup. Přesně tak mi to vyhodil slovník když jsem hledal jak se to opravdu píše (V Angličtině a Slovenčině je to jednodušší o to, že pro popis obojího se používá jedno a to stejné slovo).
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
gtz avatar 21.2.2010 00:03 gtz | skóre: 27 | blog: merlins | Brno - Venkov / Rosicko
Rozbalit Rozbalit vše Re: Proklaté Nouveau
I Ty již bloguješ :)

No v FC10 i v FC12 je celkem hodně velký opruz rozchodit Nvidii tak, aby fungovala hned. V Suse tam jsem takové problémy jako v FC neměl (1click to vyřešil celkem rychle a bez restartu). Zkoušel jsem na FC10-12 více karet s NV a nikdy to nebylo bez problémů. Aspoň, že Nvidia je na tom lépe než ATI.
- nejhorší jsou trpaslíci ... Ti Vám vlezou úplně všude
Tomáš Bžatek avatar 21.2.2010 14:25 Tomáš Bžatek | skóre: 29 | Brno
Rozbalit Rozbalit vše Re: Proklaté Nouveau
Tolik nenavisti v takovem zbytecnem mnozstvi pismenek :-) Chce to premyslet pred koupi.
Koupim litajiciho tucnaka
michich avatar 21.2.2010 16:41 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: Proklaté Nouveau
Přiznej se, že jsi to nečetl a nechal ses jenom zmást nadpisem :-) Nenávistný mi ten zápisek vůbec nepřipadá.
Tomáš Bžatek avatar 22.2.2010 17:04 Tomáš Bžatek | skóre: 29 | Brno
Rozbalit Rozbalit vše Re: Proklaté Nouveau
Cetl, ale pravda jen tu druhou pulku. Nenavist nemusi pochazet jen z pera autora, ale v tom pripade ze software (dostala me ta hlaska NVRM). Nicmene ta druha veta stale plati (musim si pichnout, aby si to lidi konecne uvedomili). :-)
Koupim litajiciho tucnaka
17.12.2010 01:19 )))
Rozbalit Rozbalit vše Re: Proklaté Nouveau
ja poznám len l'Art Nouveau :-)

píšem sem s vedomím, že diskusia má 299 dní

len ma zaujímalo, či píšu študenti matematiky blogy v nejakom programovacom jazyku

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.