[Share Experiences] 一个百思不得其解的Linux黑屏问题
Tofloor
poster avatar
littlebat
deepin
2024-02-22 10:28
Author

(首发地址:学习日记 一个百思不得其解的Linux黑屏问题

在本次视频分享中,我遇到了一个奇怪的Linux系统配置问题。一位使用Ubuntu 20.04操作系统的神州笔记本用户遇到三大故障:显示器无法扩展至第二屏、无线WiFi功能缺失以及蓝牙不可用。初步判断认为是由于内核版本过低导致驱动程序不兼容。

在尝试编译升级内核至5.18版本以匹配“Intel Alder Lake-U CNVi: Wireless-AC”无线网卡所需的最低内核要求后,我在 Nvidia 控制面板中切换至Nvidia 3050独立显卡显示时却出现了黑屏现象,无论是新编译的5.18内核还是原版5.15内核都无法正常启动图形界面和终端界面。卸载了 Nvidia 驱动也不行。

经过一系列深入排查和尝试,靠同时修改 Grub 内核启动参数(nomodeset)、执行“sudo systemctl set-default multi-user”设置多用户终端模式等措施,最终登录终端通过编译6.7内核,增添固件,安装 Nvidia 驱动,才成功修复了所有故障,使WiFi、蓝牙和双屏扩展功能恢复正常。

值得注意的是,尽管起初客户电脑能在5.15内核下正常显示,但在切换独显后即使恢复原设置也仍然出现黑屏,这一异常情况尚未得到完全解释,推测可能与旧内核对核芯显卡的支持不足有关。敬请留言交流。后附视频语音转录完整文本。视频演示:https://www.bilibili.com/video/BV1jv421C7FX/

视频语音转录文本如下:

朋友们,大家好
我是淘宝网学习日记小店
做Linux服务的learndiary
在前几天,我在为一位客户
做Linux服务的时候
碰到一个非常奇怪的问题
我先简单介绍一下它这个电脑的情况
它是Ubuntu 20.04 操作系统
电脑是神州的笔记本
13代英特尔带核显的CPU
Nvidia 3050显卡
然后出现的问题就是
显示器不能扩展显示屏
第二个显示屏它不亮
第二个问题就是没有无线WiFi
第三个问题就是没有蓝牙
我当时就判断
它这个应该是发行版的内核版本低了
驱动程序不够
于是我就按照常规的方法
在Linux硬件网上
就是这个网站
查询一下
它的无线网卡
它的无线网卡就是这款(Intel Alder Lake-U CNVi: Wireless-AC)
我看了一下
它要求的那个最低内核是5.18
然后它Ubuntu 20.04的内核是5.15
我按照最接近原装内核的版本的那个思想
就编译安装5.18内核
编译安装完成以后
因为它那个显示屏不能扩展
然后我就按照以前的经验
把那个Ubuntu的显示设置成独立显卡显示
就用 prime-select nvidia
这条命令选择使用独立显卡
选择以后重启以后然后就碰到问题了
它的显示是黑屏的
然后我又把它恢复成 on-demand(prime-select on-demand)
这种状态
但是照样是黑屏
不管是用我新编译的5.18的内核
还是用它的旧的5.15的内核
都是黑屏
然后我又在那个grab参数里面
grab启动参数里面
加了一个
nomodeset
这个内核启动参数
仍然黑屏
然后
我又
尝试
多用户模式就是
终端模式
用这条命令
sudo systemctl set-default multi-user这条命令
设置成默认启动的终端
但是也不能启动到终端
照样黑屏
同样是原来的旧内核
5.15内核
和新内核
5.18内核
都是黑屏
我甚至把他安装的525 Nvidia驱动
卸载掉
同样是黑屏
弄得我都不知道怎么办了
当然最后问题解决了
我就把它设置成 multi-user
就是终端模式
然后再加上Grab的nomodeset
这两种方法组合
然后终于能够进入终端
进行修复工作
然后我最先的时候还没有检查他的其他的配置
我只查了这个无线网卡驱动
然后我就(判断)这个明显是显示驱动的问题
然后我就看了他的集成(核芯)显卡
集成(核芯)显卡查他的型号
这个型号查出来以后(Intel Raptor Lake-P [Iris Xe Graphics])
我看他的要求驱动(内核)是5.19
明显就比那个无线网卡驱动的要求的内核版本要高一些
然后我也想到前段时间看了一个情况
就是这个情况
它这个同样是英特尔的无线网卡
WiFi 6
AX101
这个无线网卡我在这个网站上
在这个网站上查询
它是5.12内核就应该支持的
但是它因为内核的bug
造成这个驱动
后面这个驱动是要到6.4内核
才能够完全正常的使用
大家可以看
哦 不是这个链接
看一下是哪个链接
就是这个
英特尔网站的链接
就是这款显卡(口误)
这款WiFi
最后
它是在
6.4内核下才能够正常工作
但是从这里
查找的结果
它是5.12内核
这个网站
查找的结果是5.12内核
就能够工作
我就想到这个问题
然后我就不想折腾了
然后我就直接按照我前一段时间写的一篇
就是怎样在Ubuntu下面
安装最新的6.x最新内核
然后我就跟那这篇文章用的方法一模一样
它也是20.04
在Ubuntu 20.04下
安装的Kernel 6.7内核
安装完以后
然后安装Nvidia驱动
最后这个WiFi可以使用了(记错了,没先测试WiFi)
但是这个蓝牙(应该是必需固件的)
然后同样是按照这篇文章的方法
我采用了一个比较粗暴的方式
就是先备份这个固件的文件夹
就是/lib/firmware这个文件夹
先把它备份
备份以后
然后就下载
这个固件包
就是20231211
这个版本的固件包
解压开
复制到这个固件部里面
然后它就有一些更新的固件
这样它的WiFi和蓝牙都能够使用了
然后扩展屏也能够使用
问题虽然解决了
但是我在这里说一下
为什么我觉得是个非常奇怪的问题
最先的时候
客户的电脑是能够正常显示的
只是它不能(显示在)第二块显示屏
不能扩展第二块显示屏
Nvidia驱动也是正常的
但是我新编译的内核
编译后
我就执行了一个选择独立显卡
这个命令
选择以后
prime-select nvidia
选择以后不能启动
我把它恢复到默认的 on-demand
它却不能够正常显示了
我也不知道是什么原因
直到现在都不明白
但是我是
我最先选的时候
还不是通过这个命令行
但是是通过那个Nvidia控制面板
但是效果是一样的
就是这种通过这个Nvidia控制面板
他有一个
他有一个设置
他有一个设置
就是在有核显和有
Nvidia混合显卡的时候
他都会出现一个就是
选择独立显卡
或者选择这个按需启动
按需调用的这个on-demand的这个选项
我当时还是通过那个图形界面选择的
然后选择以后
就出现黑屏不能启动的问题
恢复同样用这个on-demand(命令的方式)
这个把它恢复过去
恢复成应该是跟原先
他那个状态是一样的
同样不能启动
这就是一个很奇怪的问题
我现在的猜测就是
它原来的内核版本对核显的支持不好
因为笔记本它(是)混合显卡
即使你使用独显
它也要通过核显的显示进行工作
所以说我把这个内核重新编译成6.7内核以后
它就能够正常工作了
但是这里面有个问题
为什么原先客户安装的时候
那个5.15内核能够显示
同样是核显和独显
它能够正常显示
所以说这就是一个问题
我觉得有碰到这种情况的朋友
可以提供点思路
或者给出你的猜想
咱们可以互相探讨一下
这是怎么一回事
好了
今天就分享到这里
感谢大家观看
再见

Reply Favorite View the author
All Replies
raspbian
deepin
2024-02-22 11:12
#1

太长不看

Reply View the author
青稚
deepin
2024-02-22 13:32
#2

13代推荐使用22.04,康康22.04是否正常。

Reply View the author
Tonny
deepin
2024-02-22 13:42
#3
It has been deleted!
littlebat
deepin
2024-02-22 14:39
#4
Tonny It has been deleted!

应该不是n卡驱动问题,5.15支持3050没问题,处理之前可以显示的,nvidia-smi 信息也正常,只是不能扩展双屏。

Reply View the author
littlebat
deepin
2024-02-22 14:40
#5
青稚

13代推荐使用22.04,康康22.04是否正常。

22.04多半能用。但有的客户不愿意升级的

Reply View the author
a***[email protected]
deepin
2024-02-22 20:37
#6

感觉像是在看歌词

Reply View the author
owen_337
deepin testing team
2024-02-23 16:14
#7

如果要求是在最低内核是5.18,还是建议使用之后的内核,比如6.1。当然建议备份数据,上v23吧。显卡可以在https://www.nvidia.cn/Download/index.aspx?lang=cn上进行下载安装。

Reply View the author