franco98
NetBSDler aus Leidenschaft
Hallo NetBSD-Fans,
ich habe so eben meine HD2600 unter NetBSD-5.0.1 mit leicht abgewandelten GENERIC-Kernel mit DRI-Unterstützung zum Laufen gebracht.
Bis dahin war es aber ein steiniger Weg:
1. Unter FreeBSD-7.2 und aus den Ports gebauten modularem Xorg lief die Karte, wenn auch mit Macken. Als Treiber ging nur der 'radeonhd' mit 'exa' als AccelMethod. Dabei lief sie nur fehlerfrei mit DRI, wenn ich max. 3GB unter i386 eingbaut hatte, amd64 hatte ich nicht getestet.
2. Unter Debian-Lenny läuft mit dem Standard-Xorg nichts in Sachen DRI, es wurde nicht unterstützt.
3. Da ich aber bekennender NetBSDler bin, und die Karte unter anderen Linux-Dists und FreeBSD läuft, dachte ich, dass kriegst du auch hin. Ziel war es aber, wenn möglich den Standard Kernel mit NetBSD-5.0.1 und nicht NetBSD-Current usw. zu benutzen.
4. Mir ist irgendwann aufgefallen, dass der GENERIC zwar DRM unterstützt, wenn man z.B.
radeondrm* at vga? und DRM_EXTERNAL einbindet, aber sowohl der interne als auch der externe DRM-Code hat die Treiber für die neueren 6xx/7xx Karten noch nicht eingebaut.
5. Nach dem Lesen des Mailing-Archivs 'tech-X11' (und anderer) habe ich gesehen, dass es neuen externen DRM-Code für den Current-Kernel gibt, der theoretisch auch die o.g. Karten unterstützt. Diesen Code habe ich dann statt
/usr/src/sys/external/bsd/drm/dist eingebunden,
in
/usr/src/sys/dev/drm/files.drm die
makeoptions auf drm_external gesetzt und die standard makeoptions auskommentiert.
Dann musste man in
/usr/src/sys/dev/pci/drm/files.pcidrm die Zeile
mit dem Eintrag ...r300_cmdbuf.c... neu eintragen und in ...r600_cp.c... abwandeln, damit auch der Code für die 6xx/7xx Karten übersetzt wird.
Nun trat beim 1. Kernel-Übersetzen ein Fehler im neuen DRM-Code in
/usr/src/sys/external/bsd/drm/dist/bsd-core/drm_drv.c auf. Zeile 372-376, die das DRM_DEBUG beinhalten, haben eine falsche Wertzuweisung in 'size= '.
Ich habe die Zeilen auskommentiert und neu übersetzt und es lief.
Der Rest ist Standard:
* modulares-xorg aus den pkgsrc mit DRI bauen (ich benutze auch nur den stabilen 2009Q3)
* Mesa-Lib ebenso mit DRI, wobei in der Version nur Unterstützung für r3xx und nicht meine r6xx ist, daher kein 3D
* in die xorg.conf die Zeilen für DRI und AccelMethod
* /dev/dri/card0 anlegen
* Reboot
Dmesg zeigt nun das 1.Mal das es eine radeondrm und meine HD 2600 gefunden hat,
nun teste ich die zwei ATI / Radeon-Treiber 'radeon' bzw. 'radeonhd'.
Beide funktionieren sowohl mit AccelMethod 'Xaa' als auch 'exa', aber ohne Deaktivieren von AICLX läuft nichts. Und hier kam der Unterschied!!
Der 'radeonhd' läuft auch ohne AIGLX grottenschlecht, trotz DRM, der 'radeon' läuft top.
xvinfo zeigt nun endlich auch meine Karte an, mplayer teste ich.
Fazit: Es geht doch mit den ATI-Karten und NetBSD, man muss auch nicht auf Current ausweichen.
Ich werde die nächsten Tage weiter Testen, das neuere Xorg mal übersetzen und hoffentlich auch Mesa und AIGLX hinkriegen.
Alles in allem lohnt es sich immer NetBSD zu benutzen ,
in diesem Sinne
vG
Frank aus LE
Nachtrag: Mplayer läuft mit -vo xv und die bisher abgespielten Videos (*.wmv) laufen ruckelfrei im Vollbildmodus. Ich habe dazu in der xorg.conf die AccelMethod auf 'exa' gestellt und DisplayPriority auf 'HIGH' und DMAForXv auf 'on'. Alles mit o.g. 'radeon'-Treiber und deaktiviertem! AIGLX.
Viel Spass!
ich habe so eben meine HD2600 unter NetBSD-5.0.1 mit leicht abgewandelten GENERIC-Kernel mit DRI-Unterstützung zum Laufen gebracht.
Bis dahin war es aber ein steiniger Weg:
1. Unter FreeBSD-7.2 und aus den Ports gebauten modularem Xorg lief die Karte, wenn auch mit Macken. Als Treiber ging nur der 'radeonhd' mit 'exa' als AccelMethod. Dabei lief sie nur fehlerfrei mit DRI, wenn ich max. 3GB unter i386 eingbaut hatte, amd64 hatte ich nicht getestet.
2. Unter Debian-Lenny läuft mit dem Standard-Xorg nichts in Sachen DRI, es wurde nicht unterstützt.
3. Da ich aber bekennender NetBSDler bin, und die Karte unter anderen Linux-Dists und FreeBSD läuft, dachte ich, dass kriegst du auch hin. Ziel war es aber, wenn möglich den Standard Kernel mit NetBSD-5.0.1 und nicht NetBSD-Current usw. zu benutzen.
4. Mir ist irgendwann aufgefallen, dass der GENERIC zwar DRM unterstützt, wenn man z.B.
radeondrm* at vga? und DRM_EXTERNAL einbindet, aber sowohl der interne als auch der externe DRM-Code hat die Treiber für die neueren 6xx/7xx Karten noch nicht eingebaut.
5. Nach dem Lesen des Mailing-Archivs 'tech-X11' (und anderer) habe ich gesehen, dass es neuen externen DRM-Code für den Current-Kernel gibt, der theoretisch auch die o.g. Karten unterstützt. Diesen Code habe ich dann statt
/usr/src/sys/external/bsd/drm/dist eingebunden,
in
/usr/src/sys/dev/drm/files.drm die
makeoptions auf drm_external gesetzt und die standard makeoptions auskommentiert.
Dann musste man in
/usr/src/sys/dev/pci/drm/files.pcidrm die Zeile
mit dem Eintrag ...r300_cmdbuf.c... neu eintragen und in ...r600_cp.c... abwandeln, damit auch der Code für die 6xx/7xx Karten übersetzt wird.
Nun trat beim 1. Kernel-Übersetzen ein Fehler im neuen DRM-Code in
/usr/src/sys/external/bsd/drm/dist/bsd-core/drm_drv.c auf. Zeile 372-376, die das DRM_DEBUG beinhalten, haben eine falsche Wertzuweisung in 'size= '.
Ich habe die Zeilen auskommentiert und neu übersetzt und es lief.
Der Rest ist Standard:
* modulares-xorg aus den pkgsrc mit DRI bauen (ich benutze auch nur den stabilen 2009Q3)
* Mesa-Lib ebenso mit DRI, wobei in der Version nur Unterstützung für r3xx und nicht meine r6xx ist, daher kein 3D
* in die xorg.conf die Zeilen für DRI und AccelMethod
* /dev/dri/card0 anlegen
* Reboot
Dmesg zeigt nun das 1.Mal das es eine radeondrm und meine HD 2600 gefunden hat,
nun teste ich die zwei ATI / Radeon-Treiber 'radeon' bzw. 'radeonhd'.
Beide funktionieren sowohl mit AccelMethod 'Xaa' als auch 'exa', aber ohne Deaktivieren von AICLX läuft nichts. Und hier kam der Unterschied!!
Der 'radeonhd' läuft auch ohne AIGLX grottenschlecht, trotz DRM, der 'radeon' läuft top.
xvinfo zeigt nun endlich auch meine Karte an, mplayer teste ich.
Fazit: Es geht doch mit den ATI-Karten und NetBSD, man muss auch nicht auf Current ausweichen.
Ich werde die nächsten Tage weiter Testen, das neuere Xorg mal übersetzen und hoffentlich auch Mesa und AIGLX hinkriegen.
Alles in allem lohnt es sich immer NetBSD zu benutzen ,
in diesem Sinne
vG
Frank aus LE
Nachtrag: Mplayer läuft mit -vo xv und die bisher abgespielten Videos (*.wmv) laufen ruckelfrei im Vollbildmodus. Ich habe dazu in der xorg.conf die AccelMethod auf 'exa' gestellt und DisplayPriority auf 'HIGH' und DMAForXv auf 'on'. Alles mit o.g. 'radeon'-Treiber und deaktiviertem! AIGLX.
Viel Spass!
Zuletzt bearbeitet: