Complete graphical freezes playing FFXIV

Whenever I play ffxiv with proton my pc freezes whenever anything too intense happens in the game. The freeze is graphical only, as any audio playing prior keeps playing normally without any hiccups of any sort.

inxi output:

System:    Kernel: 5.7.15-1-MANJARO x86_64 bits: 64 compiler: gcc v: 10.1.0 
           Desktop: KDE Plasma 5.19.4 tk: Qt 5.15.0 wm: kwin_x11 dm: SDDM Distro: Manjaro Linux 
Machine:   Type: Desktop Mobo: ASUSTeK model: PRIME B450M-GAMING/BR v: Rev X.0x serial: <filter> UEFI: American Megatrends 
           v: 2202 date: 07/14/2020 
CPU:       Topology: Quad Core model: AMD Ryzen 5 3400G with Radeon Vega Graphics bits: 64 type: MT MCP arch: Zen+ 
           family: 17 (23) model-id: 18 (24) stepping: 1 microcode: 8108109 L2 cache: 2048 KiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 59119 
           Speed: 2467 MHz min/max: 1400/3700 MHz boost: enabled Core speeds (MHz): 1: 1618 2: 1310 3: 1300 4: 1238 5: 1718 
           6: 1315 7: 1333 8: 1240 
           Vulnerabilities: Type: itlb_multihit status: Not affected 
           Type: l1tf status: Not affected 
           Type: mds status: Not affected 
           Type: meltdown status: Not affected 
           Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl and seccomp 
           Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization 
           Type: spectre_v2 mitigation: Full AMD retpoline, IBPB: conditional, STIBP: disabled, RSB filling 
           Type: srbds status: Not affected 
           Type: tsx_async_abort status: Not affected 
Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] Picasso vendor: ASUSTeK driver: amdgpu v: kernel bus ID: 09:00.0 
           chip ID: 1002:15d8 
           Display: x11 server: X.Org 1.20.8 compositor: kwin_x11 driver: amdgpu display ID: :0 screens: 1 
           Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2") s-diag: 582mm (22.9") 
           Monitor-1: HDMI-A-0 res: 1920x1080 hz: 60 dpi: 102 size: 480x270mm (18.9x10.6") diag: 551mm (21.7") 
           OpenGL: renderer: AMD RAVEN (DRM 3.37.0 5.7.15-1-MANJARO LLVM 10.0.1) v: 4.6 Mesa 20.1.5 direct render: Yes

Journalctl logs:

kernel: [drm:amdgpu_dm_atomic_commit_tail [amdgpu]] *ERROR* Waiting for fences timed out!
kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx timeout, signaled seq=73991, emitted seq=73993
kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* Process information: process ffxiv_dx11.exe pid 3006 thread ffxiv_dx11:cs0 pid 3021
kernel: AMD-Vi: Completion-Wait loop timed out
kernel: AMD-Vi: Completion-Wait loop timed out
kernel: AMD-Vi: Completion-Wait loop timed out
kernel: AMD-Vi: Completion-Wait loop timed out
kernel: AMD-Vi: Completion-Wait loop timed out
kernel: AMD-Vi: Completion-Wait loop timed out
kernel: AMD-Vi: Completion-Wait loop timed out
kernel: iommu ivhd0: AMD-Vi: Event logged [IOTLB_INV_TIMEOUT device=09:00.0 address=0x40ed89350]
kernel: AMD-Vi: Completion-Wait loop timed out
kernel: AMD-Vi: Completion-Wait loop timed out
kernel: AMD-Vi: Completion-Wait loop timed out
kernel: AMD-Vi: Completion-Wait loop timed out
kernel: amdgpu 0000:09:00.0: [drm:amdgpu_ring_test_helper [amdgpu]] *ERROR* ring kiq_2.1.0 test failed (-110)
kernel: AMD-Vi: Completion-Wait loop timed out
kernel: AMD-Vi: Completion-Wait loop timed out

Try using Kernel 5.8. It has a lot of commits for AMD GPUs (and iGPU).

Hopefully 5.8.1 will come to Stable soon as well, because that has even more commits.

If the issue persists, please let us know!

1 Like

same issues on 5.8 unfortunately

I need to ask:
Are you playing FFXIV in native mode in Manjaro or is it with: wine, or something else ? (Lutrix, Steam)

Regards.
Mr. E

They said they are using Proton, so it’s DXVK through Steam.

Does this happen during any other game? Or only FFXIV?

1 Like

Well, you could always dig through this issue. There may be a few kernel flags to try.

Thanks! I’ll look into “proton”, I haven’t heard of it.
Regards

Mr. E

Just an fyi, Proton is one of the significant programs created that assisted in getting A LOT more games working on Linux.

ProtonDB also exists to check which games are reported working.

1 Like

The other games I play with proton are disgaea 5 and some visual novels, and they work without any issue. I don’t know if the fact that they aren’t fully 3D like ffxiv has any effect on the problem not appearing.

I guess a trial and error game with kernel flags is the only shot I have then

Well, I don’t believe Disgaea 5 or visual novels are that taxing on the GPU, compared to FFXIV.

Do you have another GPU heavy game you can test? Trying to figure out if this is specific game related or not.

the kernel parameters suggested by the last comment on that gitlab issue seemed to do the trick

amdgpu.gttsize=8192 amdgpu.lockup_timeout=1000 amdgpu.gpu_recovery=1 amdgpu.noretry=0 amdgpu.ppfeaturemask=0xfffd3fff iommu=pt amdgpu.deep_color=1

At least the part in the game that was causing the issue seemed to work fine after that.
Would any of those have any significant impact on performance?

No, but you might not need that one if there are no IOMMU errors in your boot logs.

And the 5.4 kernel seemed to not have any of those issues, so I guess I’ll be reverting to that for the time being

Seems that the problem comes back one way or the other. I’ll have to give a try to other kernel parameters

kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx timeout, signaled seq=2443939, emitted seq=2443941
kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* Process information: process ffxiv_dx11.exe pid 8197 thread ffxiv_dx11:cs0 pid 8213
kernel: amdgpu 0000:09:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0000 address=0x3f07b9c80 flags=0x0070]
kernel: amdgpu 0000:09:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0000 address=0x3f07c0000 flags=0x0070]
kernel: AMD-Vi: Completion-Wait loop timed out
kernel: AMD-Vi: Completion-Wait loop timed out
kernel: AMD-Vi: Completion-Wait loop timed out
kernel: AMD-Vi: Completion-Wait loop timed out
kernel: AMD-Vi: Completion-Wait loop timed out
kernel: AMD-Vi: Completion-Wait loop timed out
kernel: AMD-Vi: Completion-Wait loop timed out
kernel: AMD-Vi: Completion-Wait loop timed out