AMD RX 5600/5700系列GPU在Wine运行DX11/12游戏时重置问题求助
AMD RX 5600/5700系列GPU在Wine运行DX11/12游戏时频繁GPU重置问题
本人使用AMD RX 5600/5700系列GPU(内核驱动为amdgpu),通过Wine运行支持DirectX 11/12的游戏时,频繁出现GPU重置问题。dmesg日志显示[drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx_0.0.0 timeout错误,触发GPU重置流程。此前尝试在GRUB_CMDLINE_LINUX_DEFAULT中添加amdgpu.dcdebugmask = 0x10,但问题未解决,寻求解决方案。
硬件信息
2d:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] (rev ca) Subsystem: ASUSTeK Computer Inc. Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] Kernel driver in use: amdgpu Kernel modules: amdgpu
关键dmesg日志片段
[ 1356.466274] [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx_0.0.0 timeout, signaled seq=1552686, emitted seq=1552688 [ 1356.466639] [drm:amdgpu_job_timedout [amdgpu]] *ERROR* Process information: process CivilizationVI. pid 3855 thread dxvk-submit pid 3934 [ 1356.466971] amdgpu 0000:2d:00.0: amdgpu: GPU reset begin!
解决方案尝试
- 更新内核与amdgpu驱动:Navi 10系列的驱动在较新内核中修复了不少稳定性问题,建议升级到5.15以上的长期支持内核,或最新稳定内核。
- 调整Wine/DXVK参数:
- 强制使用DX11模式运行游戏(如果游戏支持),部分DX12游戏在Wine下兼容性不如DX11;
- 在DXVK配置文件中添加
dxgi.syncInterval = 1或dxgi.syncInterval = 0,避免垂直同步相关的GPU负载异常; - 禁用Wine的ESYNC/FSYNC,尝试添加环境变量
WINEESYNC=0或WINEFSYNC=0启动游戏。
- 修改amdgpu内核参数:
- 显式启用GPU恢复:添加
amdgpu.gpu_recovery=1到GRUB_CMDLINE_LINUX_DEFAULT; - 解锁电源管理特性:添加
amdgpu.ppfeaturemask=0xffffffff; - 禁用DC显示控制器:添加
amdgpu.dc=0,排除DC模块bug导致的超时。
- 显式启用GPU恢复:添加
- 检查硬件散热:GPU过热会触发重置,清理散热器灰尘、更换硅脂,确保风扇正常运转,监控游戏时的GPU温度。
- 验证游戏文件完整性:通过游戏平台(如Steam)验证文件,排除文件损坏导致的异常GPU调用。
内容的提问来源于stack exchange,提问作者Alper Okur
相关产品推荐
相关产品推荐

