Ubuntu 23.10下NVIDIA GT730显卡未驱动GNOME Shell/Xorg渲染,nvidia-smi无相关进程且系统卡顿求助
问题描述
我安装了Ubuntu 23.10,显卡是现在属于legacy级别的NVIDIA GT 730。安装的时候GDM根本出不来,只有黑屏,最后是用安全图形模式完成安装的。装好系统后我装了对应GPU的最新驱动——NVIDIA 470版本,现在用的是Xorg环境,在「设置>关于>系统详情」里能看到显卡显示为“NVIDIA GT730”,但我觉得GNOME并没有用这块GPU来做显示渲染,整个系统都特别卡顿缓慢。
我查了nvidia-smi的输出,里面没有任何运行中的进程,但我搜解决方案的时候看到别人的nvidia-smi里会显示Xorg和gnome-shell进程,说明他们的GPU在负责渲染GNOME Shell。我已经试过重装驱动了,现在该怎么办?
相关命令输出
sudo X -version输出:
X.Org X Server 1.21.1.7 X Protocol Version 11, Revision 0 Current Operating System: Linux Dhruv 6.5.0-14-generic #14-Ubuntu SMP PREEMPT DYNAMIC Tue Nov 14 14:59:49 UTC 2023 x86_64 Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.5.0-14-generic root=UUID=49c34387-1b4a-45d8-a53a-4f15baeb775d ro quiet splash vt.handoff=7 xorg-server 2:21.1.7-3ubuntu2.4 (For technical support please see http://www.ubuntu.com/support) Current version of pixman: 0.42.2 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version
cat /var/log/Xorg.0.log | grep "LoadModule"输出:
(II) LoadModule: "glx" 8.725] (II) LoadModule: "nvidia" 8.735] (II) LoadModule: "nouveau" 8.739] (II) LoadModule: "modesetting" 8.740] (II) LoadModule: "fbdev" 8.741] (II) LoadModule: "vesa" 8.748] (II) LoadModule: "fb" [ 8.748] (II) LoadModule: "wfb" [ 8.749] (II) LoadModule: "ramdac" 8.751] (II) LoadModule: "fbdevhw" 8.753] (II) LoadModule: glxserver_nvidia" (II) LoadModule: "dri2" 9.853] (II) LoadModule: "libinput"
解决方案建议
我完全理解这种明明识别到显卡却没法正常用的憋屈,结合你的情况和日志信息,咱们一步步来排查修复:
强制Xorg优先使用NVIDIA驱动
从你的Xorg日志能看到,系统同时加载了nvidia、nouveau等多个显卡驱动模块,这会导致Xorg可能没优先选NVIDIA。咱们手动生成专属配置文件来强制指定:
执行命令:sudo nvidia-xconfig这个命令会生成
/etc/X11/xorg.conf,重启系统后再查看nvidia-smi,应该能看到Xorg和gnome-shell进程了。彻底禁用Nouveau开源驱动
闭源NVIDIA驱动和Nouveau很容易冲突,即使装了闭源驱动,只要Nouveau没被禁用就可能抢控制权。咱们来确认并配置:- 创建或编辑
/etc/modprobe.d/blacklist-nouveau.conf文件:sudo nano /etc/modprobe.d/blacklist-nouveau.conf - 添加以下内容:
blacklist nouveau options nouveau modeset=0 - 更新initramfs使配置生效:
sudo update-initramfs -u
完成后重启系统。
- 创建或编辑
确认登录时使用Xorg会话
虽然你说用的是Xorg,但还是再确认一下:登录界面点击用户名旁边的小齿轮,选择「Ubuntu on Xorg」,不要选Wayland——老NVIDIA显卡对Wayland的兼容性很差,会导致无法用GPU渲染。调整NVIDIA显卡电源模式
有些老显卡默认开了节能模式,会限制性能导致卡顿。咱们来调整:- 先安装nvidia-settings工具(如果没装):
sudo apt install nvidia-settings - 打开后找到「PowerMizer」选项,把模式切换到「Prefer Maximum Performance」,应用设置后重启看看效果。
- 先安装nvidia-settings工具(如果没装):
检查驱动与内核的兼容性
你的内核是6.5.0-14,而NVIDIA 470是legacy驱动,可能存在兼容性问题。可以尝试两种方式:- 查看Ubuntu软件仓库是否有适配6.5内核的470驱动更新,执行
sudo apt update && sudo apt upgrade nvidia-driver-470更新到最新适配版本; - 如果更新后还是不行,可以考虑降级到更稳定的6.2系列内核,老驱动对旧内核的兼容性更好。
- 查看Ubuntu软件仓库是否有适配6.5内核的470驱动更新,执行
备注:内容来源于stack exchange,提问作者Mayank

