背景

背景

背景

我現在被迫使用開源專有驅動程式(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重新啟動。

相關內容