更换显卡驱动时遇到错误

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
hidoggie
帖子: 3
注册时间: 2024-07-20 9:17
系统: ubuntu20.02.LTS

更换显卡驱动时遇到错误

#1

帖子 hidoggie » 2024-07-20 9:24

因为外接显示屏无法显示,所以想要更换显卡驱动,输入sudo ubuntu-drivers autoinstall后出现下面报错 :Cry

正在设置 nvidia-dkms-535-server-open (535.183.01-0ubuntu0.20.04.1) ...
update-initramfs: deferring update (trigger activated)
INFO:Enable nvidia
DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/dell_latitude
DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/put_your_quirks_here
DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/lenovo_thinkpad
Removing old nvidia-535.183.01 DKMS files...

------------------------------
Deleting module version: 535.183.01
completely from the DKMS tree.
------------------------------
Done.
Loading new nvidia-535.183.01 DKMS files...
Building for 5.15.10-rt24
Building for architecture x86_64
Building initial module for 5.15.10-rt24
ERROR (dkms apport): kernel package linux-headers-5.15.10-rt24 is not supported
Error! Bad return status for module build on kernel: 5.15.10-rt24 (x86_64)
Consult /var/lib/dkms/nvidia/535.183.01/build/make.log for more information.
dpkg: 处理软件包 nvidia-dkms-535-server-open (--configure)时出错:
已安装 nvidia-dkms-535-server-open 软件包 post-installation 脚本 子进程返回错误状态 10
dpkg: 依赖关系问题使得 nvidia-driver-535-server-open 的配置工作不能继续:
nvidia-driver-535-server-open 依赖于 nvidia-dkms-535-server-open (<= 535.183.01-1);然而:
软件包 nvidia-dkms-535-server-open 尚未配置。
nvidia-driver-535-server-open 依赖于 nvidia-dkms-535-server-open (>= 535.183.01);然而:
软件包 nvidia-dkms-535-server-open 尚未配置。

dpkg: 处理软件包 nvidia-driver-535-server-open (--configure)时出错:
依赖关系问题 - 仍未被配置
因为错误消息指示这是由于上一个问题导致的错误,没有写入 apport 报告。
正在处理用于 initramfs-tools (0.136ubuntu6.7) 的触发器 ...
update-initramfs: Generating /boot/initrd.img-5.15.10-rt24
在处理时有错误发生:
nvidia-dkms-535-server-open
nvidia-driver-535-server-open
E: Sub-process /usr/bin/dpkg returned an error code (1)
头像
astolia
论坛版主
帖子: 6703
注册时间: 2008-09-18 13:11

Re: 更换显卡驱动时遇到错误

#2

帖子 astolia » 2024-07-20 10:11

去看 /var/lib/dkms/nvidia/535.183.01/build/make.log 的内容才知道具体是为什么出错
hidoggie
帖子: 3
注册时间: 2024-07-20 9:17
系统: ubuntu20.02.LTS

Re: 更换显卡驱动时遇到错误

#3

帖子 hidoggie » 2024-07-20 10:32

astolia 写了: 2024-07-20 10:11 去看 /var/lib/dkms/nvidia/535.183.01/build/make.log 的内容才知道具体是为什么出错
以下是log文件里的内容:
DKMS make.log for nvidia-535.183.01 for kernel 5.15.10-rt24 (x86_64)
2024年 07月 20日 星期六 09:15:13 CST
make[1]: 进入目录“/usr/src/linux-headers-5.15.10-rt24”
test -e include/generated/autoconf.h -a -e include/config/auto.conf || ( \
echo >&2; \
echo >&2 " ERROR: Kernel configuration is invalid."; \
echo >&2 " include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo >&2 " Run 'make oldconfig && make prepare' on kernel src to fix it."; \
echo >&2 ; \
/bin/false)
warning: the compiler differs from the one used to build the kernel
The kernel was built by: gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
You are using: cc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
make -f ./scripts/Makefile.build obj=/var/lib/dkms/nvidia/535.183.01/build \
single-build= \
need-builtin=1 need-modorder=1
The kernel you are installing for is a PREEMPT_RT kernel!

The NVIDIA driver does not support real-time kernels. If you
are using a stock distribution kernel, please install
a variant of this kernel that does not have the PREEMPT_RT
patch set applied; if this is a custom kernel, please
install a standard Linux kernel. Then try installing the
NVIDIA kernel module again.

*** Failed PREEMPT_RT sanity check. Bailing out! ***

make[2]: *** [/var/lib/dkms/nvidia/535.183.01/build/Kbuild:351:preempt_rt_sanity_check] 错误 1
make[2]: *** 正在等待未完成的任务....
make[1]: *** [Makefile:1868:/var/lib/dkms/nvidia/535.183.01/build] 错误 2
make[1]: 离开目录“/usr/src/linux-headers-5.15.10-rt24”
make: *** [Makefile:82:modules] 错误 2
头像
astolia
论坛版主
帖子: 6703
注册时间: 2008-09-18 13:11

Re: 更换显卡驱动时遇到错误

#4

帖子 astolia » 2024-07-20 14:58

hidoggie 写了: 2024-07-20 10:32 The kernel you are installing for is a PREEMPT_RT kernel!

The NVIDIA driver does not support real-time kernels. If you
are using a stock distribution kernel, please install
a variant of this kernel that does not have the PREEMPT_RT
patch set applied; if this is a custom kernel, please
install a standard Linux kernel. Then try installing the
NVIDIA kernel module again.
这段不是说得很明白吗?n卡驱动不支持实时内核,你要用它得驱动就要换成普通内核
hidoggie
帖子: 3
注册时间: 2024-07-20 9:17
系统: ubuntu20.02.LTS

Re: 更换显卡驱动时遇到错误

#5

帖子 hidoggie » 2024-07-20 15:04

astolia 写了: 2024-07-20 14:58
hidoggie 写了: 2024-07-20 10:32 The kernel you are installing for is a PREEMPT_RT kernel!

The NVIDIA driver does not support real-time kernels. If you
are using a stock distribution kernel, please install
a variant of this kernel that does not have the PREEMPT_RT
patch set applied; if this is a custom kernel, please
install a standard Linux kernel. Then try installing the
NVIDIA kernel module again.
这段不是说得很明白吗?n卡驱动不支持实时内核,你要用它得驱动就要换成普通内核
哦哦,这样啊!感谢大佬!那这种实时内核就没有办法外接显示器了对吗?
头像
astolia
论坛版主
帖子: 6703
注册时间: 2008-09-18 13:11

Re: 更换显卡驱动时遇到错误

#6

帖子 astolia » 2024-07-20 16:39

hidoggie 写了: 2024-07-20 15:04 哦哦,这样啊!感谢大佬!那这种实时内核就没有办法外接显示器了对吗?
实时内核并没有限制外接显示器。
你没说你硬件的具体情况,我只能猜测你硬件上的外接显示接口是从n卡上引出来的,所以要使用它才需要显卡驱动的支持。
开源的nouveau对某些显卡型号的支持度不够好,所以你想用nvidia官方的闭源驱动。
而n卡闭源驱动不打算支持rt内核,所以在检测到当前是rt内核时拒绝进一步执行。

如果在用nouveau驱动时,/sys/class/drm/下面能看到外接显示接口,那么可以尝试通过内核命令行参数video=来指定输出端口
要用官方驱动,也可以通过设置环境变量IGNORE_PREEMPT_RT_PRESENCE=1来绕过n卡驱动的检查,但不保证驱动不出问题
回复