[radeonsi]Amnesia: Rebirth - Graphical Artifacts and crashing
System information
Host: rick-MS-7C02 Kernel: 6.5.0-14-generic x86_64 bits: 64 compiler: N/A
Desktop: Cinnamon 5.8.4 tk: GTK 3.24.33 wm: muffin dm: LightDM
Distro: Linux Mint 21.2 Victoria base: Ubuntu 22.04 jammy
CPU:
Info: 6-core model: AMD Ryzen 5 3600 bits: 64 type: MT MCP arch: Zen 2
rev: 0 cache: L1: 384 KiB L2: 3 MiB L3: 32 MiB
Speed (MHz): avg: 2585 high: 4106 min/max: 2200/4208 boost: enabled
cores: 1: 3633 2: 2202 3: 2201 4: 2057 5: 2038 6: 4106 7: 2200 8: 2197
9: 2059 10: 2200 11: 2072 12: 4055 bogomips: 86391
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
Device-1: AMD Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]
vendor: XFX Pine driver: amdgpu v: kernel pcie: speed: 8 GT/s lanes: 16
ports: active: DP-1,DP-2 empty: DP-3,DVI-D-1,HDMI-A-1 bus-ID: 26:00.0
chip-ID: 1002:67df
Device-2: Realtek NexiGo N660P FHD Webcam type: USB
driver: snd-usb-audio,uvcvideo bus-ID: 1-2.2:4 chip-ID: 0bda:0567
Display: x11 server: X.Org v: 1.21.1.4 driver: X: loaded: amdgpu
gpu: amdgpu display-ID: :0 screens: 1
Screen-1: 0 s-res: 4480x1440 s-dpi: 96
Monitor-1: DisplayPort-0 mapped: DP-1 pos: primary,top-right
model: HP X27q res: 2560x1440 dpi: 109 diag: 685mm (27")
Monitor-2: DisplayPort-1 mapped: DP-2 pos: bottom-l model: Dell U2312HM
res: 1920x1080 dpi: 96 diag: 585mm (23")
OpenGL: renderer: AMD Radeon RX 570 Series (radeonsi polaris10 LLVM
15.0.7 DRM 3.54 6.5.0-14-generic)
v: 4.6 Mesa 23.3.1 - kisak-mesa PPA direct render: Yes
Probably not critical information since it happens in both Proton and the Native version
- Wine/Proton version:
Proton: 1703018341 experimental-8.0-20231219
Describe the issue
Nothing special to reproduce. The artifacts occur during standard gameplay. Not all areas have it. All outdoor areas in the game have continual artifact flickering. Some indoor areas have it.
Crashes occur randomly after a fairly short amount of gameplay. Usually within 30 minutes of playing.
The game often crashes on loading a save game. And on transistions between levels. Usually crashes on loading save games or level transitions will just crash to desktop and the game can be restarted.
Random in-game crashes usually result in a multicolored screen hard lock, that will kick me to the OS login screen. While I can re-login and use the OS, I will not be able to re-load the game without doing a reset of the PC.
I've tried both the native Linux version and in Proton. Both versions behave the same.
Adding (after further testing this made no difference).amdgpu.ppfeaturemask=0xfffd3fff
seems to have helped with random crashing. I've had one crash while transitioning between levels, but no random crashes so far.
Crashes seemed to get worse after upgrading to kernel 6.5 (was previously on 6.2) and upgrading Mesa to 23.3, which I did at the same time.
Regression
I think this is a regression. I don't see other people having the issue. I haven't had issues in other games.
When I originally purchased the game, I tested it out and everything seemed to work back then. Originally purchased in Sept. 24, 2021. I haven't tried the game again until recently. Unfortunately, I don't know my system info back then.
Log files as attachment
Some snippets from dmesg:
[ 568.442114] [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx timeout, signaled seq=137424, emitted seq=137426
[ 568.442642] [drm:amdgpu_job_timedout [amdgpu]] *ERROR* Process information: process Amnesia2.bin.x8 pid 4743 thread Amnesia2.b:cs0 pid 4772
[ 568.443144] amdgpu 0000:26:00.0: amdgpu: GPU reset begin!
[ 568.976236] amdgpu: cp is busy, skip halt cp
[ 569.245315] amdgpu: rlc is busy, skip halt rlc
[ 569.246334] amdgpu 0000:26:00.0: amdgpu: BACO reset
[ 569.531867] amdgpu 0000:26:00.0: amdgpu: GPU reset succeeded, trying to resume
[ 569.534757] [drm] PCIE GART of 256M enabled (table at 0x000000F400E80000).
[ 569.534827] [drm] VRAM is lost due to GPU reset!
[ 569.790172] [drm] UVD and UVD ENC initialized successfully.
[ 569.890254] [drm] VCE initialized successfully.
[ 569.896728] amdgpu 0000:26:00.0: amdgpu: recover vram bo from shadow start
[ 569.905783] amdgpu 0000:26:00.0: amdgpu: recover vram bo from shadow done
[ 569.905800] amdgpu 0000:26:00.0: amdgpu: GPU reset(2) succeeded!
[ 569.905886] [drm] Skip scheduling IBs!
[ 569.905899] [drm] Skip scheduling IBs!
[ 569.905906] [drm] Skip scheduling IBs!
[ 569.905914] [drm] Skip scheduling IBs!
[ 582.362304] show_signal: 14 callbacks suppressed
[ 582.362309] traps: csd-keyboard[5447] trap int3 ip:7ff12274e167 sp:7ffd7b141f20 error:0 in libglib-2.0.so.0.7200.4[7ff12270a000+8f000]
I've also noticed this in dmesg:
[ 6.141023] ================================================================================
[ 6.141029] UBSAN: array-index-out-of-bounds in /build/linux-hwe-6.5-q7NZ0T/linux-hwe-6.5-6.5.0/drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:3676:4
[ 6.141039] index 7 is out of range for type 'ATOM_Polaris_SCLK_Dependency_Record [1]'
[ 6.141045] CPU: 11 PID: 194 Comm: systemd-udevd Not tainted 6.5.0-14-generic #14~22.04.1-Ubuntu
[ 6.141048] Hardware name: Micro-Star International Co., Ltd MS-7C02/B450 TOMAHAWK (MS-7C02), BIOS 1.J1 05/06/2023
[ 6.141049] Call Trace:
[ 6.141050] <TASK>
[ 6.141052] dump_stack_lvl+0x48/0x70
[ 6.141055] dump_stack+0x10/0x20
[ 6.141058] __ubsan_handle_out_of_bounds+0xc6/0x110
[ 6.141062] smu7_get_pp_table_entry_callback_func_v1+0x9b7/0xa00 [amdgpu]
[ 6.141384] ? srso_return_thunk+0x5/0x10
[ 6.141387] ? vi_pcie_rreg+0x6e/0x90 [amdgpu]
[ 6.141675] ? __pfx_smu7_get_pp_table_entry_callback_func_v1+0x10/0x10 [amdgpu]
[ 6.141998] get_powerplay_table_entry_v1_0+0xf8/0x490 [amdgpu]
[ 6.142320] smu7_get_pp_table_entry_v1+0x41/0x4c0 [amdgpu]
[ 6.142641] smu7_get_pp_table_entry+0x3d/0x50 [amdgpu]
[ 6.142962] psm_init_power_state_table+0x161/0x250 [amdgpu]
[ 6.143287] hwmgr_hw_init+0xe3/0x1e0 [amdgpu]
[ 6.143606] pp_hw_init+0x16/0x50 [amdgpu]
[ 6.143935] amdgpu_device_ip_init+0x48d/0x960 [amdgpu]
[ 6.144194] amdgpu_device_init+0x9c8/0x1160 [amdgpu]
[ 6.144454] amdgpu_driver_load_kms+0x1a/0x1c0 [amdgpu]
[ 6.144712] amdgpu_pci_probe+0x182/0x450 [amdgpu]
[ 6.144970] local_pci_probe+0x47/0xb0
[ 6.144974] pci_call_probe+0x55/0x190
[ 6.144978] pci_device_probe+0x84/0x120
[ 6.144980] ? srso_return_thunk+0x5/0x10
[ 6.144984] really_probe+0x1cc/0x430
[ 6.144987] __driver_probe_device+0x8c/0x190
[ 6.144990] driver_probe_device+0x24/0xd0
[ 6.144993] __driver_attach+0x10b/0x210
[ 6.144996] ? __pfx___driver_attach+0x10/0x10
[ 6.144998] bus_for_each_dev+0x8d/0xf0
[ 6.145003] driver_attach+0x1e/0x30
[ 6.145006] bus_add_driver+0x127/0x240
[ 6.145010] driver_register+0x5e/0x130
[ 6.145012] ? __pfx_amdgpu_init+0x10/0x10 [amdgpu]
[ 6.145277] __pci_register_driver+0x62/0x70
[ 6.145280] amdgpu_init+0x69/0xff0 [amdgpu]
[ 6.145537] ? srso_return_thunk+0x5/0x10
[ 6.145540] do_one_initcall+0x5e/0x340
[ 6.145546] do_init_module+0x68/0x260
[ 6.145549] load_module+0xb85/0xcd0
[ 6.145554] ? srso_return_thunk+0x5/0x10
[ 6.145557] ? security_kernel_post_read_file+0x75/0x90
[ 6.145562] init_module_from_file+0x96/0x100
[ 6.145565] ? srso_return_thunk+0x5/0x10
[ 6.145567] ? init_module_from_file+0x96/0x100
[ 6.145570] ? arch_get_unmapped_area_topdown+0x11a/0x260
[ 6.145577] idempotent_init_module+0x11c/0x2b0
[ 6.145583] __x64_sys_finit_module+0x64/0xd0
[ 6.145587] do_syscall_64+0x5b/0x90
[ 6.145590] ? srso_return_thunk+0x5/0x10
[ 6.145593] ? ksys_mmap_pgoff+0x120/0x270
[ 6.145597] ? srso_return_thunk+0x5/0x10
[ 6.145600] ? exit_to_user_mode_prepare+0x30/0xb0
[ 6.145603] ? srso_return_thunk+0x5/0x10
[ 6.145606] ? syscall_exit_to_user_mode+0x37/0x60
[ 6.145609] ? srso_return_thunk+0x5/0x10
[ 6.145611] ? do_syscall_64+0x67/0x90
[ 6.145614] ? syscall_exit_to_user_mode+0x37/0x60
[ 6.145617] ? srso_return_thunk+0x5/0x10
[ 6.145619] ? do_syscall_64+0x67/0x90
[ 6.145622] ? srso_return_thunk+0x5/0x10
[ 6.145625] ? do_syscall_64+0x67/0x90
[ 6.145627] ? srso_return_thunk+0x5/0x10
[ 6.145630] ? do_syscall_64+0x67/0x90
[ 6.145633] entry_SYSCALL_64_after_hwframe+0x6e/0xd8
[ 6.145636] RIP: 0033:0x7f2e6020069d
[ 6.145639] Code: 5b 41 5c c3 66 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 63 a7 0f 00 f7 d8 64 89 01 48
[ 6.145641] RSP: 002b:00007ffe3fc690f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
[ 6.145644] RAX: ffffffffffffffda RBX: 000055b30ce10d20 RCX: 00007f2e6020069d
[ 6.145646] RDX: 0000000000000000 RSI: 00007f2e60397441 RDI: 0000000000000019
[ 6.145647] RBP: 0000000000020000 R08: 0000000000000000 R09: 0000000000000002
[ 6.145649] R10: 0000000000000019 R11: 0000000000000246 R12: 00007f2e60397441
[ 6.145650] R13: 000055b30ce0f110 R14: 000055b30cddd010 R15: 000055b30ce0db80
[ 6.145656] </TASK>
[ 6.145669] ================================================================================
I've also had this is journalctl: journalctl
I also made a proton log: Proton log
Screenshots/video files (if applicable)
A few screenshots of artifacts: And a comparable screenshot without the artifacting:
apitrace
I captured an apitrace of the crash, but it is about 1.5GB so, I made a split rar archive: crash.part1.rar crash.part2.rar crash.part3.rar crash.part4.rar
And here is another api trace of the area that has the artifact from the same area as the screenshots provided:artifact.part1.rar artifact.part2.rar artifact.part3.rar artifact.part4.rar
Sorry, I'm not experienced at these reports. Let me know if I can provide more info.