LINUX.ORG.RU

radeon: The kernel rejected CS, see dmesg for more information (-22)

 , , ,


0

1

Приветствую.

Проблема заключается в следующем: COD:MW2 под Wine'ом с gallium-nine вылетает через несколько секунд после загрузки локации, в выхлопе следующее:

0009:fixme:module:load_dll Loader redirect from L"d3d9.dll" to L"d3d9-nine.dll"
0009:fixme:win:EnumDisplayDevicesW ((null),0,0x32f5e4,0x00000000), stub!
0009:fixme:win:EnumDisplayDevicesW (L"\\\\.\\DISPLAY1",0,0x32f5e4,0x00000000), stub!
0009:fixme:win:EnumDisplayDevicesW (L"\\\\.\\DISPLAY1",1,0x32f5e4,0x00000000), stub!
0009:fixme:win:EnumDisplayDevicesW ((null),1,0x32f5e4,0x00000000), stub!
0009:fixme:d3d9nine:d3dadapter9_new 
Native Direct3D 9 is active.
For more information visit https://wiki.ixit.cz/d3d9
0009:fixme:system:SystemParametersInfoW Unimplemented action: 59 (SPI_SETSTICKYKEYS)
0009:fixme:system:SystemParametersInfoW Unimplemented action: 53 (SPI_SETTOGGLEKEYS)
0009:fixme:system:SystemParametersInfoW Unimplemented action: 51 (SPI_SETFILTERKEYS)
0009:fixme:win:EnumDisplayDevicesW ((null),0,0x32f9d4,0x00000000), stub!
0009:fixme:win:EnumDisplayDevicesW (L"\\\\.\\DISPLAY1",0,0x32f9d4,0x00000000), stub!
0009:fixme:win:EnumDisplayDevicesW (L"\\\\.\\DISPLAY1",1,0x32f9d4,0x00000000), stub!
0009:fixme:win:EnumDisplayDevicesW ((null),1,0x32f9d4,0x00000000), stub!
0009:fixme:d3d9nine:d3dadapter9_new 
Native Direct3D 9 is active.
For more information visit https://wiki.ixit.cz/d3d9
0009:fixme:win:EnumDisplayDevicesW (L"\\\\.\\DISPLAY1",0,0x32f8e4,0x00000000), stub!
0009:fixme:d3d9nine:DRI3PresentGroup_GetMultiheadCount (0x1bd9e8), stub!
0009:fixme:d3d9nine:DRI3PresentGroup_GetMultiheadCount (0x1bd9e8), stub!
0009:fixme:win:EnumDisplayDevicesW ((null),0,0x32f6e4,0x00000000), stub!
0009:fixme:win:EnumDisplayDevicesW ((null),0,0x32e584,0x00000000), stub!
radeon: The kernel rejected CS, see dmesg for more information (-22).
radeon: The kernel rejected CS, see dmesg for more information (-22).
radeon: The kernel rejected CS, see dmesg for more information (-22).
radeon: The kernel rejected CS, see dmesg for more information (-22).
Ошибка сегментирования (стек памяти сброшен на диск)

dmesg (релевантная часть):

[  666.807870] [drm:radeon_cs_ioctl [radeon]] *ERROR* Invalid command stream !
[  668.137058] radeon 0000:00:01.0: vbo resource seems too big for the bo
[  668.137070] radeon 0000:00:01.0: evergreen_cs_track_validate_texture:855 texture bo too small (layer size 8388608, offset 0, max layer 1, depth 1, bo size 356352) (1024 2048)
[  668.137133] [drm:radeon_cs_ioctl [radeon]] *ERROR* Invalid command stream !
[  674.250704] Forbidden register 0x0B58 in cs at 10014
[  674.250766] [drm:radeon_cs_ioctl [radeon]] *ERROR* Invalid command stream !
[  674.883699] radeon 0000:00:01.0: vbo resource seems too big for the bo
[  674.883703] radeon 0000:00:01.0: vbo resource seems too big for the bo
[  674.883704] radeon 0000:00:01.0: vbo resource seems too big for the bo
[  674.883706] radeon 0000:00:01.0: vbo resource seems too big for the bo
[  674.883708] radeon 0000:00:01.0: vbo resource seems too big for the bo
[  674.883715] radeon 0000:00:01.0: evergreen_cs_track_validate_texture:855 texture bo too small (layer size 16384, offset 0, max layer 6, depth 1, bo size 36864) (64 64)
[  674.883767] [drm:radeon_cs_ioctl [radeon]] *ERROR* Invalid command stream !
[ 1448.240558] radeon 0000:00:01.0: vbo resource seems too big for the bo
[ 1448.240567] radeon 0000:00:01.0: evergreen_cs_track_validate_texture:855 texture bo too small (layer size 8388608, offset 0, max layer 1, depth 1, bo size 5308416) (1024 2048)
[ 1448.240630] [drm:radeon_cs_ioctl [radeon]] *ERROR* Invalid command stream !
[ 1450.782923] [drm:radeon_cs_packet_parse [radeon]] *ERROR* Can not parse packet at 14285 after CS end 14285 !
[ 1450.782945] [drm:evergreen_packet3_check.isra.14 [radeon]] *ERROR* bad SET_RESOURCE (tex)
[ 1450.782961] [drm:radeon_cs_ioctl [radeon]] *ERROR* Invalid command stream !
[ 1451.015988] radeon 0000:00:01.0: vbo resource seems too big for the bo
[ 1451.015998] radeon 0000:00:01.0: evergreen_cs_track_validate_texture:855 texture bo too small (layer size 8388608, offset 0, max layer 1, depth 1, bo size 5308416) (1024 2048)
[ 1451.016064] [drm:radeon_cs_ioctl [radeon]] *ERROR* Invalid command stream !
[ 1453.256810] [drm:radeon_cs_packet_parse [radeon]] *ERROR* Can not parse packet at 16150 after CS end 16150 !
[ 1453.256833] [drm:evergreen_packet3_check.isra.14 [radeon]] *ERROR* bad SET_RESOURCE (tex)
[ 1453.256848] [drm:radeon_cs_ioctl [radeon]] *ERROR* Invalid command stream !

При этом перед вылетом видны артефакты в текстурах игры.

Схожая проблема и с проигрыванием видео через mpv:

AO: [pulse] 48000Hz 5.1(side) 6ch float
Using hardware decoding (vdpau).
VO: [opengl] 1280x536 vdpau[yuv420p]
radeon: The kernel rejected CS, see dmesg for more information (-22).
radeon: The kernel rejected CS, see dmesg for more information (-22).
radeon: The kernel rejected CS, see dmesg for more information (-22)
...
dmesg (последние несколько строк, остальные идентичны):
[ 1993.198548] radeon 0000:00:01.0: evergreen_cs_track_validate_texture:916 mipmap [5] bo too small (layer size 1024, offset 870400, coffset 1045504, max layer 1, depth 1, bo size 1044480) level0 (640 136 1)
[ 1993.198551] radeon 0000:00:01.0: evergreen_cs_track_validate_texture:921 problematic surf: (128 4) (1 2 1 0 1 4 3)
[ 1993.198585] [drm:radeon_cs_ioctl [radeon]] *ERROR* Invalid command stream !
[ 1993.238516] radeon 0000:00:01.0: evergreen_cs_track_validate_texture:916 mipmap [5] bo too small (layer size 1024, offset 870400, coffset 1045504, max layer 1, depth 1, bo size 1044480) level0 (640 136 1)
[ 1993.238520] radeon 0000:00:01.0: evergreen_cs_track_validate_texture:921 problematic surf: (128 4) (1 2 1 0 1 4 3)
[ 1993.238554] [drm:radeon_cs_ioctl [radeon]] *ERROR* Invalid command stream !
[ 1993.284603] radeon 0000:00:01.0: evergreen_cs_track_validate_texture:916 mipmap [5] bo too small (layer size 1024, offset 870400, coffset 1045504, max layer 1, depth 1, bo size 1044480) level0 (640 136 1)
[ 1993.284607] radeon 0000:00:01.0: evergreen_cs_track_validate_texture:921 problematic surf: (128 4) (1 2 1 0 1 4 3)

В этом случае вылета не происходит, но вместо видео видны лишь артефакты.

Видеокарта Radeon HD 8470D (интегрированная), система Ubuntu 17.10, ядро 4.15.0-041500-generic, на данный момент стоят драйверы/mesa/etc из PPA padoka — до этого я использовал PPA oibaf'а, но проблему это не решило.

Xorg.0.log: https://pastebin.com/qVY5FMvv

glxinfo | grep OpenGL:

OpenGL vendor string: X.Org
OpenGL renderer string: AMD ARUBA (DRM 2.50.0 / 4.15.0-041500-generic, LLVM 7.0.0)
OpenGL core profile version string: 4.3 (Core Profile) Mesa 18.1.0-devel - padoka PPA
OpenGL core profile shading language version string: 4.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.1 Mesa 18.1.0-devel - padoka PPA
OpenGL shading language version string: 1.40
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 18.1.0-devel - padoka PPA
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:

Гуглинг подсказал, что некоторым удалось решить схожую проблему путём отключения ColorTiling2D в xorg.conf, но мне это решение не помогло. Также я попробовал установить драйверы (xserver-xorg-video-radeon) штатной версии (не из PPA), но эффекта тоже не было — видимо, проблема лежит в другом (Mesa?).

Собственно, как решить эту проблему?

P.S. Судя по S.M.A.R.T., жёсткий диск находится на грани отказа, но я не совсем уверен, связано ли это с моей проблемой.

Проверить сабж в оффтопике и выкинуть в случае обнаружения схожей проблемы.

Deleted ()

в логах сплошной радеон, а убунта как дебиан может? если может тогда надо установить firmware-amd-graphics

amd_amd ★★★ ()
Ответ на: комментарий от pelmeshechka

это две разные вещи - жалко что второго нет, в дебиане с радеонами вообще нет проблем - ставишь firmware-amd-graphics и все взлетает, посмотрите в репах может есть чего сильно близкое по названию это свободный драйвер для радеонов - который в отличии от драйвера для нвидии реально работает

amd_amd ★★★ ()

Хуанг опять в штаны заливает.

anonymous ()

При полном возврате к штатным версия библиотек (при помощи ppa-purge), проблема полностью исчезает, но производительность Directx9-игр в вайне практически на нуле из-за отсутствия поддержки gallium-nine. Видимо, баг в апстриме.

Попытаюсь собрать месу самостоятельно, но на успех не надеюсь в любом случае. Всем спасибо.

pelmeshechka ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.