Terrible performance compared to windows on Arch with non-steam games on proton.

ludicolo@lemmy.ml to Linux Gaming@lemmy.ml – 43 points –

Hello friends! I am back with another issue.

Recently I have taken on the task to get non steam games working on Proton. I have noticed that the performance is significantly worse with them on Linux then on Windows. More frequent stutterings and such. 100 fps consistently on Windows vs linux which it dips below 50 fps. Other "better performing" non-steam games get consistent micro stutters. I am using native steam because the flathub version because after installing dependencies with protontricks the game still would not launch.

The only possible thing I can think of is the games are on NTFS partition (yet steam regular games installed on it run just dandy). I dualboot with windows and access this particular drive between both os'. I am at a complete loss, any help would be appreciated oh Linux brotheren and sisteren.

Thank you!

(also the games drop audio consistently as well sometimes it wont come back unless I alt tab and come back to the game.)

EDIT: Hello everyone! thank you again for the help I think I have come to the conclusion that some of you suggested already. Wayland seems to be having the game perform significantly better than x11 but it still isnt quite up to par as windows. When I had tried it before I thought to myself "yeah this is better but it isn't up to par with my windows partition" so I kept searching for an answer. the conclusion I have come to is, I think this just comes down to the particular game being unoptimized. Thank you all for your suggestions! You all are truly moving mountains when helping people swap to this wonderful operating system. Hopefully one day I can get rid of my windows partition fully. (too bad I am a VR dweeb that needs windows for some applications to function 😭).

31

WINE does not officially support NTFS as it is not optimal on Linux, even if you can technically read/write to it. So save yourself the headache and simply install your games on something like btrfs, xfs, or ext4 instead for playing games on Linux.

https://gitlab.winehq.org/wine/wine/-/wikis/FAQ#does-wine-run-on-all-unix-filesystems

does windows support btrfs? I am dualbooting and would like to use the drive between opersting systems.

also i am using proton, does it also not play nice with ntfs?

I once tried setting up exactly this (shared NTFS drive for games) but gave up shortly after. A lot of games would suddenly stop working between reboots, validating the games through Steam would basically redownload the whole game - just too much hassle for me.

Windows can support BTRFS with an unofficial driver:
https://github.com/maharmstone/btrfs

I've used it without issues, so world recommend it as long as you're aware of the disclaimer:

You use this software at your own risk. I take no responsibility for any damage it may do to your filesystem. It ought to be suitable for day-to-day use, but make sure you take backups anyway.

this will be my final straw solution. I am gonna try to get the games from stuttering on my ext4 drive (it's happening there too) then test the ntfs drive with btfrs.

That driver tends to work decently, but the performance on windows can be a bit iffy, especially for games like Skyrim because of how the content archives work iirc.

I also ran into a bug where one specific program (Aseprite) wouldn't save files correctly on winbtrfs and instead padded them with zeroes to a full 4KB or whatever, which didn't happen on any other filesystem.

WinBTRFS is cool, but treat it as somewhat experimental just in case. Back your stuff up.

Proton use wine and bundles dxvk and other tools, so it also has the same issue.

Windows doesn’t support any of the mentioned file systems out of the box, but there is a btrfs driver available.

There also is the more inconvenient option of creating symlinks for the games on a supported file system: Guide

I moved the game to my ext4 partition and still the same terrible performance. I just booted them on windows and My assesment was wrong. I am actually getting around 100 fps (windows) and 60fps and below (linux).

I will be updating the post to reflect it accordingly.

Edit: I've reread your post, you are trying to run non-steam games through steam & proton right?

Did you move/symlink compdata out of the NTFS disk?

https://wiki.archlinux.org/title/Steam/Troubleshooting#Steam_Library_in_NTFS_partition

https://github.com/ValveSoftware/Proton/wiki/Using-a-NTFS-disk-with-Linux-and-Windows#preventing-ntfs-read-errors

I use ntfs3 (not ntfs-3g driver) with uid=1000,gid=1000,umask=000,rw,user,exec,nofail,nocase,windows_names flags and after moving compada out (see the github link) it kind of just works.

Also what is your HW? If you have a laptop with extra dedicated gpu or have PC with cpu with integrated graphics and extra GPU card the games might be trying to run on the wrong GPU.

I did not move the symlink and compat data. I did delete the compat data with protontricks and move the game to my ext4 partition (the partition Linux is installed on). Still the same bad performance.

I am using ntfs-3g I will try switching it to ntfs3

Nah I am using a desktop:

3070

Ryzen 7 3700x

16gb of RAM

to move the compatdata and sysmlink do I paste the command as is if steam is installed natively in the default location?

$ mkdir -p ~/.steam/steam/steamapps/compatdata $ ln -s ~/.steam/steam/steamapps/compatdata /media/gamedisk/Steam/steamapps/

Those micro stutters and lower performance for the non-steam games are due to shaders needing to compile as you play. If you play for a while and keep the same Proton version, they'll eventually go away and performance will improve.

I assumed from the start this would be the issue. The mention of it happening to non-Steam games is the giveaway -

Steam provides pre-compiled shaders for the games they supply, non-Steam games have to build up their shader cache whilst you play.

Damn. Well this train will chug along then ;-;

EDIT: just tested and it seems performance just gets worse the longer I play.

EDIT 2: I lied it actually is betyer with another non steam game after playing for a while and restarting.

This has not been the case for at least a year or so thanks to graphics pipeline libraries.

Shader comp also only really manifests in frametime spikes, not generally high average frame times.

@entropicdrift @ludicolo
I had the same issues, but since I've changed to a specific proton version, there are no noticeable lags on my games anymore. Especially Cyberpunk 2077 and Final Fanzasy 7 Remake are running very smooth.

I shall give this a shot!

EDIT: Sadly no dice they still run terribly.

@ludicolo
What are your hardware specs, distro and proton version you use?

3070

ryzen 7 3700x

16gb ram

arch linux

I have tested both proton experimental and peoton 9.0-3 (9.0-3 was reccomended per protondb) i gave both of those a whirl for about an hour each.

@ludicolo
Your hardware should be capable of doing similar results like Windows, but I consider that your hardware is ok.
On the other hand I can show you what I'm for games like Assassin's Creed and similar non-steam games.

LMDE | X11
Ryzen 7 5800x
64GB Ram
RTX 3060 Ti | 535.183.01
GTX 1080 | 535.183.01
1TB NVME | OS | btrfs
2TB Sata SSD | Games | btrfs
500GB Sata SSD | Windows VM

I've also got a QEMU Windows VM with GPU passthrough (GTX 1080) for games that I can't run on my Bottles/Steam.

Nouveau or Nvidia's own drivers? X11 or Wayland?

nvidia proprietary drivers and I am getting similar performance on x11 and wayland.

Have you tried Lutris + GE-Proton + umu?

Edit>> Simply: Install Lutris, install Protonplus, install GE-Proton9-15 (or latest) with Protonplus, install game within Lutris. Configure the Runner for the game to use GE-Proton and then run the game (which Lutris will launch the game using umu).

I’ve been running WoW this way for many months with no issues and no fps problems.

Edit2>> You may be able to tell Lutris where to look for the game, but I would advise installing fresh on your ext4 or btrfs or whatever Linux drive you have.

Also, if it helps get you away from Windows, I’ve been running games this way since April, and finally dumped Windows for good. The only games I can’t play are those with unsupported anti-cheat (which I don’t play anyway so it doesn’t affect me).

Edit3>> And in case you were wondering, I’m running Garuda Linux (Garuda KDE Dr460nized version but I changed the theme).

I will try and reinstall lutris but I have been having a lot of issues woth it. do you reccomend the kde store version or native? I've been usimg native amd it just doesn't want to work with epic or gog. Hell I couldn't get it working with silent hill 2 enhanced edition. (it refused to launch)

EDIT: I am quite the fool and didn't uncheck "show installed games only" egg on my face

it just doesn’t want to work with epic

Use Heroic Games Launcher for that. (Sign into Epic and you'll see your games)

Measure resource usage during play. What is the bottleneck?

Last time I tried to use Arch for gaming I ran into constant issues like what you describe. Almost like it wasn't using the correct graphics drivers for the games even though I could verify it was. I never could quite figure it out.

If you're not against distro hopping, I suggest switching to Bazzite or Nobara. Plain old Fedora is usually fine too if you're not using an Nvidia GPU or don't mind futzing around with RPMFusion, but the extra utilities and tweaks provided in Nobara and Bazzite are really nice.

There is a way of mounting a btrfs partition in Windows, but I am not sure about it's level of performance.

https://github.com/maharmstone/btrfs

As I understand it, this driver isn't ready for personal use unless you don't care about the contents of your btrfs partitions mounted on Windows.

How are you running the games? Wine/Proton creates a "pretend" Windows environment which you may as well have on a Linux native filesystem.