将Ubuntu设置为不使用独显渲染桌面

将Ubuntu设置为不使用独显渲染桌面

系统版本:ubuntu24.04

起因是nvidia的50系列显卡经常出现GSP崩溃的问题导致掉卡,如果桌面环境绑定在独显上,那么在独显设备丢失的同时,Xorg渲染的桌面也会跟着一起挂掉。

目前虽然无法彻底解决掉卡问题,但至少先保证桌面环境可以存活,然后再研究怎么恢复显卡的问题。

操作方法

查询当前显示设备:

bash 复制代码
lspci -nn | grep -E "VGA|3D"
07:00.0 VGA compatible controller [0300]: ASPEED Technology, Inc. ASPEED Graphics Family [1a03:2000] (rev 41)
18:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:2b85] (rev a1)
c3:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:2b85] (rev a1)

决定使用非独显设备进行渲染,记住它的地址:07:00.0

新建配置文件

bash 复制代码
sudo vi /etc/X11/xorg.conf.d/10-aspeed.conf

输入内容,其中07:00.0的地址被翻译为PCI:7:0:0:

bash 复制代码
Section "ServerFlags"
    Option "AutoAddGPU" "off"
    Option "DontVTSwitch" "false"
EndSection

Section "Device"
    Identifier  "ASPEED_Device"
    Driver      "modesetting"
    BusID       "PCI:7:0:0"
    Option      "PrimaryGPU" "yes"
EndSection

Section "Screen"
    Identifier  "ASPEED_Screen"
    Device      "ASPEED_Device"
    DefaultDepth 24
EndSection

Section "ServerLayout"
    Identifier  "Default_Layout"
    Screen      "ASPEED_Screen"
EndSection

重启

bash 复制代码
sudo reboot

运行nvida-smi,发现里面已经不包含Xorg相关进程。

解除句柄占用

上面所做的只是使得Xorg不再占用nvidia的计算能力,在nvidia显卡设备丢失时,不会导致桌面挂掉,但桌面程序依然占用着显卡的句柄,因此,在没有彻底关闭桌面时,无法使用一些命令强制刷新Pcle连接,影响显卡的恢复。

使用命令查看占用显卡的进程:

bash 复制代码
sudo fuser -v /dev/nvidia*

可以发现其中仍然存在着Xorg的程序。

如果要更进一步,彻底使得Xorg完全无视nvidia显卡并且不占用任何句柄,需要修改grub开机引导的相关参数。

编辑 Grub:

bash 复制代码
sudo vim /etc/default/grub

在GRUB_CMDLINE_LINUX_DEFAULT的值引号内的末尾加入nvidia_drm.modeset=0,注意要与前面已有的参数用空格隔开。

更新并刷新引导:

bash 复制代码
sudo update-grub
sudo update-initramfs -u

重新启动:

bash 复制代码
sudo reboot

此时,再运行

bash 复制代码
sudo fuser -v /dev/nvidia*

发现占用显卡的进程里面已经没有Xorg的进程。

相关推荐
feng_you_ying_li42 分钟前
linux之网络层
linux·运维·网络
未来之窗软件服务1 小时前
Linux 运维日志删除的多种方式—东方仙盟
linux·运维·服务器·仙盟创梦ide·东方仙盟
小雉系统1 小时前
BcoreOS实战:用一个升级包,让Rocky Linux跑进Debian服务器
linux·运维·服务器·debian
thethefighter1 小时前
快速预览Word、WPS秒开,支持空格弹窗
linux·word·wps·快速预览·空格弹窗·nhdeepview
用户8351414049491 小时前
把日志和寄存器值喂给AI做故障定位,我的实际问法
linux·ubuntu
Ruiery2 小时前
Linux 6.6内核内存管理深度解析(十七):vmalloc — 内核要“虚拟连续“就够:物理页逐个凑,页表来连
linux·运维·服务器
Escalating_xu2 小时前
【Linux 网络编程】ARP 的具体过程与 ARP 欺骗:一条 IP → MAC 映射,怎样改变数据的去向?
linux·网络·tcp/ip
进击的荆棘2 小时前
MySQL——在ubuntu环境下安装MySQL
数据库·mysql·ubuntu
坚定的共产主义生产设备永不宕机2 小时前
服务器从裸机开始搭建ESXI虚拟机
linux·服务器·网络
刚入门的大一新生2 小时前
Linux-线程封装
linux·运维·服务器