PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : nouveau: Man benötigt Hilfe!


liquid
2007-08-17, 11:13:23
Hallo,

ich beobachte schon seit geraumer Zeit das nouveau Projekt welches einen freien Treiber für nvidia Grafikkarten schreibt.
http://nouveau.freedesktop.org/wiki/

Da das ganze auf einer Art 'reverse engineering' aufbaut ist natürlich insbesondere die Mitarbeit der community gefragt. Und das ist nichtmal so schwer. Momentan werden sogenannte mmio-dumps von Geforce FX Karten benötigt. Welche Karten genau: dazu gucke man einfach mal auf die Homepage.

Das ganze ist auch kein Hexenwerk. Man lädt sich den Source runter, kompiliert, lädt das Kernelmodul und spielt ein wenig mit 3D Applikationen rum (grobe Vorgehensweise). Dabei werden Daten gesammelt, insbesondere darüber wie der Treiber mit der Karte kommuniziert. Die packt man dann und schickt sie den nouveau Entwicklern.

In diesem speziellen Falle kann man sie wohl auch direkt im IRC ansprechen.

Ich mache hier mal ein wenig Werbung, weil hier das ja ersten das 3DCenter ist, wo massig nv Karten vertreten sein sollten. Und ein paar Linux user gibt es hier ja auch.

Also wer sich immer schon über den closed-source nv Treiber aufgeregt hat weil irgendetwas nicht so lief wie es sollte, oder weil nach einem Kernelupdate gar nichts mehr lief, der kann ja mal gucken ob er ein paar Minuten seiner Zeit investiert und den Entwicklern mit dumps aushilft. Und auch wer zufrieden mit den nv Treibern ist (solls ja auch geben *g*), der ist sicherlich auch willkommen.

Ich selbst bin auch nur Nutzer, also habe erstmal direkt nichts mit den Projekt zu tun. Ausser hin und wieder den nouveau Treiber testen, neue dumps machen wenn nvidia einen neuen Treiber released. Und halt so weiter.

Wäre schön wenn es einige Reaktionen gibt! :-)

Gruß,
liquid

Gast
2007-08-17, 17:39:32
Gute Idee hier ein bisschen Werbung dafür zu machen. Habe auch gleich mal einen Dump von meiner FX5900 angefertigt. Kann übrigens dieses, auf den Wiki-Seiten erwähnte, Skript sehr empfehlen: http://www.ping.de/sites/koala/script/createdump.sh
Einfach nur runterladen, ausführen und warten. Macht alles selbständig (source downloaden, kompilieren, etc) und man muss danach nur noch das fertig erstellte Archiv per Mail versenden.

liquid
2007-08-17, 20:08:38
Ich sollte erwähnen dass das vom Gast genannten createdump.sh Script nicht genau das macht was ich im ersten Post erwähne.

createdump.sh erstellt einen renouveau dump. Das hilft den Entwicklern zwar auch, aber momentan werden mmio dumps benötigt. Diese gehen etwas über das hinaus was man mit dem renouveau tool herausfinden kann.

Die nouveau Entwickler haben da zwei Methoden an verwertbare Daten zu kommen:
1) renouveau: das Tool führt ein paar OpenGL Anwendungen aus und protokolliert den Zustand der Karte vor und nach der Ausführung des Codes. Änderungen der Register werden geloggt, den Log kann man dann den devs zukommen lassen
2) mmio-trace: hängt sich zwischen Treiber und Hardware und protokolliert dort. Es gibt kein Standardverfahren wie so ein dump ablaufen sollte. Man 'hookt' das Modul, startet X und probiert einfach ein paar OpenGL Applikationen durch - wobei man möglichst viel Funktionalität des NV Treibers abdecken sollte. Was dann zwischen gfx-hw und Treiber geschieht wird aufgezeichnet. Danach kann man den log noch parsen, damit wird er lesbar. Packen und ab damit zu den Entwicklern.

Gast
2007-08-17, 22:37:59
Also wer sich immer schon über den closed-source nv Treiber aufgeregt hat weil irgendetwas nicht so lief wie es sollte, oder weil nach einem Kernelupdate gar nichts mehr lief, der kann ja mal gucken ob er ein paar Minuten seiner Zeit investiert und den Entwicklern mit dumps aushilft. Und auch wer zufrieden mit den nv Treibern ist (solls ja auch geben *g*), der ist sicherlich auch willkommen.
nv ist der offene Treiber :/

liquid
2007-08-18, 00:02:55
Du weißt was gemeint war ;)

Gast
2007-08-18, 14:11:20
Darf ich fragen was dieser offene treiber besser machen soll als der offizielle von nVidia ? Ausserdem gibt doch schon einen offenen treiber ?

Gast
2007-08-18, 18:58:26
Darf ich fragen was dieser offene treiber besser machen soll als der offizielle von nVidia ?
offen sein
Ausserdem gibt doch schon einen offenen treiber ?
keinen mit 3d-beschleunigung

liquid
2007-08-18, 19:54:53
Genau, der jetzt offenene nv-Treiber kann erstens nur 2D, stellt also absolut keine 3D-Beschleunigung bereits. Zweitens ist der Code unleserlich, das hat nVidia durchgeboxt. Man kann also kaum nachvollziehen was da jetzt genau gemacht wird. Drittens ist er an vielen Stellen noch buggy, was insbesonders einer der Gründe ist warum die Entwickler von nouveau das machen.

Also nochmal Übersicht:
nv: offener Treiber, nur 2D, obfuscated code
nvidia: closed-source Treiber von nVidia, 3D-Beschleunigung, Unterstützung von älteren Karten nur über die sogenannten legacy Treiber
nouveau: open-source Treiber für die (fast?) gesamte nVidia Kartenfamilie. Mittlerweile recht ordentlichen 2D Support und kommender 3D-Support

Ich benutze ja auch den closed-source nvidia Treiber, aber XRandR bekomme ich damit nicht stabil zum Laufen. 2D ist langsam, selbst Fenster verschieben erzeugt auf meinem 3500+ A64 mehr CPU-Auslastung als wenn ich dies auf meiner i915 Karte im Laptop mache.
Dann gibt es sporadische Abstürze, system lockups oder kernel oops die definitiv durch den nvidia Treiber kommen. Unter Windows habe ich die Probleme nicht und das System ist absolut stabil.

Mein Kollege hat mit einer Laptop nv-Karte ständig Probleme wegen der legacy Treiber Geschichte. Dazu ist seine CPU Auslastung bei normalen 2D Operationen noch höher als bei mir.

Solche 'Kleinigkeiten' stören mich halt.

Bei meiner Intel i915 kann ich wenigstens mal sowas wie einen Debug-Treiber bauen und etwas rumtesten. Mein letzter Bugreport wurde innerhalb von einem Tag gefixt, man muss halt nur die richtigen Informationen liefern. Und an die komme ich bei einem closed-source Treiber einfach nicht ran.

Mir ist schon klar dass das für den Otto-Normal-User absolut schnurzegal ist, aber ich fahre wesentlich besser mit dem OS-Modell da ich mich selbst auch einbringen kann. Dadurch gebe ich den Community etwas zurück, schließlich nehme ich ja auch sehr viel.

Gast
2007-08-20, 19:01:35
Hmmm... schon klar dass der offizielle nicht perfekt ist, kleine bugs, nervige eigenarten, und, und, und gibt es ja auch im Windows treiber..., man könnte sicherlich einige sachen verbessern. Aber wieso kommen jetzt einige hobbyprogrammierer mit gar keinem zugang zu nvidia plötzlich auf die idee dass sie es besser machen können als die leute welche die eigentliche hardware gebaut haben ? Das treiberentwicklungsteam hat natürlich nicht die hardware designt, aber sie arbeiten warscheinlich eng mit den leuten zusammen welche genau wissen was gut und was nicht so gut in der hardware, und wie man das beste aus beiden herausholen kann.

liquid
2007-08-20, 19:10:00
http://nouveau.freedesktop.org/wiki/FAQ - Punkt 1.9

Gast
2007-08-21, 13:09:18
Aber wieso kommen jetzt einige hobbyprogrammierer mit gar keinem zugang zu nvidia plötzlich auf die idee dass sie es besser machen können als die leute welche die eigentliche hardware gebaut haben ?
Es wurden schon viele freie Treiber entwickeln die die originaltreiber der Hersteller übertreffen. Nur leider noch nicht für Grafikkarten...

ActionNews
2007-08-22, 08:29:23
Hmm meine 6800GT hat leider den Geist aufgegeben, aber ich kanns ja mal mit meiner neuen 7600GT versuchen ... wenn der noveau-Treiber dann auch render-to-pixmap irgendwann unterstützt für mein Compiz Fusion und gute 3D-Leistung bringt wäre er für mich einen Blick wert.

MfG Michael

Abnaxos
2007-08-22, 12:59:05
Gibt es denn irgendwo eine Liste von welchen Karten solche Dumps benötigt werden? Bei Renouveau z.B. ist meine Karte (GeForce FX 5200 Go) bereits grün, da macht es keinen Sinn, nochmal einen Renouveau-Dump zu erstellen und einzuschicken.

Gast
2007-08-23, 13:02:59
Ich glaube mmio Dumps können die Devs immer gebrauchen. Ansonsten steht auf der News seite (http://nouveau.freedesktop.org/wiki/):

We are in need of mmio dumps from GeForce FX whose PCI ID is 0x10de:0x030* (whatever the * digit is), 0x10de:0x0333, 0x10de:0x00fc, 0x10de:0x00fd or 0x10de:0x00fe please contact us!

liquid
2007-08-24, 11:43:51
Gibt es denn irgendwo eine Liste von welchen Karten solche Dumps benötigt werden? Bei Renouveau z.B. ist meine Karte (GeForce FX 5200 Go) bereits grün, da macht es keinen Sinn, nochmal einen Renouveau-Dump zu erstellen und einzuschicken.
Dieser Grün-Status hängt meines Wissens nur davon ab wie lange der letzte Dump her ist. Man sollte dabei beachten dass ein renouveau-dump auch abhängig von der installierten Treiberversion ist, wenn sich z.B. die Kommunikation zwischen GPU und Treiber verändert hat.
Natürlich sollte man sich primär auf die Karten konzentrieren, die noch gar keinen renouveau-dump besitzten, aber sicherlich ist es auch nicht verkehrt renouveau-dumps für grüne Karten anzulegen, wenn man neuere Treiberversionen verwendet.

Ich glaube mmio Dumps können die Devs immer gebrauchen. Ansonsten steht auf der News seite (http://nouveau.freedesktop.org/wiki/):
Genau, mmio dumps machen anscheinend nicht so viele Leute. Es ist halt ein wenig mehr Arbeit als der renouveau dump, bei dem man einfach nur ein script ausführen muss welches den Rest macht.
Nur helfen mmio dumps den Entwicklern mehr, da einfach mehr Information zusammengetragen wird.