Acer Aspire 5 A515-46-R3UB安装Kubuntu解决AMDGPU固件缺失后出现开盖屏幕短暂模糊闪烁问题求助
问题描述
我手上的设备是Acer Aspire 5 A515-46-R3UB,配置为AMD Ryzen 3 3350U、4GB DDR4、128GB NVMe SSD、WiFi 6,原本预装Windows 11。我用Ventoy引导Kubuntu 20.10镜像安装系统,更新时出现了一堆AMDGPU固件缺失的错误:
- Possible missing firmware
/lib/firmware/amdgpu/vega10_cap.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/sienna_cichlid_cap.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/navi12_cap.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/psp_13_0_7_sos.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/psp_13_0_0_sos.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/aldebaran_cap.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_2_imu.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_1_imu.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_0_imu.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_2_rlc.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_2_mec.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_2_me.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_2_pfp.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_1_rlc.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_1_mec.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_1_me.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_1_pfp.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_0_toc.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_0_rlc.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_0_mec.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_0_me.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_0_pfp.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/sdma_6_0_2.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/sdma_6_0_1.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/sdma_6_0_0.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/sienna_cichlid_mes1.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/sienna_cichlid_mes.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/navi10_mes.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_2_mes1.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_2_mes.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_1_mes1.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_1_mes.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_0_mes1.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/gc_11_0_0_mes.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/vcn_4_0_4.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/vcn_4_0_0.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/smu_13_0_7.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/smu_13_0_0.binfor module amdgpu- Possible missing firmware
/lib/firmware/amdgpu/discovery_wifi.binfor module amdgpu
后来我通过以下步骤解决了固件缺失的问题:
sudo apt install git cd ~/Documents && git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git sudo cp ~/Documents/linux-firmware/amdgpu/* /lib/firmware/amdgpu && sudo update-initramfs -k all -u -v sudo apt update && sudo apt upgrade reboot
现在固件错误已经不再出现,但每次开盖(不管是从睡眠状态唤醒还是只是合上再打开),屏幕都会短暂模糊闪烁一下才恢复正常。我安装Windows 10测试过,硬件本身没问题,所以肯定是Kubuntu这边的GPU渲染或者固件相关的bug。有没有大佬能给点解决思路?
可能的排查和解决方向
结合你的设备和系统情况,这个问题大概率是AMDGPU驱动在屏幕唤醒/初始化阶段的兼容性问题,给你几个具体的尝试方向:
1. 升级内核版本
Kubuntu 20.10已经停止官方支持,自带的内核版本偏老,对AMD Ryzen 3000系列集成的Vega 8显卡支持不够完善。你可以尝试安装更稳定的LTS内核,比如5.15版本:
# 安装5.15 LTS内核 sudo apt install linux-generic-hwe-20.04-edge
安装完成后重启系统,看看模糊闪烁问题是否消失。
2. 调整AMDGPU内核参数
有时候驱动的显示控制器(DC)模块在唤醒时会出现异常,你可以修改GRUB参数来调整:
- 编辑GRUB配置文件:
sudo nano /etc/default/grub
- 找到
GRUB_CMDLINE_LINUX_DEFAULT行,添加参数尝试修复:- 强制启用DC模块:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.dc=1" - 如果上面的没用,试试禁用DC模块:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.dc=0" - 也可以强制指定屏幕参数,避免唤醒时重新协商:
(注意替换成你的屏幕实际分辨率和刷新率)GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=eDP-1:1920x1080@60"
- 强制启用DC模块:
- 更新GRUB并重启:
sudo update-grub sudo reboot
3. 检查并更新显卡驱动包
确保你安装了官方的AMDGPU Xorg驱动,必要时重新安装修复可能的文件损坏:
# 安装驱动包 sudo apt install xserver-xorg-video-amdgpu # 重新安装修复 sudo apt reinstall xserver-xorg-video-amdgpu
4. 调整电源管理设置
在KDE桌面的电源管理面板里,检查以下设置:
- 将“开盖唤醒”的显示模式设置为“保持之前的状态”,避免自动切换分辨率或刷新率
- 禁用“动态刷新率”功能(如果有),强制固定为屏幕原生刷新率(比如60Hz)
- 关闭节能模式下的屏幕亮度自动调整,排查是否和唤醒时的亮度变化冲突
5. 改用官方固件包替代手动克隆的固件
你之前直接从git克隆了最新的linux-firmware,可能和老内核版本不兼容。试试切换到Ubuntu官方适配的固件包:
# 备份之前的固件 sudo mv /lib/firmware/amdgpu /lib/firmware/amdgpu_backup # 安装官方固件包 sudo apt install firmware-amd-graphics # 更新initramfs sudo update-initramfs -k all -u -v sudo reboot
官方固件包会匹配当前系统的内核版本,兼容性更好。
备注:内容来源于stack exchange,提问作者Will Cione

