Kernel-Head und NVidia-Treiber
Hallo, ich habe mein openSuse (11.2 x86_64)so eingerichtet, dass ich zum Standardkernel auch noch den "Kernel of the Day" aus dem HEAD-Repository ausprobieren kann - Tester sind ja immer erwünscht :-) Zum Standardkernel hab ich mir die passenden nVidia-Treiber aus dem nVidia- Repository installiert, mit welchem auch die ganzen KDE-3D-Gimmicks funktionieren, meine Blagen stehen drauf... Wenn ich aber den KotD starte habe ich logischerweise keine GUI mehr, da der Treiber nicht zum Kernel passt. Gibt es eine Möglichkeit das Eine zu tun (Standardkernel mit nVidia) und das Andere nicht zu lassen (KotD mit nVidia oder auch OS-Treiber, lieber mit nVidia)? -- Niemand käme auf die Idee, Tinte mit Tinte abzuwaschen nur Blut soll immer wieder mit Blut abgewaschen werden. -- Ebner-Eschenbach Grüsse aussem Pott! - Uli -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Don, 16 Sep 2010, Ulrich Walter schrieb:
Zum Standardkernel hab ich mir die passenden nVidia-Treiber aus dem nVidia- Repository installiert, mit welchem auch die ganzen KDE-3D-Gimmicks funktionieren, meine Blagen stehen drauf...
Wenn ich aber den KotD starte habe ich logischerweise keine GUI mehr, da der Treiber nicht zum Kernel passt.
Gibt es eine Möglichkeit das Eine zu tun (Standardkernel mit nVidia) und das Andere nicht zu lassen (KotD mit nVidia oder auch OS-Treiber, lieber mit nVidia)?
Funktionieren sollte, daß du eine Treiberversion für beide Kernel verwendest. Da es wohl kaum passende -kmp- Pakete für den KotD gibt (die RPMs hängen ja schon den normalen Update-Kernels gerne mal ne Woche oder mehr hinterher), bleibt IMO nur eine sinnvolle Variante: - deinstalliere die Treiber-RPMs - hol dir von nVidia direkt den Treiber (NVIDIA...run). - installiere den Treiber (unter dem normalen Kernel) per: ./NVIDIA...run dazu benötigst du u.a. konfigurierte Kernel-Sourcen, das bekomm ich aus dem Gedächnis grad nicht hin, ist aber dokumentiert und taucht auch in der Liste recht häufig auf. IIRC brauchst du: kernel-$FLAVOR ### FLAVOR=default,desktop,xen,..., ### hast du schon, wg. FLAVOR siehe 'uname -r'. kernel-devel kernel-$FLAVOR-devel kernel-syms kernel-source (ggfs. erstmal nur die ersten 3 installieren, und bei Gemecker den Rest, in der Reihenfolge ;) und mußt dann IIRC jew. (auch dann beim gebooteten KotD) folgendes machen: cd /lib/modules/$(uname -r)/build make cloneconfig make modules_prepare Nun sollte sich der NVIDIA-Treiber installieren lassen (bzw. eben nur das Kernel-Modul beim KotD). - boote den KotD und installiere das Kernelmodul des Treibers per ./NVIDIA...run -K (gleiche Voraussetzungen wie beim normalen Kernel, d.h. auch für den Kernel brauchst du die konfigurierten Header) Den letzten Schritt mußt du dann bei jedem KotD wiederholen. Davon, daß du 'multiversion = kernel-...' in /etc/zypp/zypp.conf(?) schon gesetzt hast, geh ich jetzt mal aus, da mußt du die o.g. weiteren Pakte noch ergänzen. Die Reihenfolge in denen du -source einspielst bestimmt AFAIR übrigens quasi den default, da /usr/src/linux jew. umgebogen wird, via /lib/modules/$(uname -r)/build/ sollte aber jew. der richtige gefunden und verwendet werden, und der NVIDIA Treiber macht das auch richtig. Falls ich was durcheinandergebracht hab, wird sich sicher jemand melden, oder du findest es selber im Wiki ;) HTH, -dnh, für evtl. Fehler übernehme ich keine Verantwortung, bitte aber um Verzeihung -- In /etc steht, was Du denkst. In /proc steht, was das OS denkt. [Thomas Blum in doc] -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo! Am Donnerstag 16 September 2010 01:55:46 schrieb David:
Hallo,
....
HTH, -dnh, für evtl. Fehler übernehme ich keine Verantwortung, bitte aber um Verzeihung
Das ist 'ne ganze Menge, dafür brauch dann wohl ein bissken Zeit. Wenn ich's dann mal in Angriff genommen habe, melde ich mich wieder. -- Niemand käme auf die Idee, Tinte mit Tinte abzuwaschen nur Blut soll immer wieder mit Blut abgewaschen werden. -- Ebner-Eschenbach Grüsse aussem Pott! - Uli -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Thu, 16 Sep 2010 01:55:46 +0200, David Haller
Funktionieren sollte, daß du eine Treiberversion für beide Kernel verwendest.
Um es zu präzisieren: der Treiber für den X-Server tut immer, aber für die Kernel braucht es unterschiedliche Treiber. Zumal im Code des Kerneltreibers ein Fehler ist sodass er sich mit Kernel-Head (präziser mit Kernel >= 2.6.36) nicht kompilieren lässt. Ein Patch von mir dafür ist im Nvidia-KMP aber den Dreizeiler kann ich auch hier nochmal posten.
- deinstalliere die Treiber-RPMs
Nicht nötig.
- hol dir von nVidia direkt den Treiber (NVIDIA...run).
Das braucht mehr :) Paket mit --extract auspacken, Patch anwenden und dann nur den Kernel-Treiber bauen und installieren.
dazu benötigst du u.a. konfigurierte Kernel-Sourcen, das bekomm ich aus dem Gedächnis grad nicht hin, ist aber dokumentiert und taucht auch in der Liste recht häufig auf. IIRC brauchst du:
Braucht garnix, der Nvidia-Kram schaut an der richtigen Stelle nach und findet alles was er braucht.
Falls ich was durcheinandergebracht hab,
Du doch nicht ;-)
wird sich sicher jemand melden,
Wie man sieht. Philipp -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo! Am Donnerstag 16 September 2010 09:58:24 schrieb Philipp:
On Thu, 16 Sep 2010 01:55:46 +0200, David Haller
wrote:
Funktionieren sollte, daß du eine Treiberversion für beide Kernel verwendest.
Um es zu präzisieren: der Treiber für den X-Server tut immer, aber für die Kernel braucht es unterschiedliche Treiber. Zumal im Code des Kerneltreibers ein Fehler ist sodass er sich mit Kernel-Head (präziser mit Kernel >= 2.6.36) nicht kompilieren lässt. Ein Patch von mir dafür ist im Nvidia-KMP aber den Dreizeiler kann ich auch hier nochmal posten.
Ähh, was und wo ist Nvidia-KMP? Und, äh, würdest Du ihn - den Patch - evtl. hier posten?
- deinstalliere die Treiber-RPMs
Nicht nötig.
Gut.
- hol dir von nVidia direkt den Treiber (NVIDIA...run).
Das braucht mehr :) Paket mit --extract auspacken, Patch anwenden und dann nur den Kernel-Treiber bauen und installieren.
Noch mal kurz die Kommandos, bitte - ich hab' in der Richtung schon lange nichts mehr gemacht...
dazu benötigst du u.a. konfigurierte Kernel-Sourcen, das bekomm ich aus dem Gedächnis grad nicht hin, ist aber dokumentiert und taucht
auch in der Liste recht häufig auf. IIRC brauchst du: Braucht garnix, der Nvidia-Kram schaut an der richtigen Stelle nach und findet alles was er braucht.
Falls ich was durcheinandergebracht hab,
Du doch nicht ;-)
wird sich sicher jemand melden,
Wie man sieht.
Philipp
-- Niemand käme auf die Idee, Tinte mit Tinte abzuwaschen nur Blut soll immer wieder mit Blut abgewaschen werden. -- Ebner-Eschenbach Grüsse aussem Pott! - Uli -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Ulrich, * Ulrich Walter (suse.mail.uw@arcor.de) [20100916 14:22]:
Ähh, was und wo ist Nvidia-KMP?
Sorry, ich meinte das RPM mit dem Nvidia-Treiber.
Und, äh, würdest Du ihn - den Patch - evtl. hier posten?
--- kernel/nv.c.original 2010-09-07 13:55:25.770456446 +0200 +++ kernel/nv.c 2010-09-07 14:08:34.681351694 +0200 @@ -423,7 +423,9 @@ static struct pci_driver nv_pci_driver = static struct file_operations nv_fops = { .owner = THIS_MODULE, .poll = nv_kern_poll, +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36) .ioctl = nv_kern_ioctl, +#endif #if defined(HAVE_UNLOCKED_IOCTL) .unlocked_ioctl = nv_kern_unlocked_ioctl, #endif
Noch mal kurz die Kommandos, bitte - ich hab' in der Richtung schon lange nichts mehr gemacht...
OK, Nvidia Treiber runterladen, dahin wechseln wo Du ihn auspacken willst und dann bash /pfad/zum/Treiber -x Du erhälst dann ein Verzeichnis mit dem ausgepackten Quellen und binaries. Dahinein wechselst Du und patchst den Code patch -p0 -i /pfad/zum/Patch Danach dann ./nvidia-installer aufrufen um alles zu bauen und zu installieren. Philipp -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo! Am Donnerstag 16 September 2010 15:45:02 schrieb Philipp:
Hallo Ulrich,
* Ulrich Walter (suse.mail.uw@arcor.de) [20100916 14:22]:
Ähh, was und wo ist Nvidia-KMP?
Sorry, ich meinte das RPM mit dem Nvidia-Treiber.
Und, äh, würdest Du ihn - den Patch - evtl. hier posten?
--- kernel/nv.c.original 2010-09-07 13:55:25.770456446 +0200 +++ kernel/nv.c 2010-09-07 14:08:34.681351694 +0200 @@ -423,7 +423,9 @@ static struct pci_driver nv_pci_driver = static struct file_operations nv_fops = { .owner = THIS_MODULE, .poll = nv_kern_poll, +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36) .ioctl = nv_kern_ioctl, +#endif #if defined(HAVE_UNLOCKED_IOCTL) .unlocked_ioctl = nv_kern_unlocked_ioctl, #endif
Noch mal kurz die Kommandos, bitte - ich hab' in der Richtung schon lange nichts mehr gemacht...
OK, Nvidia Treiber runterladen, dahin wechseln wo Du ihn auspacken willst und dann
bash /pfad/zum/Treiber -x
Du erhälst dann ein Verzeichnis mit dem ausgepackten Quellen und binaries. Dahinein wechselst Du und patchst den Code
patch -p0 -i /pfad/zum/Patch
Danach dann ./nvidia-installer aufrufen um alles zu bauen und zu installieren.
Alles klar, danke! Werde ich bei gelegenheit mal testen... Über die Ergebnisse gebe ich dann hier Auskunft :-)
Philipp
-- Niemand käme auf die Idee, Tinte mit Tinte abzuwaschen nur Blut soll immer wieder mit Blut abgewaschen werden. -- Ebner-Eschenbach Grüsse aussem Pott! - Uli -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Don, 16 Sep 2010, Philipp Thomas schrieb:
Danach dann ./nvidia-installer aufrufen um alles zu bauen und zu installieren.
Bzw. nur noch './nvidia-installer -K' um nur das Kernel-Modul für den anderen Kernel zu backen. -dnh -- WANTED: Schroedingers Cat, dead or alive. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Thu, 16 Sep 2010 22:19:23 +0200, David Haller
Bzw. nur noch './nvidia-installer -K' um nur das Kernel-Modul für den anderen Kernel zu backen.
Liess Dir mal die Beschreibung zu -K durch. Laut der muss schon ein Kerneltreiber vorhanden sein. Philipp -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Fre, 17 Sep 2010, Philipp Thomas schrieb:
On Thu, 16 Sep 2010 22:19:23 +0200, David Haller
wrote: Bzw. nur noch './nvidia-installer -K' um nur das Kernel-Modul für den anderen Kernel zu backen.
Liess Dir mal die Beschreibung zu -K durch. Laut der muss schon ein Kerneltreiber vorhanden sein.
Ein X-Treiber. -K, --kernel-module-only Install a kernel module only, and do not uninstall the existing driver. This is intended to be used to install kernel modules for additional kernels (in cases where you might boot between several different kernels). To use this option, you must already have a driver installed, and the version of the installed driver must match the version of this kernel module. -dnh -- The purpose of a windowing system is to put some amusing fluff around your one almighty emacs window. -- Mark on gnu.emacs.help -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Fri, 17 Sep 2010 17:15:31 +0200, David Haller
Ein X-Treiber.
kernels). To use this option, you must already have a driver installed, and the version of the installed driver must match the version of this kernel module.
Missverständlicher kann man es ja kaum formulieren. Grumpfl, ein zusätzliches X11 waren wahrscheinlich Verschwendung ... Dann ist -K ja doch genau das Richtige. Philipp -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Sam, 18 Sep 2010, Philipp Thomas schrieb:
On Fri, 17 Sep 2010 17:15:31 +0200, David Haller
wrote: Ein X-Treiber.
kernels). To use this option, you must already have a driver installed, and the version of the installed driver must match the version of this kernel module.
Missverständlicher kann man es ja kaum formulieren. Grumpfl, ein zusätzliches X11 waren wahrscheinlich Verschwendung ... Dann ist -K ja doch genau das Richtige.
Also ich hab's auf Anhieb verstanden, aber ich bin ja eh ein ganz seltsamer Vogel, speziell wenn's ums Dokumentation lesen und verstehen geht. Fragt mich nicht, wie ich das mache :) Also: "driver" = X-Treiber = /usr/$LIB/xorg/modules/updates/drivers/nvidia_drv.so "(kernel) module" = Kernelmodul = /lib/modules/$(uname -r)/updates/nvidia.ko Und das wird bei nVidia AFAIR auch durchgehend so verwendet. 1 * X.org 7.a.b / XServer 1.c 1 * nVidia-X-Treiber v195.x.y.z samt libGL* / libglx.so usw. 1 * nvidia.ko (v195.x.y.z) für Kernel 2.6.34.foo 1 * nvidia.ko (v195.x.y.z) für Kernel 2.6.33.bar 1 * nvidia.ko (v195.x.y.z) für Kernel 2.6.35.baz Und "nvidia.ko erstellen" ist das was mit '-K' für jeden der Kernels gemacht wird / werden muß (und auch nicht mehr). Man muß dazu noch nichtmal rebooten, man kann die Kernelversionen samt ggfs. Sourcen-/Headerverzeichnissen auch angeben (siehe ./nvidia-installer -A), wie zuverlässig das funktioniert kann ich nicht beurteilen. Ich erstelle das Kernelmodul immer (erst) beim ersten Start mit dem neuen Kernel (egal woher), meist erst wenn mich X anmeckert, daß "nvida.ko" nicht geladen werden konnte ;) Aber AFAIR braucht man eben zu jeder Kernelversion die konfigurierten Header (die in meiner ersten Mail genannten) -devel Pakete (siehe dort, hab nimmer nachgeschaut, was genau man jetzt braucht, der installer meckert ggfs., dann eben Pakete nachinstallieren ;), damit man das jew. Kernelmodul dann "backen" kann. Philipps Einspruch bezog sich da wohl auf die Fehlinterpretation. Was ich genannt habe ist IIRC das was man "maximal" braucht / machen muß. Stimmt das "make cloneconfig && make modules_prepare" noch? HTH, -dnh --
Als Newbie möchte ich wissen ob man unter Linux Vieren befürchten muß? Rein statisch gesehen, ist die Wahrscheinlichkeit, unter Linux von einer Vier erwischt zu werden, nicht größer, als eine Null verpaßt zu bekommen. -- Christoph Lorentz in dcoulm! -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo! Am Samstag 18 September 2010 03:54:57 schrieb David: (und vorher andere...)
Hallo,
..... der erste Schritt ist getan, der Kernel-Head (2.6.36-91-desktop x86_64) läuft mit aktuellem Treiber (260.19.12 - gestern runtergeladen), Patch war damit nicht notwendig. Danke erst mal! -- Niemand käme auf die Idee, Tinte mit Tinte abzuwaschen nur Blut soll immer wieder mit Blut abgewaschen werden. -- Ebner-Eschenbach Grüsse aussem Pott! - Uli -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo! Am Samstag 18 September 2010 03:54:57 schrieb David:
Hallo,
(und noch Vieles mehr...) Hab's jetzt auch für den aktuellen Standardkernel gebaut, Ziel erreicht - danke an alle! -- Niemand käme auf die Idee, Tinte mit Tinte abzuwaschen nur Blut soll immer wieder mit Blut abgewaschen werden. -- Ebner-Eschenbach Grüsse aussem Pott! - Uli -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Sat, 13 Nov 2010, Ulrich Walter schrieb:
Am Samstag 18 September 2010 03:54:57 schrieb David: (und noch Vieles mehr...)
Hab's jetzt auch für den aktuellen Standardkernel gebaut, Ziel erreicht - danke an alle!
Freut mich. Achso, das "Prozedere" gilt generell für alle externen Module, also z.B. auch Krams von VMware oder sonstwas. Die Frage da ist dann jeweils: wie backe ich das Modul für den jew. Kernel? nVidia ist da mit den .run-Paketen IMO vorbildlich ;) Die .rpm im Repo hingegen hinken gern mal 2 Wochen oder mehr hinter nem Kernel-(Bugfix-)Update von SUSE hinterher, zumindest ich persönlich verzichte da dann lieber auf die .rpm aus dem Repo und ruf halt nach jedem Kernelupdate mal eben ein ( cd /usr/src/NVIDIA..../ && ./nvidia-installer -K ) auf ;) (wobei das Verzeichnis das ausgepackte .run ist das jew. aktuell am besten (oder zumindest "bekannt zuverlässig" mit Kernel/X/GraKa funktioniert, z.Z. ist das hier immer noch der 195er Treiber ;)) HTH, -dnh --
I've gone through over-stressed to physical exhaustion... what's next? Tuesday -- Simon Burr & Kyle Hearn -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (4)
-
David Haller
-
Philipp Thomas
-
Philipp Thomas
-
Ulrich Walter