Ich habe Nomodeset, wenn ich meinen Kernel boote, da ich innerhalb einer Sitzung zwischen den proprietären Treibern von Nouveau und Nvidia wechseln möchte.
Nouveau lässt sich jedoch nicht laden und beschwert sich, dass KMS nicht aktiviert ist (Auszug aus xorg.log):
(II) NOUVEAU driver Date: Tue Mar 16 13:08:37 2010 +1000
(II) NOUVEAU driver for NVIDIA chipset families :
RIVA TNT (NV04)
RIVA TNT2 (NV05)
GeForce 256 (NV10)
GeForce 2 (NV11, NV15)
GeForce 4MX (NV17, NV18)
GeForce 3 (NV20)
GeForce 4Ti (NV25, NV28)
GeForce FX (NV3x)
GeForce 6 (NV4x)
GeForce 7 (G7x)
GeForce 8 (G8x)
(II) Primary Device is: PCI 01@00:00:0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 7, (OK)
drmOpenByBusid: Searching for BusID pci:0000:01:00.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 7, (OK)
drmOpenByBusid: drmOpenMinor returns 7
drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0
(II) [drm] nouveau interface version: 0.0.15
(EE) [drm] KMS not enabled
(EE) No devices detected.
Hier ist der lsmod:
$ lsmod | grep nouv
nouveau 353208 0
ttm 40978 1 nouveau
drm_kms_helper 20369 1 nouveau
drm 143329 3 nouveau,ttm,drm_kms_helper
i2c_algo_bit 4225 1 nouveau
i2c_core 15819 5 nouveau,drm_kms_helper,drm,i2c_i801,i2c_algo_bit
button 4650 1 nouveau
Übersehe ich etwas oder ist es nicht möglich, Nouveau ohne KMS zu haben? Ich habe ein bisschen gesucht und alles, was ich finde, weist darauf hin, dass KMS im Kernel aktiviert werden muss.
Linux zen 2.6.32-5-xen-amd64 #1 SMP Tue Jun 14 12:46:30 UTC 2011 x86_64 GNU/Linux
Antwort1
https://wiki.archlinux.org/index.php/Nouveau#KMS
Kernel Mode-Setting (KMS) wird vom Nouveau-Treiber benötigt. Weitere Informationen finden Sie auf der Seite KernelModeSetting.
Es stammt aus dem Arch-Wiki, gilt aber für alle Systeme. Sie können Nouveau nicht ohne KMS verwenden.
Antwort2
Der Nouveau-Treiber erfordert zum Ausführen KMS. Daher ist es nicht möglich, ihn zu verwenden, wenn in der Kernel-Bootzeile in Grub „nomodeset“ festgelegt ist.
Die richtige Methode zum Entfernen des Treibers nach dem Booten besteht darin, den Framebuffer wie hier beschrieben vom Treiber zu trennen: