Den neuesten fglrx von AMD selbst bauen (big kernel lock)

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
trion
Beiträge: 20
Registriert: 26.05.2011 18:38:17

Den neuesten fglrx von AMD selbst bauen (big kernel lock)

Beitrag von trion » 29.05.2011 12:05:13

Guten Morgen,

nach ein paar Schwierigkeiten mit X habe ich mich an einem neuen Treiber versucht und bin kläglich gescheitert.
Unter Ubuntu war das relativ einfach, man musste ein paar Zeilen von Hand patchen und der AMD-Installer hat den Rest erledigt.

Probleme
  • Die --buildpkg - Option des Installers funktioniert für Debian nicht

    Code: Alles auswählen

    ...
    cp: cannot stat `./usr/X11R6/lib64/modules/linux': No such file or directory
    ...
    Dafür lassen sich interessanterweise die Ubuntu-Packages sowohl übersetzen als auch installieren.
  • In Kernel 2.6.38.2 gibt es keinen Big Kernel Lock mehr, worauf fglrx aber angewiesen ist.
    Die Möglichkeit, den Lock einfach zu entfernen klingt für mich irgendwie problematisch.
    Dafür müsste es einen Patch geben, da sich in den Repos schließlich auch Versionen von fglrx befinden, die unter dem neuen Kernel laufen.
Danke.
trion
Zuletzt geändert von Saxman am 29.05.2011 17:21:46, insgesamt 1-mal geändert.
Grund: Hinweis auf den Big Kernel Lock eingefügt um die Suche zu erleichtern.

Benutzeravatar
Saxman
Beiträge: 4233
Registriert: 02.05.2005 21:53:52
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: localhost

Re: Den neuesten fglrx von AMD selbst bauen

Beitrag von Saxman » 29.05.2011 14:41:35

trion hat geschrieben: Dafür müsste es einen Patch geben, da sich in den Repos schließlich auch Versionen von fglrx befinden, die unter dem neuen Kernel laufen.
Die gibt es in der Tat.

Ich habe hier unter Squeeze amd64 und demDebianlinux-image-2.6.38-bpo.2-amd64 aus den Backports, die Version 11.5 der ATI Treiber am laufen. Dafür habe ich die Patches aus Sid verwendet und die gegen die Version der Treiber von der ATI Website angewandt. Debianlinux-kbuild-2.6.38 habe ich mir aus Testing geholt, die headers ebenfalls aus den Backports.

Da das Web-SVN aktuell aus irgend einem Grund nicht erreichbar ist, habe ich die Patches mal nach NoPaste gepackt.

01-CONFIG_X86_XEN.diff
02-dkms-arch_compat.diff
03-authatieventsd.sh.diff
05-fix-global-kernel-lock.diff
06-no-smp-lock.diff
07-2.6.39-support.diff

Angewandt habe ich von den Patches alle, bis auf den xen und 2.6.39-support. Die dabei bearbeiteten Dateien sind
authatieventsd.sh, drmP.h, firegl_public.c, firegl_public.c und das Makefile.

Ich konnte damit den entpackten Treiber patchen und installieren, das kernelmodul ließ sich ebenfalls ohne Probleme bauen. Was ich nicht konnte war, den Treiber dazu zu überreden Debian Pakete zu bauen. Das habe ich dann aber nicht weiter verfolgt da ich ja im Grunde nur den Treiber installieren wollte. Evtl lässt sich das aber auch noch fixen.

Ich hoffe das hilft.
"Unix is simple. It just takes a genius to understand its simplicity." - Dennis Ritchie

Debian GNU/Linux Anwenderhandbuch | df.de Verhaltensregeln | Anleitungen zum Review und zum Verfassen von Wiki Artikeln.

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: Den neuesten fglrx von AMD selbst bauen (big kernel lock

Beitrag von catdog2 » 29.05.2011 18:39:09

Ich konnte damit den entpackten Treiber patchen und installieren, das kernelmodul ließ sich ebenfalls ohne Probleme bauen. Was ich nicht konnte war, den Treiber dazu zu überreden Debian Pakete zu bauen. Das habe ich dann aber nicht weiter verfolgt da ich ja im Grunde nur den Treiber installieren wollte. Evtl lässt sich das aber auch noch fixen.
Warum macht ihr es euch eigentlich immer so schwer? Nehmt doch die Pakete aus unstable. Würde mich nicht wundern, wenn die sogar direkt ohne neu kompilieren installierbar wären.
Und wenn nicht in etwa so:

Code: Alles auswählen

dget http://ftp.de.debian.org/debian/pool/non-free/f/fglrx-driver/fglrx-driver_11-4-2.dsc
cd fglrx-driver-11-4
dpkg-buildpackage -b
Vllt noch ein paar Build Abhängigkeiten installieren, die es höchstwahrscheinlich auch in squeeze gibt, warten fertig.
Unix is user-friendly; it's just picky about who its friends are.

Benutzeravatar
Saxman
Beiträge: 4233
Registriert: 02.05.2005 21:53:52
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: localhost

Re: Den neuesten fglrx von AMD selbst bauen (big kernel lock

Beitrag von Saxman » 29.05.2011 18:58:11

catdog2 hat geschrieben: Warum macht ihr es euch eigentlich immer so schwer? Nehmt doch die Pakete aus unstable. Würde mich nicht wundern, wenn die sogar direkt ohne neu kompilieren installierbar wären.
Weil die Treiber aus sid eine höhere xorg Version verlangen als die in Squeeze vorliegende. Wenn es so einfach gewesen wäre, hätte ich das schon gemacht. Das kannst du ruhig glauben. :wink:

Debianfglrx-driver aus sid will

Code: Alles auswählen

dep: xserver-xorg (>= 1:7.6+1)
In Squeeze ist:

Code: Alles auswählen

Version: 1:7.5+8
Das heißt nicht, dass man nicht auch den Treiber aus Sid zurück portieren kann, aber wie ich oben geschrieben habe, habe ich den Weg mit dem Paketbau nicht weiter verfolgt. Wenn du da allerdings einen besseren Weg findest der funktioniert, wäre das auf jeden Fall auch eine schöne Lösung.
"Unix is simple. It just takes a genius to understand its simplicity." - Dennis Ritchie

Debian GNU/Linux Anwenderhandbuch | df.de Verhaltensregeln | Anleitungen zum Review und zum Verfassen von Wiki Artikeln.

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: Den neuesten fglrx von AMD selbst bauen (big kernel lock

Beitrag von catdog2 » 29.05.2011 19:57:05

OK kann man aber anpassen in debian/control. Hab jetzt leider kein squeeze system mit passender HW zum testen zur Hand aber eigentlich sollte das ganze ja auch mit älterem Xorg laufen, wenn man es gegen die entsprechende Version Baut.
(2x xserver-xorg (>= 1:7.5), 1x xorg-video-abi-10 entfernen)
Unix is user-friendly; it's just picky about who its friends are.

trion
Beiträge: 20
Registriert: 26.05.2011 18:38:17

Re: Den neuesten fglrx von AMD selbst bauen (big kernel lock

Beitrag von trion » 29.05.2011 22:01:57

Erstmal danke.

Ich habe den Treiber von AMD jetz gepatcht (alle 6 diffs) und versucht zu installieren.
Wenn ich ihn als Ubuntu-Paket baue und installiere, startet X mit einem schwarzen Bildschirm, den ich nicht beenden und auch nicht in ein Terminal verlassen kann.
In /var/log/kdm.log taucht folgende Zeile auf:

Code: Alles auswählen

/usr/bin/X: symbol lookup error: /usr/lib/xorg/modules/drivers/fglrx_drv.so: undefined symbol: GlxInitVisuals2D
Neustart nur über SysRq.

Wenn ich den ATI-Installer die Arbeit machen lasse, bekomme ich X überhaupt nicht zum laufen,
/var/log/Xorg.0.log:

Code: Alles auswählen

[    16.358] (II) Loading /usr/lib/xorg/modules/drivers/fglrx_drv.so
[    16.358] (EE) Failed to load /usr/lib/xorg/modules/drivers/fglrx_drv.so: /usr/lib/xorg/modules/drivers/fglrx_drv.so: cannot open shared object file: No such file or directory
[    16.358] (EE) LoadModule: Module fglrx does not have a fglrxModuleData data object.
[    16.358] (II) UnloadModule: "fglrx"
[    16.358] (II) Unloading fglrx
[    16.358] (EE) Failed to load module "fglrx" (invalid module, 0)
[    16.358] (EE) No drivers available.
Edit: Nur der Vollständigkeit halber: Ich verwende testing auf x86_64 mit dem 2.6.38er-Kernel aus den Repositories.

Benutzeravatar
Saxman
Beiträge: 4233
Registriert: 02.05.2005 21:53:52
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: localhost

Re: Den neuesten fglrx von AMD selbst bauen (big kernel lock

Beitrag von Saxman » 29.05.2011 22:05:12

Sind die headers und alle zum Bau notwendigen Pakete installiert? Was sagt modprobe -v fglrx, und das log vom ati installer?
"Unix is simple. It just takes a genius to understand its simplicity." - Dennis Ritchie

Debian GNU/Linux Anwenderhandbuch | df.de Verhaltensregeln | Anleitungen zum Review und zum Verfassen von Wiki Artikeln.

Benutzeravatar
schorsch_76
Beiträge: 2612
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Den neuesten fglrx von AMD selbst bauen (big kernel lock

Beitrag von schorsch_76 » 30.05.2011 08:42:42

Kurze Zwischenfrage: Kommst du mit dem Debianxserver-xorg-video-radeon Treiber nicht zurecht? Welche Funktionalität brauchst du welche nur der fglrx liefert?

Gruß
schorsch

trion
Beiträge: 20
Registriert: 26.05.2011 18:38:17

Re: Den neuesten fglrx von AMD selbst bauen (big kernel lock

Beitrag von trion » 30.05.2011 12:39:52

Saxman hat geschrieben:Sind die headers und alle zum Bau notwendigen Pakete installiert? Was sagt modprobe -v fglrx, und das log vom ati installer?
Manchmal ist die Lösung einfacher als gedacht, beim deinstallieren der Pakete aus den Repos ist anscheinend was schiefgegangen und ein paar Dateien sind übrig geblieben.
Gelöscht, und der Treiber funktioniert so wie der Installer ihn einrichtet.

Vielleicht werde ich mir noch die Mühe machen, entsprechende Pakete von Hand zu bauen.
schorsch_76 hat geschrieben:Kurze Zwischenfrage: Kommst du mit dem Debianxserver-xorg-video-radeon Treiber nicht zurecht? Welche Funktionalität brauchst du welche nur der fglrx liefert?
Ich besitze eine Radeon HD 6850 (relativ neu), die unterstützt radeon schlicht und einfach nicht. Und auch wenn er funktioniert, bringt er deutliche Geschwindigkeitseinbußen, gerade was OpenGL und änhliches angeht. Ich vermisse zwar das KMS, aber momentan ist der freie Treiber noch keine Alternative für mich.

Antworten