Debian 9下NVIDIA显卡+Intel核显配置问题:Cinnamon桌面无法正常启动
嘿,我之前也碰到过几乎一模一样的双显卡配置坑——Debian+独显+核显搞桌面与计算分离,确实容易因为Xorg显卡选择逻辑出问题导致Cinnamon fallback。下面是我亲测有效的分步解决方案:
第一步:清理冲突的NVIDIA图形驱动
首先得把带X桌面支持的NVIDIA驱动彻底卸掉,这些驱动会和Intel核显的X配置抢资源,直接导致Cinnamon启动失败:
sudo apt purge nvidia-driver* nvidia-xconfig sudo apt autoremove && sudo apt clean
第二步:安装Intel核显的X驱动
确保Intel核显的桌面渲染驱动正常安装:
sudo apt install xserver-xorg-video-intel
第三步:强制Xorg使用Intel核显
创建专属的Xorg配置文件,让系统明确知道要用Intel显卡渲染桌面:
- 先创建配置目录:
sudo mkdir -p /etc/X11/xorg.conf.d
- 编辑配置文件:
sudo nano /etc/X11/xorg.conf.d/20-intel.conf
- 粘贴以下内容(
BusID可以用lspci | grep VGA确认Intel显卡的PCI地址,绝大多数情况下都是PCI:0:2:0):
Section "Device" Identifier "Intel Graphics" Driver "intel" BusID "PCI:0:2:0" EndSection
保存退出(按Ctrl+O回车,再Ctrl+X)。
第四步:配置源并安装Cinnamon
Debian9默认源缺少contrib和non-free,得加上才能装全Cinnamon的依赖:
- 编辑源文件:
sudo nano /etc/apt/sources.list
- 给每个
deb和deb-src行末尾加上contrib non-free,比如:
deb http://deb.debian.org/debian stretch main contrib non-free deb-src http://deb.debian.org/debian stretch main contrib non-free deb http://security.debian.org/debian-security stretch/updates main contrib non-free deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free
- 更新源并安装Cinnamon:
sudo apt update sudo apt install cinnamon
第五步:设置默认桌面会话
如果之前用的是fvwm,建议装一个显示管理器(比如lightdm)来方便选择Cinnamon会话:
sudo apt install lightdm
安装时会让你选默认显示管理器,直接选lightdm就行。重启后在登录界面点击右上角的会话选项,一定要选Cinnamon(别选带Software Rendering的那个,那就是fallback模式)。
如果不想用显示管理器,也可以手动设置默认会话:
sudo update-alternatives --config x-session-manager
在弹出的列表里选cinnamon-session对应的序号,回车确认即可。
第六步:安装NVIDIA纯计算驱动
现在给NVIDIA显卡装只用于科学计算的无头驱动(不带X桌面支持),这样就不会和Intel的桌面渲染冲突了:
sudo apt install nvidia-headless-390 nvidia-cuda-toolkit
Debian9对应的稳定无头驱动版本是390,这个版本对CUDA计算的支持足够,也完美兼容Debian9的内核。
验证配置
重启系统后:
- 登录Cinnamon,打开终端输入
glxinfo | grep "OpenGL renderer string",输出应该是Intel的显卡型号,比如Intel(R) HD Graphics 630,说明桌面确实用的是核显; - 再输入
nvidia-smi,如果能看到NVIDIA显卡的信息和驱动版本,说明计算驱动正常,之后跑CUDA程序会自动调用NVIDIA显卡。
如果还是进fallback模式,去看/var/log/Xorg.0.log找错误信息,大概率是Xorg没加载Intel驱动,检查之前的配置文件有没有写错。
内容的提问来源于stack exchange,提问作者Mauricio

