是否可以在 Nvidia 的 BLOB 和 Nouveau 视频驱动程序之间即时切换?
我认为我需要能够:
- [✓] 卸载英伟达
- [✓] 卸载nouveau
- [✕] 卸载nouveau后恢复控制台*
- [✓] 交换 xorg.conf 文件
- [✓] 注意黑名单
- [✓] 处理 libglx.so
*) 在与#nouveau 的人进行了一番交谈后,当前的 Ubuntu 设置(内置 vesafb)似乎很困难,甚至是不可能的。我正在尝试让它与 uvesafb 一起使用,但现在答案中的脚本可以满足我的需求。
我现在有两个脚本可以切换驱动程序,xorg.conf,负责黑名单和 libglx,所以答案是:是的,这是可能的。
黑名单适用于
/etc/modprobe.d/
包含blacklist nvidia
或的文件blacklist nouveau
。我还替换/lib/nvidia-current/modprobe.conf
了一个假人,否则 nvidia 驱动程序将始终在/etc/modprobe.d/
该黑名单中创建一个链接。切换到新式:
执行完之后,我运行了 nouveau 和一个工作控制台 (nouveaufb)。
切换到英伟达:
→ Nvidia 驱动程序正常工作,唯一的问题:卸载 nouveau 驱动程序后,控制台无法使用。我需要一种方法来重置它或加载另一个帧缓冲区,但由于 vesafb 已编译到内核中,我不知道该怎么做。
我不相信这是可能的,不仅 nouvou 驱动程序内核模式设置和 nvidia 没有,而且 nvidia 驱动程序使用了一个被黑的 xorg 库,这使得即使在需要英特尔驱动程序的机器上使用相同的安装也是一个问题. (参见颠倒元素错误和问题)
http://nouveau.freedesktop.org/wiki/KernelModeSetting/建议在 rmmod-ing nouevau 后运行/etc/init.d/consolefont restart以恢复文本模式。请注意,它已在更新的系统上重命名为控制台字体,在 Ubuntu 13.10 中根本不能这样调用,而是像这样:service console-font restart
此外,它并不总是有效。在某些情况下,启动 X(service lightdm start - 或您正在使用的任何 DM)将启动 gfx 模式,并在切换到 vt1(ctrl-alt-f1)时提供工作文本模式。
(我使用它来将 nvidia 驱动程序安装到实时 CD 会话中)