背景

背景

背景

我现在被迫使用开源专有驱动程序(radeon内核模块),因为上次升级后我得到了 Xorg 版本 7.7 但fglrx不支持它。

对于正常的桌面使用来说,这个驱动程序工作得很好,甚至比fglrx我有高分辨率帧缓冲控制台还要好!^_^

问题

但是当使用实际的 OpenGL 功能时,即视频游戏或甚至使用 VLC 播放电影时,屏幕会在一段时间内冻结,并出现许多红色或蓝色像素。现在,如果我很幸运,这种情况会持续几秒钟,然后显示器会丢失信号,然后突然一切都恢复正常;如果我不幸运,我必须重新启动……

冻结

据我所见,事故发生前的表现还不错。

dmesg报告:

[34193.392048] radeon 0000:01:00.0: GPU lockup CP stall for more than 10000msec
[34193.392055] radeon 0000:01:00.0: GPU lockup (waiting for 0x000000000023e95b last fence id 0x000000000023e94d)
[34193.399059] radeon 0000:01:00.0: Saved 471 dwords of commands on ring 0.
[34193.399074] radeon 0000:01:00.0: GPU softreset: 0x00000009
[34193.399078] radeon 0000:01:00.0:   GRBM_STATUS               = 0xF5701828
[34193.399082] radeon 0000:01:00.0:   GRBM_STATUS_SE0           = 0xFC000003
[34193.399086] radeon 0000:01:00.0:   GRBM_STATUS_SE1           = 0x00000007
[34193.399089] radeon 0000:01:00.0:   SRBM_STATUS               = 0x200000C0
[34193.399092] radeon 0000:01:00.0:   SRBM_STATUS2              = 0x00000000
[34193.399096] radeon 0000:01:00.0:   R_008674_CP_STALLED_STAT1 = 0x00000000
[34193.399099] radeon 0000:01:00.0:   R_008678_CP_STALLED_STAT2 = 0x40000000
[34193.399103] radeon 0000:01:00.0:   R_00867C_CP_BUSY_STAT     = 0x00008006
[34193.399106] radeon 0000:01:00.0:   R_008680_CP_STAT          = 0x80228647
[34193.399110] radeon 0000:01:00.0:   R_00D034_DMA_STATUS_REG   = 0x44C83D57
[34193.409161] radeon 0000:01:00.0: GRBM_SOFT_RESET=0x00007F6B
[34193.409216] radeon 0000:01:00.0: SRBM_SOFT_RESET=0x00000100
[34193.410364] radeon 0000:01:00.0:   GRBM_STATUS               = 0x00003828
[34193.410368] radeon 0000:01:00.0:   GRBM_STATUS_SE0           = 0x00000007
[34193.410371] radeon 0000:01:00.0:   GRBM_STATUS_SE1           = 0x00000007
[34193.410375] radeon 0000:01:00.0:   SRBM_STATUS               = 0x200000C0
[34193.410378] radeon 0000:01:00.0:   SRBM_STATUS2              = 0x00000000
[34193.410382] radeon 0000:01:00.0:   R_008674_CP_STALLED_STAT1 = 0x00000000
[34193.410385] radeon 0000:01:00.0:   R_008678_CP_STALLED_STAT2 = 0x00000000
[34193.410388] radeon 0000:01:00.0:   R_00867C_CP_BUSY_STAT     = 0x00000000
[34193.410392] radeon 0000:01:00.0:   R_008680_CP_STAT          = 0x00000000
[34193.410395] radeon 0000:01:00.0:   R_00D034_DMA_STATUS_REG   = 0x44C83D57
[34193.410406] radeon 0000:01:00.0: GPU reset succeeded, trying to resume
[34193.430380] [drm] PCIE GART of 512M enabled (table at 0x0000000000273000).
[34193.430487] radeon 0000:01:00.0: WB enabled
[34193.430491] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000080000c00 and cpu addr 0xffff8800da8b4c00
[34193.430493] radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000080000c0c and cpu addr 0xffff8800da8b4c0c
[34193.431938] radeon 0000:01:00.0: fence driver on ring 5 use gpu addr 0x0000000000072118 and cpu addr 0xffffc90002cb2118
[34193.448109] [drm] ring test on 0 succeeded in 2 usecs
[34193.448176] [drm] ring test on 3 succeeded in 1 usecs
[34193.623962] [drm] ring test on 5 succeeded in 1 usecs
[34193.623971] [drm] UVD initialized successfully.
[34193.678291] [drm] ib test on ring 0 succeeded in 0 usecs
[34193.678365] [drm] ib test on ring 3 succeeded in 1 usecs
[34193.828433] [drm:r600_uvd_ib_test] *ERROR* radeon: failed to get create msg (-22).
[34193.828446] [drm:radeon_ib_ring_tests] *ERROR* radeon: failed testing IB on ring 5 (-22).

系统信息

发行版和内核:

$ cat /etc/issue
Debian GNU/Linux jessie/sid \n \l
$ uname -a
Linux andrea 3.11-2-amd64 #1 SMP Debian 3.11.8-1 (2013-11-13) x86_64 GNU/Linux

xorg.conf(相关部分):

Section "Device"
    Identifier "something"
    Driver     "radeon"
    Option     "AccelMethod" "EXA"
    Option     "EXAVSync"    "on"
EndSection

glxinfo(相关部分):

name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4

驱动程序版本:

$ apt-cache show xserver-xorg-video-radeon | grep Version
Version: 1:7.2.0-1+b2

答案1

我终于找到了解决方案此论坛主题

简而言之,有一个需要设置的启动参数(radeon.dpm),因此我通过编辑/etc/default/grub以下内容进行了修复:

GRUB_CMDLINE_LINUX_DEFAULT="quiet radeon.dpm=1"

然后sudo update-grub重新启动。

相关内容