Linux(manjaro)下双显卡驱动安装以及cuda环境配置

本文主要记录linux系统(manjaro)双显卡(Intel集显+Nvidia独显)的驱动安装以及cuda的安装细节。

注:本文使用了arch系的AUR库,故只适用arch系Linux,不支持其他系统。

写在前面

linux下双显卡的切换一直有很大问题,最近在学习深度学习,为了在linux系统下使用gpu加速,我折腾了无数次,主要个人电脑是Intel集成显卡搭配Nvidia独立显卡,双显卡切换遇到了很多问题,查看网络上教程结果图形界面进不去了,导致我重装了无数次系统。最后我从deb系改到了arch系,终于成功实现了环境安装配置,特地在此记录。

根据仓库的说明,Linux系统下切换显卡的方式有:使用 Bumblebee,使用 nvidia-xrun,以及直接禁用集显等,optimus-manager采用第三种方式,将多个复杂命令整合,帮助我们非常方便的切换显卡。

独立显卡驱动安装

显卡驱动安装还是比较容易的,直接命令执行

1
sudo mhwd -a pci nonfree 0300

我安装时缺少依赖video-modesetting,也可以使用以下命令一键安装

1
sudo mhwd -i pci video-modesetting

双显卡切换

双显卡切换主要使用了AUR库中的optimus-manager,我使用的是yay来安装:

1
yay -S optimus-manager

我的桌面系统是KDE,所以使用前需要将/etc/sddm.conf文件中以DisplayCommandDisplayStopCommand开头的两行前面加上#注释掉,使用其他桌面系统的也有一些小细节需要修改,具体参考github仓库的README文件,然后就可以使用optimus-manager来切换显卡啦,具体切换命令如下(注意切换会自动重新登录,记得把未保存文件保存):

optimus-manager --switch nvidia 切换到Nvidia显卡

optimus-manager --switch intel 切换到Intel显卡并关闭Nvidia显卡

optimus-manager --switch hybrid切换到Intel显卡但保持Nvidia显卡后台可用(类似Windows系统)

另外,还有一个基于QT的切换桌面组件optimus-manager-qt,可以利用鼠标切换,更加的方便。

安装cuda以及深度学习环境测试

直接命令安装:

1
sudo pacman -S cuda cudnn

安装结束后测试一下,将sample目录复制过来运行一下(一般需要好久)

1
2
3
4
5
cp -r /opt/cuda/samples ~
cd ~/samples/
make
cd bin/x86_64/linux/release/
./deviceQuery

如果最后出现了pass就说明成功了,接下来就可以安装深度学习库了。

我个人喜欢使用pytorch,直接pip安装一下:

1
pip install torch torchvision

随后进入python环境:

1
2
import torch
torch.cuda.is_available()

输出true,就可以使用cuda来加速计算了。