Hi there!
I have a situation about a game that has problems with running via Steam but the same binaries run fine via Lutris.
ProtonDB page of the said game: https://www.protondb.com/app/214590 (Fairy Bloom Freesia)
I tried it years ago, probably around Proton 4-2 times, and I was getting the very same error I get today if I run the game from Steam.
DirectX error: StrecthRect is invalid call
I don’t know what Steam does differently but in the meantime it causes this error. Probably it’s game’s own problem at some circumstances (regarding it’s a custom Japanese engine) and what Steam does triggers this error. I’m using Glorious Eggroll’s Proton 10-15 on both Steam and Lutris, that’s why I think it’s related to Steam client itself.
Also tried WINE and if I run the game with regular WINE from my system, the performance would be really poor, but at least it runs.
So, I’m trying to understand what would be the difference. Do we know what might Steam client does behind the doors? According to the latest reviews on ProtonDB, the game should run fine. That’s why I wanted to try it again after so many years.
I tried every Proton version and I get the same error almost on every version. For some, it crashes right away. Launch options such as PROTON_USE_WINED3D=1
do not help either.
Any ideas what should I check or try?
I’m on EndeavourOS, my Steam is a native package.
Steam uses the Steam runtime and can automatically apply specific settings and configurations known as Protonfixes.
Try using Proton in Lutris and enabling the Steam runtime. Lutris has support for a tool called Umu Launcher which essentially replicates Steams method of launching games and applies Protonfixes for you. I don’t know the exact requirements to use it, but looking around in the discord (unfortunately) might get you some info.
Lutris (and so Umu launcher) runs the game just fine if I use GE-Proton. However there is no Steam connection there. If I select to run it via Steam runtime inside Lutris, I still get the same error. (I think that option just runs the game via Steam and nothing more?).
If there are auto-enabled flags like
PROTON_USE_DXVK=1
, I might try to disable them. Though there are many of these.Oh my bad, I misread the first line. In that case, I would guess that Proton on Steam might be using a different version of the DirectX translation layer. I’m not sure which that is, since im not sure which directx version the game uses.
Very interesting that at least one person reported the same error happening on Windows.
Edit: My guess is that wine is using WINED3D, the directx 9 to opengl translation layer, while proton is using DXVK. Since the game reportedly has this error on windows, the issue might actually be that DXVK is doing the “correct” thing and crashing the same way it would on windows.
Did you verify that PROTON_USE_WINED3D=1 crashes with the exact same error and not a new one? Since you said the game works with vanilla wine, which defaults to wined3d, I would expect this to fix it.
No problem! Yeah, I saw that too. Though it’s from 2013 and before even Windows 10 but since it happened on Windows at one point says it might not be all related to translation layers.
Game uses DirectX 9 since it has a d3d dll in the game files. But I have no idea how can I check what Proton uses.
whoops, edited my other comment since I hadn’t noticed your reply yet.
Can you share the launch options you’re using to set PROTON_USE_WINED3D=1, as well as verify the the crash gives the same error?
I found a few examples of the variable not working correctly for people. Could you share your proton version and the logs?
No problem! :)
Actually
PROTON_USE_WINED3D=1
was one of the first things I have tried. Sadly it still gives the same error.Currently I’m using GE-Proton10-15. These are the logs:
[2025-09-27 21:32:12] Game process added : AppID 214590 "PROTON_LOG=1 /home/mb/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- /home/mb/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=214590 -- '/mnt/SSD480G/SteamLibrary/steamapps/common/SteamLinuxRuntime_sniper'/_v2-entry-point --verb=waitforexitandrun -- '/home/mb/.local/share/Steam/compatibilitytools.d/GE-Proton10-15'/proton waitforexitandrun '/mnt/SSD480G/SteamLibrary/steamapps/common/Fairy Bloom Freesia/FairyBloomFreesia.exe'", ProcID 1223438, IP 0.0.0.0:0 [2025-09-27 21:32:12] Loaded Config for Local Override Path for App ID 214590, Controller 4: /home/mb/.local/share/Steam//controller_base/empty.vdf [2025-09-27 21:32:12] GameAction [AppID 214590, ActionID 26] : LaunchApp changed task to WaitingGameWindow with "" [2025-09-27 21:32:12] GameAction [AppID 214590, ActionID 26] : LaunchApp changed task to Completed with "" [2025-09-27 21:32:14] ThreadGetProcessExitCode: no such process 1223557 [2025-09-27 21:32:14] ThreadGetProcessExitCode: no such process 1223553 [2025-09-27 21:32:14] ThreadGetProcessExitCode: no such process 1223440 [2025-09-27 21:32:16] Game process updated : AppID 214590 "PROTON_LOG=1 /home/mb/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- /home/mb/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=214590 -- '/mnt/SSD480G/SteamLibrary/steamapps/common/SteamLinuxRuntime_sniper'/_v2-entry-point --verb=waitforexitandrun -- '/home/mb/.local/share/Steam/compatibilitytools.d/GE-Proton10-15'/proton waitforexitandrun '/mnt/SSD480G/SteamLibrary/steamapps/common/Fairy Bloom Freesia/FairyBloomFreesia.exe'", ProcID 1223554, IP 0.0.0.0:0 [2025-09-27 21:32:16] ThreadGetProcessExitCode: no such process 1223565 [2025-09-27 21:32:16] Loaded Config for Local Override Path for App ID 214590, Controller 4: /home/mb/.local/share/Steam//controller_base/empty.vdf [2025-09-27 21:32:18] Game process updated : AppID 214590 "PROTON_LOG=1 /home/mb/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- /home/mb/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=214590 -- '/mnt/SSD480G/SteamLibrary/steamapps/common/SteamLinuxRuntime_sniper'/_v2-entry-point --verb=waitforexitandrun -- '/home/mb/.local/share/Steam/compatibilitytools.d/GE-Proton10-15'/proton waitforexitandrun '/mnt/SSD480G/SteamLibrary/steamapps/common/Fairy Bloom Freesia/FairyBloomFreesia.exe'", ProcID 1223649, IP 0.0.0.0:0 [2025-09-27 21:32:19] Loaded Config for Local Override Path for App ID 413080, Controller 4: /home/mb/.local/share/Steam//controller_base/empty.vdf [2025-09-27 21:32:20] ThreadGetProcessExitCode: no such process 1223607 [2025-09-27 21:32:20] ThreadGetProcessExitCode: no such process 1223567 [2025-09-27 21:32:20] ThreadGetProcessExitCode: no such process 1223554 [2025-09-27 21:32:20] ThreadGetProcessExitCode: no such process 1223552 [2025-09-27 21:32:20] ThreadGetProcessExitCode: no such process 1223439 [2025-09-27 21:32:21] Game process removed: AppID 214590 "PROTON_LOG=1 /home/mb/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- /home/mb/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=214590 -- '/mnt/SSD480G/SteamLibrary/steamapps/common/SteamLinuxRuntime_sniper'/_v2-entry-point --verb=waitforexitandrun -- '/home/mb/.local/share/Steam/compatibilitytools.d/GE-Proton10-15'/proton waitforexitandrun '/mnt/SSD480G/SteamLibrary/steamapps/common/Fairy Bloom Freesia/FairyBloomFreesia.exe'", ProcID 1223649 [2025-09-27 21:32:21] ThreadGetProcessExitCode: no such process 1223649 [2025-09-27 21:32:21] ThreadGetProcessExitCode: no such process 1223631 [2025-09-27 21:32:21] ThreadGetProcessExitCode: no such process 1223584 [2025-09-27 21:32:21] ThreadGetProcessExitCode: no such process 1223579 [2025-09-27 21:32:21] ThreadGetProcessExitCode: no such process 1223570