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

    DuckDuckGo AI Chat umožňuje "pokecat si" s GPT-3.5 Turbo od OpenAI nebo Claude 1.2 Instant od Anthropic. Bez vytváření účtu. Všechny chaty jsou soukromé. DuckDuckGo je neukládá ani nepoužívá k trénování modelů umělé inteligence.

    Ladislav Hagara | Komentářů: 1
    včera 14:22 | IT novinky

    VASA-1, výzkumný projekt Microsoftu. Na vstupu stačí jediná fotka a zvukový záznam. Na výstupu je dokonalá mluvící nebo zpívající hlava. Prý si technologii nechá jenom pro sebe. Žádné demo, API nebo placená služba. Zatím.

    Ladislav Hagara | Komentářů: 2
    včera 04:44 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 01:00 | Nová verze

    ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.

    Ladislav Hagara | Komentářů: 0
    18.4. 22:11 | IT novinky Ladislav Hagara | Komentářů: 0
    18.4. 20:55 | Nová verze

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.

    Ladislav Hagara | Komentářů: 2
    18.4. 17:22 | Nová verze

    Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 13
    18.4. 17:11 | Nová verze

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.

    Ladislav Hagara | Komentářů: 2
    18.4. 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 10
    18.4. 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 2
    KDE Plasma 6
     (68%)
     (11%)
     (2%)
     (20%)
    Celkem 566 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Proklaté Nouveau

    20.2.2010 16:40 | Přečteno: 2173× | 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: gtz | Brno
    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.