经过实际测试,AMD 的核显配上 Nvidia 的独显也是可以使用这个方案的,笔者的电脑是天选 1 代 2060 版(TUF Gaming 506 IV)当时这个笔记本刚出来的时候,笔者尝试了大黄蜂方案,但是没有成功,不过这个方案是可行的。
笔者使用的系统是 Debian Testing,所以接下来的包管理命令都是 Debian 系的。
让 AMD 核显可用
确保你的 Linux 内核版本高于 5,若内核版本较低请先进行更新:
uname -r
注意:仅 Debian 10 及以上的版本使用 Linux 5.x 内核。
其次安装 firmware-amd-graphics
。
sudo apt install firmware-amd-graphics
完成上述两步可以基本保证你可以正常进入桌面。
你现在可以手动禁用 nouveau
驱动。不过,接下来的步骤也会自动禁用 nouveau
驱动。
安装 Nvidia 显卡驱动
直接使用 apt 源中的驱动即可,不需要去官网下载。
sudo apt install nvidia-driver nvidia-vulkan-common nvidia-vulkan-icd nvidia-vaapi-driver nvidia-vdpau-driver
如果你仅使用 OpenGL,只安装 nvidia-driver
即可。
安装完毕之后需要重启你的电脑。
可能遇到的问题
DKMS 模块编译时可能会遇到以下问题。
编译器版本不对
删除 /usr/bin/gcc
和 /usr/bin/g++
再重新创建需要的编译器软链接,例如:
sudo ln -s /usr/bin/gcc-11 /usr/bin/gcc
sudo ln -s /usr/bin/g++-11 /usr/bin/g++
不过,此处或许有更好的更换编译器版本的做法,欢迎评论指出。
源码有错误
在进行下述步骤前,建议先卸载 nvidia-driver
以避免其它软件包安装失败。
如果你使用的是官方内核:
sudo apt install linux-image-amd64 linux-headers-amd64
安装完毕之后需要重启你的电脑,再安装 Nvidia 显卡驱动,应该可以解决绝大部分问题。
如果你使用的是第三方内核:
回退显卡驱动版本,然后等待两个星期再进行更新。笔者使用 Liquorix 内核时遇到的即是这种情况。
配置环境变量
现在你已经可以通过在命令前加上
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=NVIDIA_only
来使用 Nvidia 显卡运行命令,例如:
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=NVIDIA_only glxgears -info
如果你使用的是 Bash,那么你可以在 ~/.bashrc
文件的最后加上一行:
alias optirun='__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=NVIDIA_only'
重新登录后就可以直接使用 optirun
代替冗长的环境变量。
optirun glxgears -info
若你将这段环境变量添加到 /etc/profile
中,虽然所有应用程序均可使用 Nvidia
显卡进行渲染,但是这么做会造成桌面渲染的错误。