Ubuntu 22.04.2 LTS下AMD Bonaire GPU启动报错及音频驱动绑定问题求助
Ubuntu 22.04.2 LTS下AMD Bonaire GPU启动报错及音频驱动绑定问题求助
你好,针对你遇到的AMD Bonaire GPU在Ubuntu 22.04.2 LTS下的启动和音频绑定问题,结合你提供的信息,我整理了一些可能的排查和解决思路,希望能帮到你:
问题背景
- 系统版本:Ubuntu 22.04.2 LTS
- GPU型号:AMD Bonaire
- 遇到的错误:
- 黑屏时显示:
amdgpu bonaire not supported in kfd, ubuntu boot error - 添加
nomodeset启动参数后显示:Snd hda intel hsw/bdw hd audio hdmi/dp requires binding with gfx driver
- 黑屏时显示:
已尝试的操作
你已经做了这些尝试:
- 在启动参数中添加
nomodeset quiet splash,触发了第二个错误 - 将
/etc/udev/rules.d/70-amdgpu.rules重命名为/etc/udev/rules.d/70-amdgpu.rules.bak(注:你之前写的路径少了斜杠,应该是/etc/udev/rules.d/70-amdgpu.rules,这可能是dpkg -S找不到路径的原因) - 尝试用
dpkg -S检查重命名后的文件,但提示找不到匹配路径 - 修改规则文件,将GROUP的双等号
==改为单等号= - 之前更新了GPU驱动并安装ROCm用于PyTorch,GRUB默认启动参数包含
amdgpu.vm_fragment_size=9
针对性解决建议
1. 修正GRUB启动参数,移除nomodeset并调整amdgpu相关参数
nomodeset会禁用GPU的KMS模式,这不仅会导致音频驱动无法和GPU绑定,还会影响ROCm的正常工作。建议先恢复默认的KMS模式:
- 启动时进入GRUB菜单(按住Shift键),选择你的Ubuntu条目按
e编辑 - 删除
nomodeset参数,保留quiet splash amdgpu.vm_fragment_size=9,另外可以尝试添加amdgpu.si_support=1 amdgpu.cik_support=1(Bonaire属于CIK架构,这两个参数可以强制启用驱动支持) - 按
Ctrl+X启动系统,如果能正常进入,执行以下命令保存GRUB配置:
sudo update-grub
2. 修复udev规则文件
之前的重命名操作可能因为路径拼写错误没生效,正确的操作应该是:
- 先恢复原规则文件(如果重命名了的话):
sudo mv /etc/udev/rules.d/70-amdgpu.rules.bak /etc/udev/rules.d/70-amdgpu.rules
- 编辑规则文件,确保GROUP的语法正确:
sudo nano /etc/udev/rules.d/70-amdgpu.rules
找到类似SUBSYSTEM=="drm", DRIVERS=="amdgpu", GROUP=="video", MODE=="0660"的行,确认GROUP是单等号=,保存退出后重新加载udev规则:
sudo udevadm control --reload-rules && sudo udevadm trigger
3. 检查ROCm与Bonaire GPU的兼容性
ROCm对旧款GPU的支持有限,Bonaire属于GCN 3架构,ROCm 5.x及以后版本可能不再官方支持。你可以先确认当前安装的ROCm版本:
rocminfo | grep "ROCm version"
如果是较新版本,建议降级到ROCm 4.5.x(这是最后支持GCN 3的版本),步骤如下:
- 卸载当前ROCm:
sudo apt autoremove --purge rocm* sudo apt autoremove --purge hip*
- 添加ROCm 4.5的源:
echo "deb [arch=amd64] https://repo.radeon.com/rocm/apt/4.5 focal main" | sudo tee /etc/apt/sources.list.d/rocm.list sudo apt-key adv --fetch-keys https://repo.radeon.com/rocm/rocm.gpg.key
- 重新安装ROCm:
sudo apt update && sudo apt install rocm-dev
- 添加环境变量:
echo 'export PATH=$PATH:/opt/rocm/bin' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/rocm/lib' >> ~/.bashrc source ~/.bashrc
4. 回滚GPU驱动更新
如果问题是在系统更新GPU驱动后出现的,可以尝试回滚到之前的版本:
- 查看已安装的amdgpu驱动版本:
dpkg -l | grep amdgpu
- 安装旧版本(假设旧版本是
22.20-1299080,替换成你实际的旧版本号):
sudo apt install amdgpu=22.20-1299080
- 锁定驱动版本防止自动更新:
sudo apt-mark hold amdgpu
5. 处理音频驱动绑定问题
如果启动后仍然有音频驱动的错误,可以尝试重新加载音频驱动模块:
sudo rmmod snd_hda_intel sudo modprobe snd_hda_intel
或者检查音频设备的状态:
aplay -l
希望这些方法能帮你解决问题,如果你尝试后还有其他错误信息,可以把输出贴出来,我们再进一步排查。
备注:内容来源于stack exchange,提问作者Hasan Riza
相关产品推荐
相关产品推荐

