Another big issue with this game is that you cannot use fsr frame gen. You get an instant crash.
The game is currently unplayable for me on Linux because of this constant stuttering that happens randomly every few seconds, and lasts very close to 500ms each time:
https://github.com/user-attachments/assets/94d8925e-ed73-4f8d-b44a-71d536fe531c
This does not happen on Windows 11 on the same system. I've tried different proton and kernel versions with no success. It seems to be stalling the GPU for some reason, as GPU usage drops after the stall.
Reducing the resolution scaling down to 25% (or reducing the native resolution to something like 720p) also gets rid of the issue for some reason.
OS: NixOS 26.05.20260130.62c8382 (Yarara) x86_64
Host: Gigabyte Technology Co., Ltd. Z690 UD AX
Kernel: 6.18.8
Uptime: 1 min
Packages: 1288 (nix-system), 3220 (nix-user)
Shell: fish 4.3.3
Resolution: 3840x2160, 1920x1080, 1920x1080, 3440x1440
DE: Hyprland (Wayland)
Theme: Layan-Dark [GTK2/3]
Terminal: zellij
CPU: 13th Gen Intel i7-13700KF (24) @ 5.300GHz
GPU: AMD ATI XFX Speedster MERC319 Radeon RX 6950 XT
Memory: 3689MiB / 31928MiB
Edit: Whenever the stalls occur, the CPU utilization jumps, but I cannot find any consistency in when it happens besides it being related to resolution.
I have not come across stuttering on with RTX5070.
When selecting DLSS first time on settings, the screen will go black, but keep the game running.
Closing application and starting again let the game run with no problems after that.
Also getting this error when starting the game first time on session.
I feel like there is an issue with AVX, my CPU maxes to 4.2 Ghz in main menu at 60fps, but once in game it falls back to 3.6-3.9 Ghz, and it's very choppy
i5 11400f
RX 6600 XT
Proton Experimental
ran with gamemoderun
watch -n 5 "grep MHz /proc/cpuinfo | head -n 1 && journalctl -k | tail -n 5"
cpu MHz : 3600.000
Feb 08 18:36:30 ark kernel: amdgpu 0000:03:00.0: amdgpu: Fence fallback timer expired on ring comp_1.3.0
Feb 08 18:37:37 ark kernel: amdgpu 0000:03:00.0: amdgpu: Fence fallback timer expired on ring comp_1.3.0
Feb 08 18:38:44 ark kernel: amdgpu 0000:03:00.0: amdgpu: Fence fallback timer expired on ring comp_1.2.0
Feb 08 18:39:14 ark kernel: amdgpu 0000:03:00.0: amdgpu: Fence fallback timer expired on ring comp_1.2.1
Feb 08 18:39:31 ark kernel: amdgpu 0000:03:00.0: amdgpu: Fence fallback timer expired on ring comp_1.2.1
The events happen right when the CPU goes from 4.2 Ghz to 3.6, during the loading screen
And happens again during gameplay:
cpu MHz : 3600.000
Feb 08 18:52:57 ark kernel: amdgpu 0000:03:00.0: amdgpu: Fence fallback timer expired on ring comp_1.1.0
Feb 08 18:53:13 ark kernel: amdgpu 0000:03:00.0: amdgpu: Fence fallback timer expired on ring comp_1.1.0
Feb 08 18:53:23 ark kernel: amdgpu 0000:03:00.0: amdgpu: Fence fallback timer expired on ring comp_1.3.0
Feb 08 18:53:27 ark kernel: amdgpu 0000:03:00.0: amdgpu: Fence fallback timer expired on ring comp_1.3.0
Feb 08 18:53:29 ark kernel: amdgpu 0000:03:00.0: amdgpu: Fence fallback timer expired on ring comp_1.3.1
I tried to boot with: amdgpu.lockup_timeout=10000 amdgpu.noretry=0 but same issue
After checking with command line parameters, I got the haptic triggers to work, but not haptic vibration.
I used SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT=0x054c/0x0ce6 PROTON_ENABLE_HIDRAW=1 PROTON_NO_STEAMINPUT=1 %command%
I ran logger, attached you will find generated log-file.
Another big issue with this game is that you cannot use fsr frame gen. You get an instant crash.
That works for me (protonge + RX 7900 XT + Ryzen 9900x). What causes an instant crash in my case is trying to change HDR between on and off while the game is running. And just like it happened with Nioh 2 some videos and cutscenes do not work.
Yeah no FSR framegen is also an instacrash for me with an RX 7900 XTX
Turning on Frame Generation causes this crash. When I launch the game again, there would be a black screen and a crash. This is consistent and can be replicated.
For me the game and desktop crashes while playing. Both displays show garbage instead of game or desktop.
This game used to work for a while, but after reaching certain point in game it seems to happen very consistently. At first it seemed more random to crash, then it started to appear while entering the shrine and now it seems to crash while just waiting in front of the shrine for a while. So for some reason crashes become more frequent.
This happens with Proton 10.0 and Proton experimental. Kernel version 6.19.3 and 6.18.9 tested, Mesa 26.0.
GPU: 0b:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 XL/XT [Radeon RX Vega 56/64] (rev c3)
Kernel log also has following:
kernel: [ T245] amdgpu 0000:0b:00.0: amdgpu: Dumping IP State
kernel: [ T245] amdgpu 0000:0b:00.0: amdgpu: Dumping IP State Completed
kernel: [ T245] amdgpu 0000:0b:00.0: amdgpu: [drm] AMDGPU device coredump file has been created
kernel: [ T245] amdgpu 0000:0b:00.0: amdgpu: [drm] Check your /sys/class/drm/card1/device/devcoredump/data
kernel: [ T245] amdgpu 0000:0b:00.0: amdgpu: ring gfx timeout, signaled seq=350786, emitted seq=350788
kernel: [ T245] amdgpu 0000:0b:00.0: amdgpu: Process Nioh3.exe pid 6502 thread vkd3d_queue pid 6614
kernel: [ T245] amdgpu 0000:0b:00.0: amdgpu: GPU reset begin!. Source: 1
kernel: [ T3666] ------------[ cut here ]------------
kernel: [ T3666] WARNING: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:709 at amdgpu_device_skip_hw_access.part.0+0x64/0x90 [amdgpu], CPU#15: kwin_wayland/3666
kernel: [ T3666] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq sunrpc binfmt_misc amd_atl intel_rapl_msr intel_rapl_common iosf_mbi amdgpu nls_ascii nls_cp850 vfat fat edac_mce_amd kvm_amd snd_hda_codec_alc882 snd_hda_codec_realtek_lib drm_ttm_helper snd_hda_codec_generic snd_hda_codec_atihdmi kvm ttm snd_hda_codec_hdmi video drm_exec snd_usb_audio snd_hda_intel drm_suballoc_helper drm_buddy snd_hda_codec drm_panel_backlight_quirks gpu_sched snd_usbmidi_lib amdxcp snd_hda_core wmi_bmof snd_rawmidi irqbypass drm_display_helper snd_intel_dspcfg ghash_clmulni_intel snd_seq_device aesni_intel mc snd_hwdep cec ccp snd_pcm rapl rng_core snd_timer k10temp snd soundcore input_leds evdev joydev tiny_power_button wmi sg button sch_fq_codel ntsync dm_mod fuse efi_pstore configfs nfnetlink dmi_sysfs ipv6 autofs4 raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor xor async_tx raid6_pq raid1 raid0 md_mod hid_playstation led_class_multicolor ff_memless hid_generic usbhid hid xhci_pci igb xhci_hcd sd_mod i2c_algo_bit
kernel: [ T3666] usbcore nvme nvme_core thermal usb_common i2c_piix4 i2c_smbus simpledrm drm_client_lib drm_shmem_helper drm_sysfb_helper drm_kms_helper efivarfs
kernel: [ T3666] CPU: 15 UID: 1000 PID: 3666 Comm: kwin_wayland Not tainted 6.19.3-stablely [#44](/issue/ValveSoftware/Proton/44) PREEMPTLAZY
kernel: [ T3666] Hardware name: Gigabyte Technology Co., Ltd. X570 AORUS ELITE/X570 AORUS ELITE, BIOS F40 10/28/2025
kernel: [ T3666] RIP: 0010:amdgpu_device_skip_hw_access.part.0+0x64/0x90 [amdgpu]
kernel: [ T3666] Code: c0 75 0b 31 c0 48 83 c4 08 e9 d3 2e 30 e0 48 8b ba 00 d6 06 00 be ff ff ff ff 48 81 c7 88 00 00 00 e8 10 4c e6 e0 85 c0 75 d9 <0f> 0b eb d5 48 8b ba 00 d6 06 00 48 83 c7 18 e8 a8 e8 51 e0 31 c0
kernel: [ T3666] RSP: 0018:ffffc900151c7b30 EFLAGS: 00010246
kernel: [ T3666] RAX: 0000000000000000 RBX: ffff888139880000 RCX: 0000000000000001
kernel: [ T3666] RDX: 0000000000000001 RSI: ffff88810aafcec8 RDI: ffff88811693b390
kernel: [ T3666] RBP: 000000000000ec26 R08: 0000000000000000 R09: 0000000000000000
kernel: [ T3666] R10: ffff88810aafce58 R11: ffff888139880000 R12: 0000000000000008
kernel: [ T3666] R13: ffffffffa0e07410 R14: 0000000000000000 R15: 0000000000000045
kernel: [ T3666] FS: 00007fd8dcc77dc0(0000) GS:ffff88889c586000(0000) knlGS:0000000000000000
kernel: [ T3666] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
kernel: [ T3666] CR2: 00007f2af70a1290 CR3: 00000001ae9ee000 CR4: 0000000000350ef0
kernel: [ T3666] Call Trace:
kernel: [ T3666] <TASK>
kernel: [ T3666] amdgpu_device_wreg+0x21/0xc0 [amdgpu]
kernel: [ T3666] gfx_v9_0_get_gpu_clock_counter+0x1cd/0x5c0 [amdgpu]
kernel: [ T3666] ? __lock_release.isra.0+0x4c/0x140
kernel: [ T3666] amdgpu_info_ioctl+0x10f1/0x22f0 [amdgpu]
kernel: [ T3666] ? srso_alias_return_thunk+0x5/0xfbef5
kernel: [ T3666] ? __lock_release.isra.0+0x4c/0x140
kernel: [ T3666] ? srso_alias_return_thunk+0x5/0xfbef5
kernel: [ T3666] ? lock_release+0x43/0x80
kernel: [ T3666] ? srso_alias_return_thunk+0x5/0xfbef5
kernel: [ T3666] ? drm_modeset_acquire_fini+0x24/0x70
kernel: [ T3666] ? srso_alias_return_thunk+0x5/0xfbef5
kernel: [ T3666] ? drm_mode_atomic_ioctl+0x3a0/0xcd0
kernel: [ T3666] ? srso_alias_return_thunk+0x5/0xfbef5
kernel: [ T3666] ? find_held_lock+0x2b/0x80
kernel: [ T3666] ? amdgpu_driver_load_kms+0x70/0x70 [amdgpu]
kernel: [ T3666] ? srso_alias_return_thunk+0x5/0xfbef5
kernel: [ T3666] ? __lock_release.isra.0+0x4c/0x140
kernel: [ T3666] ? drm_dev_enter+0x38/0x90
kernel: [ T3666] ? amdgpu_driver_load_kms+0x70/0x70 [amdgpu]
kernel: [ T3666] drm_ioctl_kernel+0x80/0xe0
kernel: [ T3666] drm_ioctl+0x281/0x520
kernel: [ T3666] ? amdgpu_driver_load_kms+0x70/0x70 [amdgpu]
kernel: [ T3666] ? srso_alias_return_thunk+0x5/0xfbef5
kernel: [ T3666] ? __lock_release.isra.0+0x4c/0x140
kernel: [ T3666] ? srso_alias_return_thunk+0x5/0xfbef5
kernel: [ T3666] ? srso_alias_return_thunk+0x5/0xfbef5
kernel: [ T3666] ? lock_release+0x43/0x80
kernel: [ T3666] ? srso_alias_return_thunk+0x5/0xfbef5
kernel: [ T3666] ? _raw_spin_unlock_irqrestore+0x1e/0x50
kernel: [ T3666] amdgpu_drm_ioctl+0x44/0x80 [amdgpu]
kernel: [ T3666] __x64_sys_ioctl+0x8e/0xe0
kernel: [ T3666] ? __task_pid_nr_ns+0x8d/0x110
kernel: [ T3666] do_syscall_64+0x4d/0x2c0
kernel: [ T3666] entry_SYSCALL_64_after_hwframe+0x6c/0x74
kernel: [ T3666] RIP: 0033:0x7fd8e2b19d3b
kernel: [ T3666] RIP: 0033:0x7fd8e2b19d3b
kernel: [ T3666] Code: 00 48 89 44 24 18 31 c0 48 8d 44 24 60 c7 04 24 10 00 00 00 48 89 44 24 08 48 8d 44 24 20 48 89 44 24 10 b8 10 00 00 00 0f 05 <89> c2 3d 00 f0 ff ff 77 1c 48 8b 44 24 18 64 48 2b 04 25 28 00 00
kernel: [ T3666] RSP: 002b:00007ffe48eceb40 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
kernel: [ T3666] RAX: ffffffffffffffda RBX: 000056045a24d860 RCX: 00007fd8e2b19d3b
kernel: [ T3666] RDX: 00007ffe48eceba0 RSI: 0000000040206445 RDI: 0000000000000013
kernel: [ T3666] RBP: 0000000000000013 R08: 0000000000000001 R09: 00007ffe48eced00
kernel: [ T3666] R10: 000000000000010a R11: 0000000000000246 R12: 0000000000000030
kernel: [ T3666] R13: 00007ffe48ececf8 R14: 000056045b0085c0 R15: 00007fd8d9e2254f
kernel: [ T3666] </TASK>
kernel: [ T3666] ---[ end trace 0000000000000000 ]---
Hello @ipr, your findings should also be mentioned to your video driver vendor if it hasn't been already.
I installed the demo on Arch Linux. While the installation was successful, the initial shader compilation process is abnormally slow, taking over an hour to complete. This seems excessive compared to expected behavior on other distributions.
Environment:
OS: Arch Linux
Issue: Excessive shader compilation time (>1 hour)
The game takes minutes to finish a loading screen. And even then, there is constant asset popping and missing in-game with 100% CPU utilization, causing the game to slow down to only 30 fps, which none of these were happening when I was on Windows 11 25H2
Operating System: CachyOS Linux
KDE Plasma Version: 6.6.4
KDE Frameworks Version: 6.25.0
Qt Version: 6.11.0
Kernel Version: 7.0.1-1-cachyos (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 5800H with Radeon Graphics
Memory: 32 GiB of RAM (27.3 GiB usable)
Graphics Processor 1: AMD Radeon Graphics
Graphics Processor 2: NVIDIA GeForce RTX 3060 Laptop GPU
The game was running at a way lower resolution and graphics settings than what I set for Windows, but...
PROTON_DLSS_UPGRADE=1 PROTON_ENABLE_NVAPI=1 PROTON_ENABLE_WAYLAND=1 prime-run %command%
proton 11 beta
I apologize for doing this incorrectly. I just wanted to add that I too am experiencing issues/lagging/stuttering with this game Running on Ubuntu 24.04 CPU 7800x3d GPU 9070xt 64GB ram. No issues when I switch to windows 10 and run the game, but it's lagging on Linux with proton hotfix. 1440p with a 60fps cap with settings on low is playable (barely) but switching to windows I can run it at 120 fps easily.
I apologize for doing this incorrectly. I just wanted to add that I too am experiencing issues/lagging/stuttering with this game Running on Ubuntu 24.04 CPU 7800x3d GPU 9070xt 64GB ram. No issues when I switch to windows 10 and run the game, but it's lagging on Linux with proton hotfix. 1440p with a 60fps cap with settings on low is playable (barely) but switching to windows I can run it at 120 fps easily.
Game seems to be using Intel XeSS upscaling by default, which is much slower than AMD FSR (at least on my configuration).
However, the big issue still is that I'm experiencing GPU hangs and really cannot play the game after certain point early in the game.
In the kernel logs I'm seeing:
[ 3402.589547] [ T8017] amdgpu 0000:0b:00.0: Dumping IP State
[ 3402.593442] [ T8017] amdgpu 0000:0b:00.0: Dumping IP State Completed
[ 3402.593763] [ T8017] amdgpu 0000:0b:00.0: [drm] AMDGPU device coredump file has been created
[ 3402.593767] [ T8017] amdgpu 0000:0b:00.0: [drm] Check your /sys/class/drm/card1/device/devcoredump/data
[ 3402.593772] [ T8017] amdgpu 0000:0b:00.0: ring gfx timeout, signaled seq=869182, emitted seq=869184
[ 3402.593776] [ T8017] amdgpu 0000:0b:00.0: Process Nioh3.exe pid 19545 thread vkd3d_queue pid 19597
[ 3402.593780] [ T8017] amdgpu 0000:0b:00.0: Starting gfx ring reset
[ 3402.594157] [ T8017] amdgpu 0000:0b:00.0: Ring gfx reset succeeded
[ 3402.594161] [ T8017] amdgpu 0000:0b:00.0: [drm] device wedged, but no recovery needed
After that game display has frozen but I can still hear audio from the game, so it is only the graphics pipeline that is stalled.
Edit: This happens on different Proton versions (experimental, 11.0 beta, 10.0).
vkd3d-proton version 3.01 seems to solve issues for me. Where previously game would hang within minutes (or during loading) I can get easily at least an hour of game time without issues (did not test longer yet).
So upgrading the vkd3d version bundled with Proton would be recommended. Method I used was to compile it from sources and copy the resulting files into the compatibility prefix just for this case.
Edit: This does not completely solve the problem as there is still hang sometimes when there is quick reload (retry after dying).
Edit2: And now it is back to hanging in the main menu for no apparent reason.
I should add that whole desktop is not garbled currently, but only game display is frozen. So it is possible to switch back to Steam to stop it when hang occurs. It used to be that whole desktop became unusable.
Simplest way to cause GPU hang is to scroll main menu back and forth quickly a few times. The rendered character should appear and disappear as you change the highlighted menu item.
From an earlier devcoredump (not available more recently for some reason):
Ring timed out details
IP Type: 0 Ring Name: gfx
[gfxhub] Page fault observed
Faulty page starting at address: 0x0000000000000000
Protection fault status register: 0x0
So duriing the hang there is an attempt to read page zero, so there is NULL being used in some case where it should not be (data not loaded?).
Mesa 26.1.4 has fixed the issues!
Tested the usual method of switching rapidly in main menu, playing the game in area where there used to be hangs, entering and exiting shrines.. It works without issues now.
Mesa 26.1.4 has fixed the issues! Tested the usual method of switching rapidly in main menu, playing the game in area where there used to be hangs, entering and exiting shrines.. It works without issues now.
I have to say I rejoiced too soon since problems soon appeared again. Currently at Mesa 26.2.0 and problems persist same as before.
proton hotfixx2 2026-06proton experimentalx2 2026-02proton 10.0x1 2026-02PROTON_DLSS_UPGRADE=1x1 2026-04PROTON_ENABLE_NVAPI=1x1 2026-04PROTON_ENABLE_WAYLAND=1x1 2026-04PROTON_ENABLE_HIDRAW=1x1 2026-02PROTON_NO_STEAMINPUT=1x1 2026-02SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT=0x054c/0x0ce6x1 2026-02PROTON_LOG=1x1 2026-02WINEDEBUG=+hid,+hid_report,+rawinput,+joystickx1 2026-02PROTON_DLSS_UPGRADE=1 PROTON_ENABLE_NVAPI=1 PROTON_ENABLE_WAYLAND=1 prime-run %command%x1 2026-04SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT=0x054c/0x0ce6 PROTON_ENABLE_HIDRAW=1 PROTON_NO_STEAMINPUT=1 %command%x1 2026-020xc0000034x1 2026-02
Compatibility Report
System Information
I confirm:
Symptoms
Nioh 3 does not recognize Dualsense haptic feedback when using native driver support
Reproduction
Disable Steam Input for PS5 Dualsense
Getting following errors when running
WINEDEBUG=+hid,+hid_report,+rawinput,+joystick PROTON_LOG=1 %command%
0128:warn:rawinput:add_device Failed to open device file L"\??\HID#VID_28DE&PID_11FF&IG_00#0&00000000000011FF28DE&0&0&1#{4D1E55B2-F16F-11CF-88CB-001111000030}", status 0xc0000034.
5215.814:0148:0314:warn:vkd3d-proton:d3d12_resource_QueryInterface: {aec22fb8-76f3-4639-9be0-28eb43a67a2e} not implemented, returning E_NOINTERFACE.
5216.153:0148:01d8:warn:vkd3d-proton:d3d12_command_list_CopyTextureRegion: Empty box (0, 0, 0)-(1920, 0, 1).