上回(《在你的 Arch Linux 笔记本上畅快使用 NVIDIA 显卡》)说到如何在Arch Linux上配置NVIDIA和Intel双显卡,但还留有一个问题未解决,就是Vulkan应用会唤醒独显,导致启动和退出一些应用时因需要唤醒独显而卡顿。
而且,部分GTK4应用,如Ptyxis,即使使用了GL作为渲染后端,也会调用Vulkan而唤醒独显。
本文将介绍如何解决这个问题。
禁止Vulkan使用独显
设置环境变量 VK_LOADER_DRIVERS_DISABLE=nvidia_icd.json,可以禁止Vulkan加载NVIDIA的驱动,从而避免唤醒独显。
把它加入 /etc/environment 文件:
1 | echo 'VK_LOADER_DRIVERS_DISABLE=nvidia_icd.json' | sudo tee -a /etc/environment |
让prime-run能调用独显
nvidia-prime包提供的原版/usr/bin/prime-run脚本不会取消设置VK_LOADER_DRIVERS_DISABLE:
/usr/bin/prime-run
1 |
|
我们需要自定义一个prime-run脚本。通过创建/usr/local/bin/prime-run文件,我们可以覆盖掉原版的prime-run脚本。脚本如下,也可在https://github.com/Kimiblock/moeOS.config/blob/master/usr/share/moeOS-Docs/bin/prime-run下载:
/usr/local/bin/prime-run
1 |
|
记得设置执行位。
这样,当你需要使用独显运行Vulkan应用时,只需使用prime-run <command>即可。
美中不足的是,switcheroo-control集成的「使用独立显卡启动」选项并不是直接调用prime-run,所以Vulkan应用不能通过GNOME的右键菜单选项来方便地使用独显运行了。