Зависание WarThunder и (иногда) всей системы при выстреле из авиапушек



  • При запуске WarThunder под wine с рендером OpenGL в авиационном бою, при попытке выстрела, зависает игра, иногда вместе с системой. В kern.log появляются следующие строчки (часть лога):

    Feb 25 22:22:58 rozen kernel: [ 4000.049998] radeon 0000:01:00.0: ring 4 stalled for more than 10040msec
    Feb 25 22:22:58 rozen kernel: [ 4000.050004] radeon 0000:01:00.0: GPU lockup (current fence id 0x00000000000194f2 last fence id 0x00000000000194f3 on ring 4)
    Feb 25 22:22:59 rozen kernel: [ 4001.351267] radeon 0000:01:00.0: ring 0 stalled for more than 11348msec
    Feb 25 22:22:59 rozen kernel: [ 4001.351273] radeon 0000:01:00.0: GPU lockup (current fence id 0x0000000000049d09 last fence id 0x0000000000049d22 on ring 0)
    Feb 25 22:22:59 rozen kernel: [ 4001.551458] radeon 0000:01:00.0: ring 4 stalled for more than 11540msec
    Feb 25 22:23:00 rozen kernel: [ 4002.552441] radeon 0000:01:00.0: GPU lockup (current fence id 0x00000000000194f2 last fence id 0x00000000000194f3 on ring 4)
    Feb 25 22:23:00 rozen kernel: [ 4002.852744] radeon 0000:01:00.0: ring 0 stalled for more than 12848msec
    Feb 25 22:23:00 rozen kernel: [ 4002.852750] radeon 0000:01:00.0: GPU lockup (current fence id 0x0000000000049d09 last fence id 0x0000000000049d24 on ring 0)
    Feb 25 22:23:02 rozen kernel: [ 4004.621702] radeon 0000:01:00.0: Saved 1055 dwords of commands on ring 0.
    Feb 25 22:23:02 rozen kernel: [ 4004.621808] radeon 0000:01:00.0: GPU softreset: 0x00000029
    Feb 25 22:23:02 rozen kernel: [ 4004.621810] radeon 0000:01:00.0:   GRBM_STATUS               = 0xE5704828
    Feb 25 22:23:02 rozen kernel: [ 4004.621812] radeon 0000:01:00.0:   GRBM_STATUS_SE0           = 0xFE000001
    Feb 25 22:23:02 rozen kernel: [ 4004.621814] radeon 0000:01:00.0:   GRBM_STATUS_SE1           = 0xFE000001
    Feb 25 22:23:02 rozen kernel: [ 4004.621815] radeon 0000:01:00.0:   SRBM_STATUS               = 0x200000C0
    Feb 25 22:23:02 rozen kernel: [ 4004.621883] radeon 0000:01:00.0:   SRBM_STATUS2              = 0x00000000
    Feb 25 22:23:02 rozen kernel: [ 4004.621885] radeon 0000:01:00.0:   R_008674_CP_STALLED_STAT1 = 0x00000000
    Feb 25 22:23:02 rozen kernel: [ 4004.621886] radeon 0000:01:00.0:   R_008678_CP_STALLED_STAT2 = 0x00018000
    Feb 25 22:23:02 rozen kernel: [ 4004.621888] radeon 0000:01:00.0:   R_00867C_CP_BUSY_STAT     = 0x00008006
    Feb 25 22:23:02 rozen kernel: [ 4004.621890] radeon 0000:01:00.0:   R_008680_CP_STAT          = 0x80038647
    Feb 25 22:23:02 rozen kernel: [ 4004.621892] radeon 0000:01:00.0:   R_00D034_DMA_STATUS_REG   = 0x44C83D57
    Feb 25 22:23:02 rozen kernel: [ 4004.621894] radeon 0000:01:00.0:   R_00D834_DMA_STATUS_REG   = 0x44C83106
    Feb 25 22:23:02 rozen kernel: [ 4004.621895] radeon 0000:01:00.0:   VM_CONTEXT0_PROTECTION_FAULT_ADDR   0x00000000
    Feb 25 22:23:02 rozen kernel: [ 4004.621898] radeon 0000:01:00.0:   VM_CONTEXT0_PROTECTION_FAULT_STATUS 0x00000000
    Feb 25 22:23:02 rozen kernel: [ 4004.621899] radeon 0000:01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_ADDR   0x00000000
    Feb 25 22:23:02 rozen kernel: [ 4004.621901] radeon 0000:01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x00000000
    Feb 25 22:23:02 rozen kernel: [ 4004.622225] radeon 0000:01:00.0: GRBM_SOFT_RESET=0x0000DF7B
    Feb 25 22:23:02 rozen kernel: [ 4004.622278] radeon 0000:01:00.0: SRBM_SOFT_RESET=0x00000140
    Feb 25 22:23:02 rozen kernel: [ 4004.623425] radeon 0000:01:00.0:   GRBM_STATUS               = 0x00003828
    Feb 25 22:23:02 rozen kernel: [ 4004.623426] radeon 0000:01:00.0:   GRBM_STATUS_SE0           = 0x00000007
    Feb 25 22:23:02 rozen kernel: [ 4004.623428] radeon 0000:01:00.0:   GRBM_STATUS_SE1           = 0x00000007
    Feb 25 22:23:02 rozen kernel: [ 4004.623430] radeon 0000:01:00.0:   SRBM_STATUS               = 0x200000C0
    Feb 25 22:23:02 rozen kernel: [ 4004.623497] radeon 0000:01:00.0:   SRBM_STATUS2              = 0x00000000
    Feb 25 22:23:02 rozen kernel: [ 4004.623499] radeon 0000:01:00.0:   R_008674_CP_STALLED_STAT1 = 0x00000000
    Feb 25 22:23:02 rozen kernel: [ 4004.623500] radeon 0000:01:00.0:   R_008678_CP_STALLED_STAT2 = 0x00000000
    Feb 25 22:23:02 rozen kernel: [ 4004.623502] radeon 0000:01:00.0:   R_00867C_CP_BUSY_STAT     = 0x00000000
    Feb 25 22:23:02 rozen kernel: [ 4004.623503] radeon 0000:01:00.0:   R_008680_CP_STAT          = 0x00000000
    Feb 25 22:23:02 rozen kernel: [ 4004.623505] radeon 0000:01:00.0:   R_00D034_DMA_STATUS_REG   = 0x44C83D57
    Feb 25 22:23:02 rozen kernel: [ 4004.623507] radeon 0000:01:00.0:   R_00D834_DMA_STATUS_REG   = 0x44C83D57
    Feb 25 22:23:02 rozen kernel: [ 4004.623582] radeon 0000:01:00.0: GPU reset succeeded, trying to resume
    Feb 25 22:23:02 rozen kernel: [ 4004.645051] [drm] enabling PCIE gen 2 link speeds, disable with radeon.pcie_gen2=0
    Feb 25 22:23:02 rozen kernel: [ 4004.647139] [drm] PCIE GART of 1024M enabled (table at 0x0000000000274000).
    Feb 25 22:23:02 rozen kernel: [ 4004.647213] radeon 0000:01:00.0: WB enabled
    Feb 25 22:23:02 rozen kernel: [ 4004.647216] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000080000c00 and cpu addr 0xffff8800d59fec00
    Feb 25 22:23:02 rozen kernel: [ 4004.647981] radeon 0000:01:00.0: fence driver on ring 5 use gpu addr 0x0000000000072118 and cpu addr 0xffffc90000c32118
    Feb 25 22:23:02 rozen kernel: [ 4004.666718] [drm] ring test on 0 succeeded in 3 usecs
    Feb 25 22:23:02 rozen kernel: [ 4004.666725] [drm] ring test on 3 succeeded in 4 usecs
    Feb 25 22:23:02 rozen kernel: [ 4004.842603] [drm] UVD initialized successfully.
    Feb 25 22:23:02 rozen kernel: [ 4004.848989] [drm] ib test on ring 4 succeeded in 0 usecs
    Feb 25 22:23:03 rozen kernel: [ 4004.999469] [drm] ib test on ring 5 succeeded
    

    Такое зависание наблюдалось и в версии для линукса, однако из-за бага вот этого не могу воспроизвести.

    Конфигурация системы:

    inxi -F
    System:    Host: rozen Kernel: 4.3.0-1-amd64 x86_64 (64 bit)
               Desktop: LXDE (Openbox 3.6.1) Distro: Debian GNU/Linux stretch/sid
    Machine:   System: Gigabyte product: N/A
               Mobo: Gigabyte model: Z77X-UD3H v: x.x
               Bios: American Megatrends v: F18 date: 10/24/2012
    CPU:       Dual core Intel Pentium G2130 (-MCP-) cache: 3072 KB 
               clock speeds: max: 3200 MHz 1: 1600 MHz 2: 1600 MHz
    Graphics:  Card: Advanced Micro Devices [AMD/ATI] Cayman PRO [Radeon HD 6950]
               Display Server: X.Org 1.18.1 driver: radeon
               Resolution: 1920x1080@60.00hz
               GLX Renderer: Gallium 0.4 on AMD CAYMAN (DRM 2.43.0, LLVM 3.7.1)
               GLX Version: 3.0 Mesa 11.1.2
    


  • Есть вероятность, что проблема в "железе" - нет возможности проверить это (другая ОС, в к примеру, или переставить видеокарту в заведомо рабочий компьютер)?

    И перед запуском игры выполните команды в терминале:

    export LIBGL_DEBUG=verbose
    export MESA_DEBUG=1
    export MESA_LOG_FILE=/tmp/mesa_err.log
    

    Возможно в mesa_err.log можно будет найти что-то полезное.



  • Проверить под другой ОС или на другом компьютере не могу ввиду их отсутствия. mesa_err.log пришлось расположить в /home, поскольку после зависания системы из-за перезапуска /tmp стирается. В mesa_err.log находятся следующие строчки:

    Mesa: User error: GL_INVALID_ENUM in glRenderbufferStorage(internalFormat=GL_SLUMINANCE8)
    Mesa: User error: GL_INVALID_ENUM in glRenderbufferStorage(internalFormat=GL_SLUMINANCE8_ALPHA8)
    Mesa: User error: GL_INVALID_OPERATION in glTexImage3D(bad target for depth texture)
    Mesa: User error: GL_INVALID_OPERATION in glTexImage3D(bad target for depth texture)
    Mesa: User error: GL_INVALID_ENUM in glRenderbufferStorage(internalFormat=GL_SLUMINANCE8)
    Mesa: User error: GL_INVALID_ENUM in glRenderbufferStorage(internalFormat=GL_SLUMINANCE8_ALPHA8)
    Mesa: User error: GL_INVALID_OPERATION in glTexImage3D(bad target for depth texture)
    Mesa: User error: GL_INVALID_OPERATION in glTexImage3D(bad target for depth texture)
    


  • Вероятно стоит использовать не OpenGl рендер (а DirectX). Думаю это поможет (если Вы запускаете игру через Wine).



  • Да, действительно, под DirectX рендером не зависает.
    Но всего 15 фпс.



  • В дополнении к этому использовать проприетарный драйвер (fglrx-driver). Правда, в Вашем случае, он только в репозитории sid.


Войдите чтобы оставить сообщение