你好,我正在尝试在配备 2 GPU(英特尔和英伟达)的华硕笔记本电脑上使用 Ubuntu-Prime 来运行 ubuntu 18。
prime-select intel
我发现,当我仅使用英特尔 GPU(使用或使用)重新启动时,计算机的功耗太高了nvidia-settings
。
我发现,尽管通常不使用,但 nouveau 驱动程序已被加载:
$ gpu-manager | grep nouveau
Is nouveau loaded? yes
Is nouveau blacklisted? yes
Skipping "/dev/dri/card1", driven by "nouveau"
Skipping "/dev/dri/card1", driven by "nouveau"
Found "/dev/dri/card1", driven by "nouveau"
Skipping "/dev/dri/card1", driven by "nouveau"
我尝试将其列入黑名单,并使用内核启动选项来阻止加载 nouveau但它仍然加载. 对我来说这似乎很不符合 Linux 风格。
答案1
我找到了一种在使用带有英特尔显卡的 prime 时禁用 nouveau 并恢复电池寿命的方法:
Ubuntu 18 中有 2 个错误值得关注:
1. Prime 无法关闭独立 GPU(已知问题)。
确保您的独立 GPU 已连接到 PCI 端口 0000:01:00.0(lspci -vnn | grep '\''[030[02]\]'
例如使用)
更改/etc/systemd/system/display-manager.service.wants/nvidia-prime-boot.service
并替换当前的 execstart(参考 vgaswitcheroo,通常不可用ExecStart=/bin/sh -c "echo 'auto' > '/sys/bus/pci/devices/0000:01:00.0/power/control'"
)
2. nvidia-fallback 在 nvidia 未加载时加载 nouveau
即使我们愿意不使用独立 GPU!
当未加载 nvidia 驱动程序时,禁用以下加载 nouveau 驱动程序的服务:sudo systemctl disable nvidia-fallback.service
答案2
对于任何受此困扰的人:我正要尝试 Antonin 的解决方案,但在安装了 bionic-proposed 的 prime 0.8.8.1 后就不需要了。我遇到了 nvidia-390/restricted、nvidia-prime/main、nvidia-settings/main 的新问题。目前使用 graphics-drivers/ppa/ubuntu 的 nvidia-396。
系统:搭载 18.04 的 Dell Precision 7730,配备 Intel i915 和 Quadro P4200
假设 bionic-proposed 和 graphics-drivers/ppa/ubuntu 已启用:
sudo apt purge nvidia* && sudo apt autoremove --purge
sudo apt install nvidia-driver-396 nvidia-prime/bionic-proposed nvidia-settings
*重启
现在 prime-select 不再触发 grub 更新或加载 nouveau。而且 nvidia-fallback.service 似乎已经消失了。
gpu-manager | grep nouveau
返回
/etc/modprobe.d 不是文件
/etc/modprobe.d 不是文件
/etc/modprobe.d 不是文件
/etc/modprobe.d 不是文件
nouveau 是否加载? 否
nouveau 是否被列入黑名单? 否
和
lspci -nnk | grep -iA2 VGA
00:02.0 VGA 兼容控制器 [0300]:Intel Corporation 设备 [8086:3e94]
子系统:Dell 设备 [1028:0832]
正在使用的内核驱动程序:i91501:00.0 VGA 兼容控制器 [0300]:NVIDIA Corporation 设备 [10de:1bb9](rev a1)
子系统:Dell 设备 [1028:0832]
正在使用的内核驱动程序:nvidia
之前 nouveau 的加载时间为 01:00.0