Portál AbcLinuxu, 8. května 2025 14:13

Průvodce vývojem Nouveau - 35

10. 3. 2008 | David Heidelberger
Články - Průvodce vývojem Nouveau - 35  

Podpora od Phoronixu: publicita a hardware. Problémy s Nouveau po odstranění proprietárního modulu. Práce na adaptéru textur Xv. Podpora AGP na PPC. A další.

Přibližně dva týdny uběhly a je zase čas na další TiNDC (The irregular Nouveau-Development companion).

Jak víte, pro sledování chyb používáme freedesktop.org. Pokud máte problémy, které nemůžete vyřešit dotazem na IRC, přidejte tam prosím chybu, abychom mohli případné problémy najít.

Pokud to uděláte:

Když vložíte chybu a pak na ni zapomenete, tak tím moc nepomůžete sobě ani nám. Potřebujeme stálou odezvu!

Když jsme začali publikovat naše TiNDC na Phoronixu, bylo to proto, že jsme chtěli více publicity. Naši Wiki četli lidé, kteří o nás už věděli, ale jejich čísla nestoupala. Phoronix ukázal zájem o náš projekt publikováním novinek ohledně našich TiNDC a příspěvků v Gitu.

Tedy do určité míry se to skvěle hodilo (a pořád hodí): Získáme více publicity a Phoronix získává informace přímo od zdroje.

Pár týdnů po začátku spolupráce přišel Phoronix s návrhem, jestli by nám nemohli pomoci věnováním nějakého přebytečného hardwaru. Nechtěli jsme být nezdvořilí, ani jsme nechtěli vypadat chamtivě, takže jsme v podstatě odmítli s tím, že jsme dobře vybaveni kompletní řadou karet od nVidia, kromě těch nejdražších.

Následná e-mailová korespondence však odhalila, že někteří naši vývojáři pracují na velmi starém hardwaru, zatímco Phoronixu se na lepší železo práší. Takže jsme souhlasili s tím, že Marcheu převezme nějaký hardware (procesory, základní desky a RAM), který pak předá vývojářům na FOSDEM nebo jim ho přímo pošle.

Děkujeme Phoronixu za jejich skvělou podporu!

Ohledně FOSDEM: budou tam od nás alespoň 3 lidé (Ahuillet, Malc0 a Marcheu). Pokusím se tam dostat a zajistit zpravodajství jako minulý rok, ale mám zdravotní potíže, takže se možná nebudu moci dostavit.

Citace týdne:

<fatal_> psaní grafického ovladače je těžké. Psaní grafického ovladače pro hardware, ke kterému nemáte žádnou dokumentaci, bylo popsáno jako "nemožné". Nouveau je projekt, který mění nemožné na možné. Nečekejte, že se to stihne přes noc.

Aktuální stav

Už nějaký čas máme problémy s kartou NV4x, když chceme použít Nouveau po odebrání blobu pomocí rmmod. Stillunknown ten problém vystopoval: bylo to kvůli jednomu neznámému registru, který blob používá (a my ho ignorovali). Po nastavení registru na výchozí hodnotu 0x01 to začalo fungovat (git commit).

Marcheu poslal hromadu patchů pro adaptér textur Xv. Jak bylo zmíněno v předchozím vydání, přibylo:

nouveau - blitter nouveau - blurri

Při porovnání je vidět několik rozdílů. Několik testů bohužel ukázalo, že nový filtr má za následek rozmazanější obraz v porovnání s blitter. Marcheu má podezření, že to způsobuje nějaká chyba v přesnosti výpočtu v jeho kódu a hledá dál. Také jsme měli problém s endianitou na PPC. Marcheu opravil adaptér textur na PPC, aby se prohodily U a V složky videa.

A nakonec: karty NV34 jsou při použití tohoto adaptéru příliš pomalé. Použijte raději blitter/overlay.

Potom bude pracovat na Gallium3D pro NV3x, dokud to nebude připraveno na předání do schopných rukou někoho dalšího.

Malc0 a Stillunknown připravují Randr1.2, aby mohl být použit jako výchozí kód v Nouveau. K tomu účelu vytvořili "Meta-Bug", který zaznamenává všechny chyby spojené s Randr1.2, které zatím brání v přechodu: https://bugs.freedesktop.org/show_bug.cgi?id=14405.

Věci se hýbají také v oblasti PPC. Nejprve našel Moondrake způsob, jak obejít problém, který na PPC způsoboval DMA záseky (resetování X). Při odesílání velkého množství dat na kartu bylo nutné častěji synchronizovat FIFO. Kelnos zkusil Moondrakův narychlo udělaný patch a zjistil, že jeho záseky jsou také pryč (aktualizace: ačkoliv to vypadá, že to trochu pomohlo, problém úplně nezmizel).

Přišlo se však na to, že tento patch se skutečné chybě jen vyhýbá. Protože na noteboocích Powerbook v současné době nefunguje dočasné ukládání přes AGP [writebacks], nechával se příkazový buffer ve video RAM. A vypadá to, že v rámci video RAM docházelo k nějakému narušení paměti, které způsobovalo to DMA zatuhávání. Benh a Marcheu přišli na pomoc a vzduchem létalo spousta patchů, ale definitivní řešení, jak na powerboocích rozchodit AGP, se najít nepodařilo. Poslední Moondrakův patch je zde: https://bugzilla.mozilla.org/show_bug.cgi?id=14284 (už to bylo začleněno do gitu) - řeší zatuhávání a prozatím používá PCI GART. Během řešení problémů s PPC si Marcheu všiml, že DDX kód pro používání GART na PPC je totálně stupidní.

Během testování se objevil nápad porovnat některá nastavení registrů na Linuxu a OSX. Kelnos nabídl, že zmenší svůj linuxový oddíl, aby mohl nainstalovat OSX. Přihlásil se však Sbriglie, který měl ten samý hardware a OSX tam už běžel. Nabídl, že otestuje Airliedův radeontool pro OSX (tgz), ale nepovedlo se mu ho zprovoznit.

Moondrake to přesto nevzdal a zkusil rozdílné režimy, vypnul SBA (Side Band Addressing) a nakonec zamezil načítání uninorth-agp (ovladač použitý pro Apple northbridge). Tímto trikem se konečně problémů se záseky a deformacemi zbavil.

Malc0 kromě toho opravil problém popsaný jako "NV34 funkční jen na každý druhý pokus", když se s ním setkal také na x86 (git commit).

Ok, nyní tu máme obvyklý seznam krátkých témat:

Potřebujeme pomoc

Jako vždy:

Prosím, zkontrolujte na NV4x opravu "spuštění Nouveau po blobu" od Stillunknowna. A pokud se setkáte se zatuháváním na NV4x (nebo ještě lépe NV40), prosím kontaktujte Stillunknowna.

A ano, hledáme i testery pro PPC (vývojáře také :-)). Stejně tak patche pro BSD.

Tento článek je překladem Nouveau Companion 35.

Související články

Průvodce vývojem Nouveau - 34
Grafické karty nVIDIA
Andy Ritger o vývoji ovladačů NVIDIA

Odkazy a zdroje

Nouveau Companion 35

Další články z této rubriky

Týden na ITBiz: Lepší šifrování se stává stále větší prioritou aplikací
Týden na ScienceMag.cz: Hubbleovo napětí by mohl vyřešit pomalu rotující vesmír
Týden na ITBiz: Halucinace balíčků při programování AI
Týden na ScienceMag.cz: Kvantová elektronika v křemíku a diamantu
Týden na ITBiz: DeepSeek nic nemění, umělá inteligence vyžaduje obrovské investice do cloudové infrastruktury

Diskuse k tomuto článku

10.3.2008 00:17 qwerty
Rozbalit Rozbalit vše Re: Průvodce vývojem Nouveau - 35
Odpovědět | Sbalit | Link | Blokovat | Admin
I při přehlédnutí spousty překlepů atd.* je ten překlad dost nepřesný. Tearing není trhání, ale roztékání - když už doslovně, tak roztrhávání - writeback není dočasné ukládání, ale zpětný zápis z karty ven a v "chyba v přesnosti v jeho kódu" by se mělo zdůraznit, že je to přesnost číselná.

* - nedovedu si představit, jak to celý vypadalo před redakčním zásahem
David Heidelberg avatar 10.3.2008 00:48 David Heidelberg | skóre: 46 | blog: blog_
Rozbalit Rozbalit vše Re: Průvodce vývojem Nouveau - 35
Díky za připomínky, příště se pokusím být přesnější :-)
10.3.2008 07:36 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše Re: Průvodce vývojem Nouveau - 35
I při přehlédnutí spousty překlepů atd.* je ten překlad dost nepřesný.
Moje chyba. Omlouvám se za obojí.
writeback není dočasné ukládání, ale zpětný zápis z karty ven
Ten překlad jsem zvolil záměrně. Myslím, že lépe vystihuje, o co vlastně jde (i když doslova je to zpětný zápis) - a abych předešel nejasnostem, je v závorce původní termín.
10.3.2008 07:48 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše Re: Průvodce vývojem Nouveau - 35
I při přehlédnutí spousty překlepů atd.* je ten překlad dost nepřesný.
Moje chyba. Omlouvám se za obojí.
Věřím, že teď už je snad vše opraveno. Šlo ale naštěstí jen o pár opomenutí špatných tvarů slov, která jsem zanesl při opravách překladu, takže David je v tom nevinně.
Jardík avatar 10.3.2008 00:30 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: Průvodce vývojem Nouveau - 35
Odpovědět | Sbalit | Link | Blokovat | Admin
Já se v těch číslech nevyznám. Co konkrétně jsou grafiky nv40, nv35, atd ... mám 8600gt a nevím, která z nich to je.
Věřím v jednoho Boha.
David Heidelberg avatar 10.3.2008 00:44 David Heidelberg | skóre: 46 | blog: blog_
Rozbalit Rozbalit vše Re: Průvodce vývojem Nouveau - 35
Doporučuji si prohlédnout tuto stránku: http://nouveau.freedesktop.org/wiki/CodeNames
10.3.2008 00:51 WiFi
Rozbalit Rozbalit vše Re: Průvodce vývojem Nouveau - 35
U nich na stranke to najdes ale inak...

NV4x - GF6xxx a GF7xxx

NV5x - GF8xxx+

Co sa teda tyka tvojej karty, tak je to zle a este to nejaku dobu zle bude.
David Watzke avatar 10.3.2008 11:24 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Průvodce vývojem Nouveau - 35
8600GT má čip G84.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
David Heidelberg avatar 10.3.2008 00:56 David Heidelberg | skóre: 46 | blog: blog_
Rozbalit Rozbalit vše Re: Průvodce vývojem Nouveau - 35
Odpovědět | Sbalit | Link | Blokovat | Admin
Jenom aktuální stav:

všechny moje karty (TNT2/NV05, GF2-MX200 64MB/NV11, GF4 440MX/NV17 a GF7600GS/NV4B) fungují naprosto v pohodě (včetně RandR1.2, DVI výstupu atd.).

3D ovladač se celkem taky pohnul kupředu - před pár měsíci dával glxgears na NV4B 300 FPS, teď kolem 1700 :-)
Mobilní telefony a tablety s GNU/Linuxem v roce 2020. Proč byste se měli zajímat?
10.3.2008 01:35 Jirka | skóre: 36
Rozbalit Rozbalit vše Re: Průvodce vývojem Nouveau - 35
Odpovědět | Sbalit | Link | Blokovat | Admin
Jak tak čtu o vývoji ovladače, na něco tak obludného jako je grafická karta, metodou pokus-omyl, tak se divím, že ti vývojáři ještě nespáchali hromadnou sebevraždu. Já bych na to nervy neměl. :-)
David Heidelberg avatar 10.3.2008 02:56 David Heidelberg | skóre: 46 | blog: blog_
Rozbalit Rozbalit vše Re: Průvodce vývojem Nouveau - 35
Odhaduju, že když mají plné zubu programování ovladače, tak si jdou zahrát OpenArenu (minimálně od té doby co běhá 3D) a mám pocit, že sebevražda při hraní této hry není zas tak častým jevem :-D
10.3.2008 10:11 linear
Rozbalit Rozbalit vše Re: Průvodce vývojem Nouveau - 35
Kdybys vedel co dela za picoviny 99% programatoru (presun dat z jedne tabulky do jine a nasledny tisk formulare), tak bys pochopil ze vyvoj takoveho ovladace je vzrusujici a zabavna cinnost a rozhodne by ji asi nemenili.
10.3.2008 10:25 Jirka | skóre: 36
Rozbalit Rozbalit vše Re: Průvodce vývojem Nouveau - 35
A jak víš, že to nevím? hm?

Navíc, kdyby 99% dělalo informační systémy, tak jste jen těžko mohl napsat ten svůj komentář.

A ta "vzrušující zábava" založená na zdlouhavé a nudné sérii pokus-omylů mi opravdu moc zábavná nepřijde.
10.3.2008 10:14 mAXxZ!
Rozbalit Rozbalit vše Re: Průvodce vývojem Nouveau - 35
Odpovědět | Sbalit | Link | Blokovat | Admin
Je super, že se někdo rozhodl to prostě psát, já bych teda na to fakt neměl :D. A co OSS ATI drivery ? Teď po vydání specifikací jsem neviděl ještě nikde, žádné info jak bude vývoj pokračovat či pokračuje ?
10.3.2008 17:17 Honza
Rozbalit Rozbalit vše Re: Průvodce vývojem Nouveau - 35
Co si mysli vyvojari: http://people.freedesktop.org/~ahuillet/irclogs/nouveau-2008-03-07.htm#0226

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.