Check out our Monthly Survey Page to see what our users are running.
We do often include affiliate links to earn us some pennies. See more here.
I was recently sent an interesting little script that will compare a downloaded list of your Steam games, with the Wine AppDB to show you a list of what you can expect to be able to play with Wine.

I'll be honest, the way to do it is currently a bit annoying. The developer of it did tell me that this project is a way for them to learn about web scraping and it's currently considered "alpha" quality. However, I tried it and it does actually work reasonably well.

You will need to go to Steam, go to your profile, then click the Games link on the right. When on the games page, make sure it's on the "All Games" tab and then download the page. Rename the html file to "MySteamGames.html" and stick in in the same folder as this script. Then simply run "python3 winesteamcompare.py" and it will print a list in terminal of your games that have a Gold or Platinum rating in Wine.

It will end up giving you a list like this (yes, I really do have a lot of games!):
QuoteYou have 1094 games
Aliens vs Predator ... Platinum
Aliens: Colonial Marines ... Gold
FEAR 2: Project Origin ... Platinum
Dead Space 2 ... Platinum
Call of Duty: Black Ops ... Platinum


Find the script on github here.

As always, I don't recommend buying recent games to play in Wine in case they get a port in future. However, it's still better to play in Wine on Linux, than on Windows. Someone using Wine could eventually be a full Linux user, so whatever helps people stay on Linux is great. Wine is always a controversial topic, but it is a fantastic tool. Article taken from GamingOnLinux.com.
Tags: Wine
9 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. Find me on Mastodon.
See more from me
The comments on this article are closed.
19 comments
Page: «2/2
  Go to:

Solitary Aug 2, 2017
For those who want to filter only non-Linux Steam games, change lines in StreamExtract function in steamextract.py like this
for x in bla:
        if i >= 2:
            if "invalid_platform" not in x:
                continue
            x = x.split("\"")
            game = x[1]
            print(ProcessGameName(game))
        i += 1


The condition will skip any games that are not of "invalid_platform" status.

Edit: of course your Steam page needs to be in Linux mode, the header on the page above the list needs to read this (see below). If you login in on Linux machine it should be done automatically (I guess)
Current Steam login
username | Linux



Last edited by Solitary on 2 August 2017 at 8:14 pm UTC
wojtek88 Aug 2, 2017
Quoting: Gnurfos
Quoting: mraggiI'm going to look into the steam api (I didn't know it existed!). The problem is that steam uses either your phone or a code they send you by email to authenticate, so I didn't know how to do that via script.

You can require that the user set their profile to public, if you want to spare the pain of logging in.

Else I suggest you turn your script into a web page, where users can authenticate by themselves via Steam. Lots of sites do that, and as a user, I like this a lot more than running a script. But in addition to coding it, you have to host it somewhere.

I second what Faugn says about using proper modules rather than system calls. I would add that you should reserve main() for command line entry points only, and if a module calls something from another module, it should be a function with a descriptive name instead.

I'll just think loud - what do you guys think about making @mraggi's script a tiny page (like @Gnurfos you suggested) that would be linked from gamingonlinux in a similar way as http://www.opengamebenchmarks.org/ is linked in forum?
Of course, as Gnurfos said, there will be a need to pay for the hosting, etc., but personally I would consider "checking your library against Wine" a valuable part of Gamingonlinux.
There is yet another option -> rewrite what @mraggi did to PHP and make it a part of GamingOnLinux, but that's up to @mraggi and @liamdawe to decide.

P.S. I guess gamingonlinux.com should also allow to post user reviews, but I guess I just need to create a separated suggestions forum thread for that topic.
TheRiddick Aug 2, 2017
It would be nice if it also gave you a percentage of performance vs native windows.
mraggi Aug 2, 2017
Okay, I looked at the steam api thingy, and apparently I need a key to use the steam api. I'm thinking I probably shouldn't just hardcode my own key into the script, since that would be probably a breach of the terms.

But then making you get your own key to use the script would make it probably even more annoying than downloading the page from your browser...

What do you guys think? I'm open to suggestions. It seems to me that the only solution would be to create my own website that does this for you and just gives you the results. Which would require me to learn html, css, javascript.
Gnurfos Aug 3, 2017
Quoting: mraggiOkay, I looked at the steam api thingy, and apparently I need a key to use the steam api. I'm thinking I probably shouldn't just hardcode my own key into the script, since that would be probably a breach of the terms.

I don't know about terms, but intuitively to me, the main problem with using your api key in the script is that it makes it public, and if someone uses it too much (or tries to hack steam with it), your key could get banned, or even your whole account (who knows with steam).

To keep it safe you need the scripts running "server side", but that means having a server. If you're interested in programming though, I would say that learning web technologies is never a wasted effort these days.
NuSuey Aug 3, 2017
I might / or might not implemented something like this on TuxDB in the Wine section..:D

(Don't want to post any links to not anger the gods)


Last edited by NuSuey on 3 August 2017 at 8:28 am UTC
dpanter Aug 3, 2017
Excellent job guys, downloaded the new files and voila, works like a charm! ^_^
slaapliedje Aug 3, 2017
Quoting: DrMcCoy
QuoteIt will end up giving you a list like this (yes, I really do have a lot of games!):

QuoteYou have 1094 games
You are like a little baby, watch this:

QuoteYou have 1402 games
However, for me, with Python 3.4, the script itself fails:
  File "winehqextract.py", line 72
    getpluspost = {**getparams,**postparams}
                    ^
SyntaxError: invalid syntax


I'm a C/C++ programmer, the only contact with Python I have is a few IDAPython scripts or Ren'Py scripts, so I have no idea what's going on there.

EDIT: Seems like I've been ninja'd there. :P

Ha, I have 1964 Games... now if only I had time to play them.
Lakorta Aug 3, 2017
--ignore please--


Last edited by Lakorta on 3 August 2017 at 11:27 am UTC
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.