bug 描述
在前几天使用命令升级系统后
sudo apt update; sudo apt-fast upgrade
dkms status
digimend/11, 5.15.0-71-generic, x86_64: installed
digimend/11, 5.15.0-76-generic, x86_64: installed (original_module exists)
内核从5.15.0-71 升级到5.15.0-76。
升级过程中出现了黑屏的现象,观察机器还开着,但是两个显示器都没有输入信息,无奈强制关机重启。
重启后,我有两个显示屏
- 左边的:24寸,HDMI接口,1080p 显示器A, 1.0缩放
- 右边的:27寸,DP接口,4k 显示器B, 1.5缩放
显示器A正常,显示器B 会间隔2s左右黑屏一次,就很难受
尝试方法1-回退内核版本
我其实还有5.15.0-75 内核,回退回去任然有问题
切换到5.15.0-71内核,不闪烁了,但是有如下几个问题
-
无法使用perf, 更新后移除了-71内核的linux-tools, 暂时可以使用nix 安装的perf解决
$: sudo apt install linux-tools-5.15.0-71-generic [sudo] yanyue 的密码: 正在读取软件包列表... 完成 正在分析软件包的依赖关系树... 完成 正在读取状态信息... 完成 E: 无法定位软件包 linux-tools-5.15.0-71-generic E: 无法按照 glob ‘linux-tools-5.15.0-71-generic’ 找到任何软件包 $ apt serch linux-tools-5.15.0- 最早只支持linux-tools-5.15.0-72 $ nix-env -iA nixpkgs.linuxPackages.perf $ which perf /home/yanyue/.nix-profile/bin/perf
-
NVIDIA显卡驱动支持异常,导致浏览网页很卡顿
$ nvidia-smi nvidia-smi Failed to initialize NVML: Driver/library version mismatch $ sudo dmesg NVRM: API mismatch: the client has the version 535.54.03, but NVRM: this kernel module has the version 530.41.03. Please NVRM: make sure that this kernel module and all NVIDIA driver NVRM: components have the same version.
这里显示我内核编译的显卡驱动driver 是530,但是目前安装的显卡驱动是535
$ ubuntu-drivers devices == /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 == modalias : pci:v000010DEd00002187sv000010B0sd0000139Dbc03sc00i00 vendor : NVIDIA Corporation model : TU116 [GeForce GTX 1650 SUPER] driver : nvidia-driver-535-open - distro non-free driver : nvidia-driver-470 - distro non-free driver : nvidia-driver-450-server - distro non-free driver : nvidia-driver-525-server - distro non-free driver : nvidia-driver-525 - distro non-free driver : nvidia-driver-535 - distro non-free recommended driver : nvidia-driver-535-server - distro non-free driver : nvidia-driver-535-server-open - distro non-free driver : nvidia-driver-525-open - distro non-free driver : nvidia-driver-470-server - distro non-free driver : xserver-xorg-video-nouveau - distro free builtin # 能看出推荐535驱动,也可以尝试525驱动 $ sudo ubuntu-drivers autoinstall All the available drivers are already installed. $ sudo apt install nvidia-driver-530 $ sudo apt install nvidia-driver-535
尝试方法2-回退显卡驱动
卸载535驱动,使用525驱动(目前已经没有530版本的驱动了)
$ sudo apt install nvidia-driver-525
但问题任然存在
尝试方法3-使用自带核显
我的cpu是intel 12700k, GPU是nvidia 1650super
可以使用核显来带动4k屏幕应该没有问题
但是发现我的核显输出只有2个DP接口,而我的显示器需要1个HDMI, 一个DP,
暂时放弃这个方法
尝试方法4-使用Wayland
$ sudo vim /etc/gdm3/custom.conf
# 修改成true
WaylandEnable=true
$ sudo systemctl restart gdm3
一年前尝试使用过wayland, 但是至今任然不支持两个屏幕使用不同整数倍的缩放,如果屏幕B使用1.5倍缩放,屏幕A也默认使用1.5倍缩放,wayland 还需要继续更新啊!此外wayland 似乎和linux 搜狗输入法用的fcitx5不太兼容。
没办法,还是暂时用回X11吧
尝试方法5-使用高版本内核
之前有同学给我推荐过xanmod内核
按照官网安装后,使用的6.4 版本的内核
但是任然对nvidia驱动支持不好, 显示缺少一些系统固件
$ nvidia-smi
NVIDIA-SMI has failed because it could not communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
$ sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-6.4.3-x64v3-xanmod1
W: Possible missing firmware /lib/firmware/i915/dg2_huc_gsc.bin for module i915
W: Possible missing firmware /lib/firmware/i915/adlp_dmc.bin for module i915
W: Possible missing firmware /lib/firmware/i915/mtl_dmc.bin for module i915
解决方法
最后还是使用ubuntu稳定版本的最新内核,调整分辨率和缩放后发现:
使用1.0 整数缩放,而不使用1.5版本的缩放,就不会有闪烁的情况了。
有点无奈,因为这样我左右两个屏幕不是很一致,左边字体较大,右边字体较小。
不过折腾了一上午,暂时先这样能用吧,希望下个版本ubuntu小版本升级能修复这个问题吧。