Valve has today released a huge upgrade to Proton, the compatibility layer for Linux that allows Windows games to run.
Proton 7.0 pulls in Wine 7.0 which it's based upon along with: upgrades to DXVK 1.9.4 for DirectX 9 / 10 / 11, newer VKD3D-Proton for DirectX 12 to Vulkan and wine-mono to 7.1.2. It also brings over some changes from Proton Experimental like performance improvements around input, windowing, and memory allocation.
In their official changelog, these are listed as newly playable:
- Anno 1404
- Call of Juarez
- DCS World Steam Edition
- Disgaea 4 Complete+
- Dungeon Fighter Online
- Epic Roller Coasters XR
- Eternal Return
- Forza Horizon 5
- Gravity Sketch VR
- Monster Hunter Rise
- NecroVisioN
- Nights of Azure
- Oceanhorn: Monster of the Uncharted Seas
- Order of War
- Persona 4 Golden
- Resident Evil 0
- Resident Evil Revelations 2
- Rocksmith 2014 Edition
- SCP: Secret Laboratory
- Wargroove
- Wartales
- Yakuza 4 Remastered
Even more exciting work came in with support for Easy Anti-Cheat if the game has enabled a Linux module, support for local decoding of H264 videos, improvements to Steam Input for games using Origin, better audio in Skyrim and Fallout 4, fixes for the Paradox Launcher and a few other game specific fixes.
Speaking about the release on Twitter, Valve developer Pierre-Loup Griffais said: "Proton 7.0 is now available! Highlights include playable Persona 4 Golden, audio fixes for Skyrim and Fallout games, local H264 decoding support, and the foundation for legacy EAC support. SW: Squadrons and Knockout City are currently playable with EAC, with more on the way soon!"
Just like they did for the BattlEye update, there's a new "Proton EasyAntiCheat Runtime" available in the Steam client to download, along with Proton 7.0 - which you may need to restart Steam to actually see.
Quoting: kokoko3kI'm a bit puzzled on the meaning of this, why is "local" specified?The GStreamer libs that are shipped with Proton now builds against ffmpeg (for the libva plugins), But Proton still does not ship with or distribute ffmpeg. This is mentioned in the commit messages. (Probably for patent reasons).
I think this means that Proton should now be able to use the ffmpeg libraries local to your system for H264 playback?
Edit:
So I did some poking around running a game (Beautiful Desolation Demo with mp4 videos (and MF I think?). In Proton 7, running through the Steam client, I get the same behavior as before, a test screen picture.
Running Proton 7 manually, so it picks up the system libraries, videos actually play fine*. I'm not sure if this is the "local" situation mentioned in the changelog, or if they plan on actually breaking out of the container and use system libs for video playback on non-Deck systems?
* Small gotcha, the game actually request hardware decoding through VAAPI and tries to use some unimplemented filter resulting in garbled video, but disabling hw decoding with LIBVA_DRIVER_NAME="" fixed that.
Last edited by whizse on 16 February 2022 at 4:26 pm UTC
Quoting: rustybroomhandleOf the Deck Verified titles, some games with native ports still show Proton as the recommended runtime. Falconeer, for example.According to Pierre-Loup Griffais, initial tests didn't test the native version first, and they've subsequently fixed that. Those games would need to go through the testing process again for the corrected policy.
QuoteIn this case, it seems to be a testing datapoint from before a change in process where native versions are tested first, if available. You can get it re-reviewed, see the bits in the doc at the end there: https://partner.steamgames.com/doc/steamdeck/Twitter link
It's something that I've grumbled about previously, so I'm glad they've fixed it.
Quoting: SolitaryQuoting: BekaI noticed something interesting when trying Wargroove.
Wargroove was crashing when intro video was playing on previous proton versions. It looks like they added some color testing/placeholder video instead of the original video, when you run game with proton 7.0.
Now it's not crashing anymore when you run the game. Before I had to run it with 'No intro' option.
That is the placeholder for missing WMF videos, my guess is that Yakuza 4 is the same type of "fix". That game used to simply freeze during loading on start because of intro/credits videos.
Quoting: damarrinI hope that means P4G gets to lose its unsupported tag soon.
Some of the comments report the videos in the game are just placeholders. So the game probably runs now, but without videos (I don't know the game, so I am not sure if it's just intros or actual part of gameplay).
Placeholders are shown while the video is captured and sent to valve's servers for transcoding. A few days later, proton downloads transcoded versions. Thus the first few players see the placeholders, and subsequent ones see the actual videos.
That's a stopgap. The real issue is that video encoding patents are a legal minefield. Although it should be easier in some countries without software patents (ffmpeg and vlc both started in France). Here apparently, videos can be shown directly if you have the codecs installed locally (trough gstreamer and ffmpeg). If I'm reading this correctly, at least.
Quoting: CatKillerI was, it was not out of RAM.Quoting: Liam DaweI can confirm that with Proton 7 there are problems. After 20 minutes or so it stuttered to a crawl and then froze up tight. Could only hard reboot as whole system was unresponsive.Sounds like out-of-RAM. You could monitor it with mangohud to confirm.
Following the info from successive Proton logs, I had to paste these files on the folder
Proton 7.0/dist/lib64/
libavfilter.so.7
libavformat.so.58
libavcodec.so.58
libavutil.so.56
libswscale.so.5
libswresample.so.3
libavresample.so.4
And Now Borderlands 3 cinematics works perfect... at least, for me.
Quoting: MayeulCQuoting: SolitaryQuoting: BekaI noticed something interesting when trying Wargroove.
Wargroove was crashing when intro video was playing on previous proton versions. It looks like they added some color testing/placeholder video instead of the original video, when you run game with proton 7.0.
Now it's not crashing anymore when you run the game. Before I had to run it with 'No intro' option.
That is the placeholder for missing WMF videos, my guess is that Yakuza 4 is the same type of "fix". That game used to simply freeze during loading on start because of intro/credits videos.
Quoting: damarrinI hope that means P4G gets to lose its unsupported tag soon.
Some of the comments report the videos in the game are just placeholders. So the game probably runs now, but without videos (I don't know the game, so I am not sure if it's just intros or actual part of gameplay).
Placeholders are shown while the video is captured and sent to valve's servers for transcoding. A few days later, proton downloads transcoded versions. Thus the first few players see the placeholders, and subsequent ones see the actual videos.
That's a stopgap. The real issue is that video encoding patents are a legal minefield. Although it should be easier in some countries without software patents (ffmpeg and vlc both started in France). Here apparently, videos can be shown directly if you have the codecs installed locally (trough gstreamer and ffmpeg). If I'm reading this correctly, at least.
Oh, I wasn't sure how that worked. What source of information are you using? Because I used to see lot of placeholders in games where I would suspect the issue would have been resolved already. I just tried Yakuza 4 and the intro worked, even though it did have some ocassional encoding artifacts.
What I wonder though is what would happen if I applied restoration patch, because that actually replaces the intro with the one with original music.
Unfortunately the game is dropping legacy launcher support next month, so the game will stop working. Not sure yet if any of the custom community launchers will still work.
Quoting: Liam DaweQuoting: CatKillerI was, it was not out of RAM.Quoting: Liam DaweI can confirm that with Proton 7 there are problems. After 20 minutes or so it stuttered to a crawl and then froze up tight. Could only hard reboot as whole system was unresponsive.Sounds like out-of-RAM. You could monitor it with mangohud to confirm.
There could be multiple different causes. One of the more common could be busyloop. These days it would have to be consuming all the cores in order to cause freeze. It would show up as high CPU usage.
Running out of memory causes lot of disk activity because of the swap usage. Processes that are moving back and forth between swap and memory can slow down to crawl. In case of actually running out of memory, OOM killer would do some cleanup and things would be fine again if it didn't have to kill anything important.
Heavy disk usage in general can cause things to slow down, but affects only processes trying to access the disk. In order to see these, memory, swap and disk usage would have to be monitored. For something to happen, process would have to be in busyloop that's constantly doing something with the disk. Doesn't seem that likely.
Quoting: mZSq7Fq3qsQuoteRocksmith 2014 Edition
nice.
Hope that they can get that USB-chord thingy working so that I can plug in my quitar.
Waiting eagerly for this to be done. It's a pitty this doesn't work right away.
Proton log complain about some
winegstreamer error: matroskademux0: Internal data stream error.
winegstreamer error: matroskademux0: ../src-gst_good/gst/matroska/matroska-demux.c(5869): gst_matroska_demux_loop (): /GstBin:bin0/GstDecodeBin:decodebin0/GstMatroskaDemux:matroskademux0:
streaming stopped, reason error (-5)
See more from me