Steam Play – Let the games begin

Linux gaming news are always a good thing. An exciting and important thing. The more legitimacy, popularity and quality the Linux world gets, the higher the chances of the Linux operating system, desktop in particular, making it big with the crowds. Even for myself, one of the primary reasons for using Windows is the ability to play various games.

Now, there’s a brand new and rather ambitious attempt by Steam to take the Linux gaming scene up a few notches. Several years ago, Steam really made the huge difference by creating an official version of their client software for Linux, and since there’s been a healthy influx of new titles to the Steam platform, all capable of running natively on the penguin-powered systems. This is still a drop in the sea compared to what Windows has to offer, and so there’s a new effort now. Improved Steam Play for Linux that can run Windows games through a compatibility layer.

Stoke up the boilers

In a nutshell, this is what gives. Steam is offering a new beta version of its client for Linux users. The new software uses a modified compatibility tool called Proton to run Windows titles. This is similar to WINE, and under the hood, it is WINE! Proton is a joint effort by Valve and CodeWeavers, designed to offer seamless Windows games experience. Some of the touted improvements include DX11 and DX12 implementation, multi-threaded performance, full-screen quality and game controller support.

Sounds rather ambitious … but does it work?

Fire up

Since I cannot let announcements rest at their face value [sic], I decided I had to check this myself. To wit, I grabbed my Lenovo G50 machine, booted into the Kubuntu Beaver instance, among its lovely eight-boot repertoire, updated the system, updated Steam, and started tweaking and testing.

There are several steps you need to do before you can actually test the compatibility layer and Windows games. First, you need to use (opt-in) the beta client for Linux. This is available under Steam settings.

Opt in

Beta opt-in

Steam client updating

Now, maybe it is my perception, but the new beta version actually feels faster. The client interface is sprightlier, and responds more readily. This could be an illusion, but it’s a pleasant one. However, this is only the first step in the pre-setup setup.

Steam Beta runs faster

The next step is to enable the Proton compatibility layer. In my case, it was already automatically selected, so maybe this is the default for all Linux Steam beta client installations. There might be other compatibility tools available in the future. You should check all the boxes on the Steam Play tab – so that you get all the relevant suggestions. Tick, tick. Done.

Settings, Proton

Games choice

At the moment, officially, there are only 27 Windows titles available for testing – although there’s roughly a thousand games undergoing testing, with various levels of stability, somewhat similar to the Gold/Silver/Bronze rating used by WINE. I focused on the whitelisted set, as written in the official announcement.

However, for me, the list presented with a conundrum. Most of the games actually cost money. Maybe not a lot, but still. Now, I would expect these games to be offered for free, even if only specifically through the beta-Proton version of the client and for a limited time like three or seven days. There should not be any payment for testing something that might not actually work, especially if you’re not that keen on the particular titles.

I was interested in some of the shooters, but they all had their price tag. Some of the games were also rather old (circa 2007 or so), which I’m not sure best represent the current state of gaming, system requirements and complexity, as well as simple down-to-earth popularity. I’m the last person to attribute value to arbitrary age, size or star rating to game titles, and I still happily play 1990s DOS-era games, but there probably should be a wider, more accessible range of newer games for the early testing and awareness. Perhaps.

Searching for games

There were only three free titles. Google Earth VR is one of them, but it comes with hefty system requirements that my humble laptop did not even remotely meet, plus you need a VR set, like HTC Vive or Oculus Rift. That meant this was a no-go.

Google Earth VR

The second free option was a psychological horror game called Doki Doki Literature Club! – you’re warned before the title is displayed, and even then, it looked morbid. I wasn’t comfortable testing this, even for the sake of the review. Again, that begs the question of the initial selection – perhaps it makes sense as it covers all gaming angles and tastes, but it does make quick & dirty testing difficult.

Sensitive game content

That left me with the third choice – Fallout Shelter by Bethesda. Now here, I was supposedly in for a win-win situation, both in terms of game vendor and game reputation, plus the fact the system requirements were fairly modest if decidedly Windows. For that matter, Quake has a native build for Linux, if I’m not mistaken, so I’m not sure why it’s on this list, but okay.

Fallout Shelter

The installation was a simple affair – like any other Steam game. Soon enough, I had Fallout Shelter in my games list under my test account. Then I hit Play and waited.

Install game

Fallout Shelter installing

Fallout Shelter installed

Play compatibility notice

While Steam was doing its computation in the background, I checked the resource usage with top, to see what kind of processes were running and whatnot. You can see the WINE server running, you can see Fallout, and various other WINE tasks. Quite interesting – apart from the D state for the game binary.

Resources

And then the game crashed …

Game crash

Uh-oh

I decided to invest a little of energy and troubleshoot the issue, to figure out why and how this crash occurred. First, the actual message is not very informative, as it says the crash report has been saved next to the game executable, but it does not mention where this executable is located. It is not a trivial location, and you have to burrow inside a hidden folder in your home directory, e.g.:

roger@tester:~/.steam/steam/steamapps/common/Fallout Shelter/2018-08-23_130946

Looking at the crash log, I couldn’t see anything significant that would raise any red flags right away. The last part in the log had some error-like entries, but nothing that would help me understand what might have gone wrong.

System information:
Wine build: wine-3.7
Platform: x86_64
Version: Windows 7
Host system: Linux
Host version: 4.15.0-30-generic
pid 8819 != 8818, skipping destruction (fork without exec?)
Game removed: AppID 588430 "", ProcID 8813 
No cached sticky mapping in ActivateActionSet.

Well then, there’s also the actual crash core called crash.dmp. I tried opening this file inside gdb, but it does not seem to be a format that gdb can read. So we have a crash core that probably requires Windows tools to debug, which would make sense, but it doesn’t help in this particular case.

file crash.dmp 
crash.dmp: Mini DuMP crash report, 8 streams, Thu Aug 23 12:09:47 2018, 0x0 type
Reading symbols from ./FalloutShelter.exe...(no debugging symbols found)...done.
Illegal process-id: 2018-08-23_130946/crash.dmp.
"/home/roger/.steam/steam/steamapps/common/Fallout Shelter/2018-08-23_130946/crash.dmp" is not a core dump: File format not recognized

At this point, I felt somewhat disappointed but not overly surprised. All my past experiences with WINE have been rather rough. Whether I tested the compatibility functionality directly or through a nice and friendly frontend like PlayOnLinux, I was never really able to run too many games successfully. Most recently, I tried the rather avant-garde effort that blends the self-contained Flatpak app framework with WINE, known as Winepak, and this showed reasonable promise. But there was no seamless functionality, ever.

I am sure that Steam folks will be able to iron out the issues, offer more games and better support over time, and that they stand probably the highest chance of doing this right. But the sense of being robbed of childish hope that the initial announcement evoked in me is also there, along with the deepening skepticism toward the whole Windows on Linux thing.

Conclusion

When it comes to doing things right, it is obvious that Steam is a good few light years ahead of all other gaming efforts in the Linux world. They have the platform, the power, the money, and the ambition to execute. Steam Play is the most serious effort in bridging the gaming gap between the Linux and Windows domains. But that gap is quite wide, and early results show it’s far from trivial running non-native titles through a compatibility layer.

This is of course full-on nerd territory. You need to go through several steps before you’ll ever get to see the Windows titles. The current choice is limited (and a bit expensive), so I’d hope for a temporary payment restriction for beta testing – this is in everyone’s interest I believe. More games means more testing, more confidence. There will be bugs. Oh, there will be many bugs. My test session was short and it didn’t yield any promising results yet. But I was also restricted by hardware and monetary constraints as well as pure and simple taste.

Needless to say, I will be monitoring this project closely, and keep on testing Steam Play beta every now and then. Remember, the label beta means nothing is guaranteed. Moreover, this is still early stuff, and it’s bound to change a lot. I am quite certain we will see good progress. What I don’t know is how much narrower will the bridge between the two gaming worlds get. But it’s going to be a tough journey, and I shall be the adrenaline junkie war reporter fighting in the digital trenches. Or something. For now, very rough, very early beta, don’t expect too much. But don’t let that deter you. Take care.

Cheers.

  • Syfer Polski

    You can return the game in 60 minutes on Steam if I’m not mistaken, you could test if they work this way.

    • Dedoimedo

      That might not be enough time, with downloads and actual gameplay tests. The reasonable way would be to have a bit more freedom while beta-testing, and then to have these permissions or allowances removed later on.
      Dedoimedo

      • VoiceOfReason

        You can return a game on Steam (no questions asked) if the game does not have over 2 hours of in-game playtime recorded, and is within 14 days of the date of purchase.

        From their refund policy page:

        “You can request a refund for nearly any purchase on Steam—for any
        reason. Maybe your PC doesn’t meet the hardware requirements; maybe you
        bought a game by mistake; maybe you played the title for an hour and
        just didn’t like it.

        It doesn’t matter. Valve will, upon request via help.steampowered.com,
        issue a refund for any reason, if the request is made within fourteen
        days of purchase, and the title has been played for less than two hours.
        There are more details below, but even if you fall outside of the
        refund rules we’ve described, you can ask for a refund anyway and we’ll
        take a look.”

        Source: https://store.steampowered.com/steam_refunds

  • Matthew

    Have you ever reviewed SteamOS? If I were going to review Proton, I would review Proton on SteamOS first. I can imagine that some Windows games might run properly on SteamOS + Proton, but that those same games would have problems when run via the Steam client on other Linux distributions.

    • Dedoimedo

      Of course, multiple times. Take a look on Dedoimedo under the Linux gaming section.
      Dedoimedo

  • SharpOB

    >but it does not mention where this executable is located. It is not a
    trivial location, and you have to burrow inside a hidden folder in your
    home directory
    It’s in the same location as your game. Even if you did not know this location, you can always “browse local files” in the game’s properties.