跳至主要内容

Archlinux Desktop Setup - Bumblebee issue caused by NVIDIA driver

不知道何时起,我的老 Dell 笔记本上的 Bumblebee service 就停止工作了。想要跑个 `optirun glxgears -info` 居然提示说 Bumblebee 服务没有启动…… 找到以前的blog以及Arch的wiki仔细研究了一下,发现大概是曾经安装的nvidia驱动在某次系统更新后就出问题了。按照 [这个人的说法](https://www.reddit.com/r/archlinux/comments/a5nw93/cant_find_nvidia_module_when_doing_modprobe_nvidia/),我又回到wiki里面仔细对比了自己的设备型号,发现貌似不应该安装 `nvidia-390xx`: > For GeForce 400/500/600 series cards [NVCx and NVDx] from around 2010-2011, > install the nvidia-390xx-dkmsAUR package. 于是抱着试一试的心态,重新安装了这个包,中间自然将原本的那个 package 给删除了: ➜ ~ yay -S nvidia-390xx-dkms :: Checking for conflicts... :: Checking for inner conflicts... ==> Package conflicts found: -> Installing nvidia-390xx-dkms will remove: nvidia-390xx ==> Conflicting packages will have to be confirmed manually [Repo: 1] dkms-2.8.1-3 [Aur: 1] nvidia-390xx-390.132-37 (nvidia-390xx-dkms) :: Downloaded PKGBUILD (1/1): nvidia-390xx (nvidia-390xx-dkms) 1 nvidia-390xx (nvidia-390xx-dkms) (Build Files Exist) ==> Diffs to show? ==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4) ==> I :: Parsing SRCINFO (1/1): nvidia-390xx (nvidia-390xx-dkms) ....... (1/3) Arming ConditionNeedsUpdate... (2/3) Updating module dependencies... (3/3) Install DKMS modules ==> dkms install nvidia/390.132 -k 5.6.15-arch1-1 重启系统后一试,dkms 果然有效: ➜ ~ sudo dkms status nvidia, 390.132, 5.6.15-arch1-1, x86_64: installed Bumblebee 服务也回来了! ➜ ~ sudo systemctl status bumblebeed.service ● bumblebeed.service - Bumblebee C Daemon Loaded: loaded (/usr/lib/systemd/system/bumblebeed.service; enabled; vendor preset> Active: active (running) since Sat 2020-06-06 14:43:55 AEST; 1h 1min ago Main PID: 430 (bumblebeed) Tasks: 1 (limit: 9472) Memory: 34.3M CGroup: /system.slice/bumblebeed.service └─430 /usr/bin/bumblebeed 测试渲染帧率的程序也可以在独显下面跑了: ➜ ~ optirun glxgears -info GL_RENDERER = GeForce GT 520M/PCIe/SSE2 GL_VERSION = 4.6.0 NVIDIA 390.132 GL_VENDOR = NVIDIA Corporation GL_EXTENSIONS = GL_AMD_multi_draw_indirect GL_ARB_arrays_of_arrays ... 7397 frames in 5.0 seconds = 1479.394 FPS 7270 frames in 5.0 seconds = 1453.818 FPS 之后参考 Wiki 又添加了[一个 hook 文件](https://wiki.archlinux.org/index.php/NVIDIA#Pacman_hook),以确保今后 NVIDIA driver 更新或是 Linux 更新都会正确的更新 `initramfs` 。 还需要继续研究的问题是,为什么外界显示器之可以接在 HDMI 口上,如果换到 Display Port 就一点都没有反应。

评论