Portál AbcLinuxu, 30. dubna 2025 12:48
Dnes vyvíjaný hlavne reverzným inžinierstvom uzavretých NVidia ovládačov.Co já vím, tak výhradně. NVidia, na rozdíl od AMD, neuvolňuje dokumentaci ke svému hardware, natož aby se podílela na vývoji svobodných ovladačů. Z tohoto pohledu je to pro mě malý zázrak, jak rychle to běhá.
natož aby se podílela na vývoji svobodných ovladačů.Mám pocit, že se podílí (podílela?) na 2D ovladači nv, který je v xorg.
Ale Gruntík, podľa mňa spravili jednoduchý test na FPS.Tak třeba na NV30 nejsou implementované DMA přenosy na sběrnici pro Xvideo, takže to musí dřít procák (resp Xorg). Ano, mohl bych spustit nějaký Benchmark na Mplayeru, vykreslit to do nádherného grafu a ten předhodit zmateným pobíhajícím lamkám. Akorát nevím jaký by to mělo smysl, krom šíření FUDů a zakládání zbytečné paniky. Testovat se má až je driver hotový a ideálně by neměly být žádné rozdíly. Pokud budou, tak je někde administrační chyba a dělat podle takové kraviny nějaké závěry…
Dalo by sa experimentovať, ale výsledok podľa mňa plne odráža výkon ovládačov.Jakých? Po implementaci PowerManagementu? No, nebudu se zbytečně rozčilovat…
Nechcem ťa rozčuľovaťTak prosím nedělej závěry (zvlášť takové jasné jak nebe po bouřce) a nebo si je aspoň nech pro sebe.
ale pokiaľ Nouveau PowerManagement nezvláda, tak to odráža realitu, či?Přesně o tomhle mluvím. Je velice těžké zadefinovat co to vůbec je Nouveau, protože to co má většina dister (ve stable větvi) je tisíc let starý nefunkční křáp a ne Nouveau. Myslím si, že ta nálepka „tězce WIP” tam není jen tak pro srandu králíkům. Realita přitom vypadá trochu jinak.
Užívateľ si nainštaluje jeden, alebo druhý ovládač a dopadne rovnako ako v teste.Uživatel nemá co testovat. Když už, tak by to min. měl dělat člověk jež se podílí na vývoji Nouveau a nebo aspoň ví _jak_ testovat.
Pokiaľ máš nejaký nápad, ako to otestovať napíš, pokúsim sa to zrealizovať a nerozčuľuj saTak zprvu je potřeba mít v provozu co nejnovější verzi Nouveau ovladače. Nejlépe z GITu. Pokud si líný a nebo se bojíš kompilace je tu možnost použít Rawhide Nightly-Build, který má binární verzi jež se blíží GITu jak jen to jde. Pak je potřeba mít takovou kartu a takovou verzi ovladače aby v ní PowerManagment fungoval. Pozná se to snadno z výpisu jádra (zde přímo mé):
[ 2.044340] [drm] nouveau 0000:02:00.0: 3 available performance level(s) [ 2.044599] [drm] nouveau 0000:02:00.0: 0: memory 100MHz core 169MHz shader 338MHz voltage 1150mV fanspeed 100% [ 2.045066] [drm] nouveau 0000:02:00.0: 1: memory 200MHz core 275MHz shader 550MHz voltage 1150mV fanspeed 100% [ 2.045524] [drm] nouveau 0000:02:00.0: 2: memory 400MHz core 500MHz shader 1000MHz voltage 1320mV fanspeed 100% [ 2.045996] [drm] nouveau 0000:02:00.0: c: memory 199MHz core 275MHz shader 550MHz voltage 1150mVI když jsou PF-úrovně detekovány v Nouveau není implementována (zatím – též je tam nálepka WIP) jejich dynamická změna na základě zatížení, ale je je možné měnit pouze staticky. Je k tomu rozhraní v sysfs. Konkrétně soubory /sys/class/drm/cardX/device/performance_level*. Soubor /sys/class/drm/cardX/device/performance_level má S_IWUSR atribut a funkce nouveau_pm_set_perflvl (,která se zápisem spouští) má v sobě simple_strtol(), takže předpokládám, že chce přímo číslo úrovně na kterou má přepnout. Problém je v tom, že operace zápisu do toho souboru není povolena dokud parametr pro modul perflvl_wr nebosahuje hodnotu TURE (nejlépe asi skrze parametry předávané při bootu jádra). Ovšem popis není moc povzbudivý:
parm: perflvl:Performance level (default: boot) (charp) parm: perflvl_wr:Allow perflvl changes (warning: dangerous!)Na to abych to zkoušel mám svoji kartu docela rád. Ale pokud se do toho chceš pustit, stačí přepnout kartu na nejvyšší PF-level. Jinak v některých verzích (s jistým patchem) je možné do souboru /sys/class/drm/cardX/device/performance_level zapsat řetězec
customa pak si nastavit takty a napěťové úrovně dle vlastní chuti. A vsadil bych se že s takovou by pak klidně mohlo Nouveau přebít v testech i binární nVidia blob (a proto takové testy s jedním barem nemám rád – prostě nic neřeknou). Takže s chutí do testování.
Komunita není až tak moc dobře schopná sama o sobě vyvíjet ovladače pro grafické karty, jednoduše na takhle specifickou věc nejsou lidi.Je pravdou že lidí co by skutečně znalo střeva Nouveau není moc, ale ono se asi ani není moc co divit. Já do něj mrknul a můj názor je, že až tak daleko od toho binárního ovladače nemá, protože není ani nemožné najít kupu nedokumentovaných zápisů do nějakých specifických registrů za nějakým účelem. Prostě není moc lidí na takovém levelu. Ale jinak se na vývoji podílejí myslím (a možná především) zaměstnanci RedHatu. Doporučuju si ten kód aspoň zběžně projít. Ono napsat ovladač na takové monstra není jen ráno vstát a večer už pařit Bad Company na otevřeném driveru. Zásadní problém už je vůbec vyznat se v tom. A v tom směru to moc nVidia neulehčuje, takže osobně spíš funkčnost Nouveau ovladače považuju za malý zázrak.
Kolik dokumentace bylo už vydánoKolik? Jsem zas něco zaspal?
Kolik? Jsem zas něco zaspal?Tím jsem nenarážel na Nouveau, ale na grafiky od ATI.
On je problém v tom, že pro Linux žádná graficky náročná hra neexistuje.On je spíš problém v tom, že jediný kdo se pořádně zajímá o grafické enginy a ještě si dává tu práci s jejich uvolňování je John Carmack (a jeho tým).
Nevím, kdo je John CarmackDie, you son of a bitch!
Komunita sama o sobě tohle zvládat na 100 % nemůže, nemá ani takové testovací podmínky jako výrobce.Zajímavé je, že u ostatního hardwaru to za stejných podmínek jde... Btw. znáte to o tom nechval dne před večerem? Dopsal jsem ten příspěvek o dva vejš, nechal jsem stroj uspat s resetem a ejhle, vytuhlo to tak, že nešlo ani SSH. To by mě zajímalo, jak se něco takového ladí... (tipuju, že blbě)
Zajímavé je, že u ostatního hardwaru to za stejných podmínek jde...Problém je v tom, že GPU je strašně moc typů a málokdo má na to si je všechny pořídit. Ty podmínky nejsou vůbec stejné. U TV nebo ethernet karet jsou ceny někde jinde a ten vývoj není až takové překotné šílenství. Neznám jiný typ hardware, pro který je třeba psát ovladače, kde by jediný výrobce vyprodukoval nový model čipu co pár týdnů.
Problém je v tom, že GPU je strašně moc typů a málokdo má na to si je všechny pořídit. Ty podmínky nejsou vůbec stejné.No jistě, chybí tu historie vývoje a lidi se zkušenostmi. Z ostatních hledisek je to IMO skoro totéž a to s tou historií nakonec IMO smaže čas.
Komunita není až tak moc dobře schopná sama o sobě vyvíjet ovladače pro grafické karty, jednoduše na takhle specifickou věc nejsou lidi.Copak lidi, největší problém je, že od NVidie nelze získat dokumentaci (možná pod nějakým NDA - ale v ten moment z toho nelze udělat otevřený software). To AMD alespoň něco dodá.
Nvidia je modul, je zaveden do jádra "jádrem", né že modul zavede (koho co) jádroNo ty si taky dobrý překrucovač reality. V první řadě dává pokyn k zavedení uživatel.
GPL je prostě nedokončená licenceAle prd s máslem.
Navíc má v ČR GPL zřejmě neplatnou část - tu o zříkání se škody, kterou občanský zákoník nepřipouší.Toto by bylo též dobré někdy (hlavně někde jinde) probrat, protože úplně jistý si tím též nejsem.
Říkám Vám, že Linux jednou skončí. A skončí přesně na těchto detailech a hlavně na neschopnosti tyhle detaily reálně řešit – všichni z nás co žijeme zažijeme pád Linuxu.Tak promluvily hvězdy... Mimo jiné, zase jsi zapomněl na to, že ses rozhodl přestat sem přispívat.
Právě grafická karta s 3D akcelerací je dostatečně složitá věc, aby se na tom začali věci projevovat.Kdežto SATA/SCSI řadiče, síťové karty, plánovač atd. atp. jsou věci úplně jednoduché, takže se a nich neprojeví nic... A nebo - jako dycky - meleš nesmysly. Grafická karta s 3D akcelerací je hardware jako každý jiný. Když jsou specifikace, jsou (časem) i ovladače.
. Grafická karta s 3D akcelerací je hardware jako každý jiný. Když jsou specifikace, jsou (časem) i ovladače.
Napsat ovladač pro moderní grafickou kartu je velmi složité. To, že je "časem" někdo napíše, je dost na houby, protože "časem" může být daný model dávno zastaralý. Zack Rusin to vystihl takto:
In general writing graphics drivers is hard. The number of people who can actually do it is very small and the ones who can do it well are usually doing it full-time already. Unless the company, which those folks are working for, supports open drivers, the earliest someone can start working on open drivers is the day the hardware is officially available. That's already about 2 years too late, maybe a year if the hardware is just an incremental update. Obviously not a lot of programmers have the motivation to do that. Small subset of the already very small subset of programmers who can write drivers. Each of them worth their weight in gold (double, since they're usually pretty skinny).
To, že je "časem" někdo napíše, je dost na houby, protože "časem" může být daný model dávno zastaralý.Může a taky nemusí. Asi se nedá očekávat, že funkční ovladač bude pro nejnovější model karty, co stojí deset tisíc, ale dost možná už bude v době, kdy ta karta bude stát jako starší model třeba tři. Nevím jak ty, ale já nakupuju přesně v tomhle segmentu. A btw.:
Unless the company, which those folks are working for, supports open drivers, the earliest someone can start working on open drivers is the day the hardware is officially available.AMD otevřené ovladače podporuje. Nevybavuju si, jak brzo vydávají specifikace, ale aspoň je vydávají. A ještě něco - kolik her pro Linux, co by opravdu využily ten výkon ve 3D, znáš? Já moc ne, takže když mi to přehrává video a případně (bonus) na tom funguje Enemy Territory a Open Arena, jsem spokojenej člověk.
A ještě něco - kolik her pro Linux, co by opravdu využily ten výkon ve 3D, znáš? Já moc ne, takže když mi to přehrává video a případně (bonus) na tom funguje Enemy Territory a Open Arena, jsem spokojenej člověk.To je taky na prd. Co tak nějak odpadnul icculus, je to bída.
Může a taky nemusí. Asi se nedá očekávat, že funkční ovladač bude pro nejnovější model karty, co stojí deset tisíc, ale dost možná už bude v době, kdy ta karta bude stát jako starší model třeba tři. Nevím jak ty, ale já nakupuju přesně v tomhle segmentu.
Moje aktuální karta (Radeon HD 3850) mě stála něco přes 2 000 Kč v létě 2008. Pokud si dobře pamatuji, tak v té době fungovalo jen 2D. Nyní nějak funguje 3D a nedávno dokonce i power management, přesto jsem přešel na proprietární ovladač, který mě pozitivně překvapil.
AMD otevřené ovladače podporuje. Nevybavuju si, jak brzo vydávají specifikace, ale aspoň je vydávají.
Jenže jak říká Rusin - psaní ovladačů je velmi obtížné a lidí, kteří toto dovedou, je málo. A tito lidé už to nejspíš dělají, jenže píší proprietární ovladače jako full-time job.
A ještě něco - kolik her pro Linux, co by opravdu využily ten výkon ve 3D, znáš? Já moc ne, takže když mi to přehrává video a případně (bonus) na tom funguje Enemy Territory a Open Arena, jsem spokojenej člověk.
Mně to taky stačí, ale to není podstatné. Tohle je bludný kruh. Nejsou hry, protože nemáme kvalitní ovladače. A ovladače nejsou, protože je vlastně nepotřebujeme, když stejně není co hrát.
Nejsou hry, protože nemáme kvalitní ovladače.Tohle je blbost. Hry nejsou, protože se výrobcům nevyplatí patlat s portem pro Linux - málo uživatelů a těch jenom s Linuxem je ještě míň.
Málo uživatelů je jistě hlavní důvod, ale problémy s ovladači také hrají určitou roli.A o jaké problémy jde? Pokud někdo chce hrát na Linuxu hry, kde je potřeba akcelerace, má nVidii, používá proprietární ovladač a nemá problém, může hrát dle libosti. V ovladačích to není. Výrobci her chtějí vydělávat peníze a port pro Linux jim v tom nijak nepomůže. Ne dokud bude mít Linux na desktopech (čistě Linux, ne dual-boot) zastoupení řádově desetiny procenta.
A o jaké problémy jde?
Neúplná funkčnost, nestabilita, špatný výkon.
Pokud někdo chce hrát na Linuxu hry, kde je potřeba akcelerace, má nVidii, používá proprietární ovladač a nemá problém, může hrát dle libosti.
To je pohled uživatele. Z pohledu producenta hry to znamená, že port pro už tak minoritní platformu (Linux) by ještě museli ladit pro další subplatformy (nVidia x AMD, proprietární x otevřený ovladač), což se nemůže vyplatit. Nebo podporovat jen nVidia, což vyvolá příval špatné publicity od naštvaných majitelů AMD karet. Samozřejmě, že kdyby byl Linux masová herní platforma, tak tyto problémy překonají, ale to už se zase točíme v kruhu. Nejsou hry, protože je nikdo nekupuje. Nikdo hry nekupuje, protože vlastně žádné nejsou.
Neúplná funkčnost, nestabilita, špatný výkon.Přečti si celý odstavec - tyto vlastnosti se týkají některých ovladačů. Nemusíš je používat. (Teda pokud sis nekoupil špatně/vůbec podporovanou grafiku s tím, že ji budeš provozovat pod Linuxem a hrát s ní hry, ale v takovém případě bys byl s odpuštěním blb.)
Z pohledu producenta hry to znamená, že port pro už tak minoritní platformu (Linux) by ještě museli ladit pro další subplatformy (nVidia x AMD, proprietární x otevřený ovladač)Neřeší tohle náhodou OpenGL?
Nebo podporovat jen nVidia, což vyvolá příval špatné publicity od naštvaných majitelů AMD karet.Co znamená podporovat nVidia? Psát hru na míru jedné kartě nebo několika? Právě OpenGL (DirectX) slouží k tomu, abys zastřel rozdíly mezi jednotlivými typy HW. Milé firmě stačí říct "funguje to pod OpenGL" a špatná publicita je vyřešená. (Nefunguje vám to? To je ale chyba ovladače, ne naše, obraťte se na výrobce) A pořád platí, že než tohle všechno řešit kvůli 20 uživatelům, to se víc vyplatí se na to vybodnout a vyvíjet jenom pro majoritní OS, kde se schovávají významnější peníze. Ovladače a jejich kvalita jsou věc vyloženě podružná; i kdyby byly všechny fuknční (a i kdyby byly ty hry), Linuxu by to o tolik víc uživatelů nepřineslo.
Neřeší tohle náhodou OpenGL?
Teoreticky ano, ovšem k tomu jsou potřeba dobře fungující ovladače.
Co znamená podporovat nVidia? Psát hru na míru jedné kartě nebo několika? Právě OpenGL (DirectX) slouží k tomu, abys zastřel rozdíly mezi jednotlivými typy HW.
Pokud vím, tak i některé DirectX hry se optimalizují pro různé GPU a CPU. Jenže pro Windows se to asi vyplatí.
A pořád platí, že než tohle všechno řešit kvůli 20 uživatelům, to se víc vyplatí se na to vybodnout a vyvíjet jenom pro majoritní OS, kde se schovávají významnější peníze
S tím souhlasím, jen upozorňuji, že špatné ovladače tuto situace ještě zhoršují.
Když si vzpomenu na ty vaše perly ohledně "rychlosti programovacího jazyka" nebo diskuze "k užívání software z pohledu práva", ani jedno oko nezůstane suché
Podle mého Linux nakonec na tomto ztroskotá – to mu časem zlomí vazMyslím, že nikoliv. Co by na to říkali velcí hráči jako je RH/SUSE? Ono se ani nejedná o GPL apod. ale o nechuť výrobců psát drivery pro OpenSource operační systémy (namátkou hi-scannery Canon - nejsou ani komerční ani free).
Kedysi tu na Ábičku (neviem to vyhrabať) bola aj debata o tom ako NVidia vkladá do svojich uzavretých ovládačov mŕtve slučky.Skús porovnať výkon XRenderu s
nvidia
a nouveau
.
Problem je, ze ty proprietarni ovladace jsou staticky linkovane (kvuli lepsi prenositelnosti) a hlavne tech knihoven je opravdu hodne, vcetne vdpau, CUDA atd + jeste nejake ty aplikace.
Kdyz srovnate primo samotny jaderny modul nvidia.ko a nouveau_dri.ko, tak ten rozdil je cca 6MB, cili pouze dvojnasobny - a to uz je celkem realny rozdil.
To aj staré nv behalo v 2D ako blesk.To teda neběhalo.
p7zip - Wrapper on 7zr, a 7-zip file archiver with high compression ratio SYNOPSIS p7zip [-d] [-h|--help] [file] -h print this help -d decompress file
p7zip -d 266.45-Quadro-win7-winvista-32bit-english-whql.exe /usr/bin/p7zip: 266.45-Quadro-win7-winvista-32bit-english-whql.exe: unknown suffix -- ignoredV samotnem exa-ci je minimalne 10 png obrazku. Cely exac je podle me instalator. Nevim, jak tomu rikate Vy.
goldenfish@goldenfish:/tmp$ find ./ -type f -name '*png' | wc -l 38Co dale mi napisete k fetu ? gf
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.