当我启动内核时我有 nomodeset,因为我想在会话中在 nouveau 和 nvidia 专有驱动程序之间切换。
但是,nouveau 无法加载,并抱怨 kms 未启用(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.
这是 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
我是不是漏掉了什么,或者没有 KMS 就无法使用 nouveau?我做了一些搜索,找到的所有内容都指向我在内核中启用 kms。
Linux zen 2.6.32-5-xen-amd64 #1 SMP Tue Jun 14 12:46:30 UTC 2011 x86_64 GNU/Linux
答案1
https://wiki.archlinux.org/index.php/Nouveau#KMS
Nouveau 驱动程序需要内核模式设置 (KMS)。有关更多信息,请参阅 KernelModeSetting 页面。
它来自 Arch wiki,但适用于所有系统。没有 KMS 就无法使用 nouveau。
答案2
nouveau 驱动程序需要 KMS 才能运行,因此当在 grub 中的内核启动行上设置 nomodeset 时无法使用它。
启动后删除驱动程序的正确方法是断开帧缓冲区与驱动程序的连接,如下所述: