Steam for Linux

Steam for Linux

nicknboots Apr 25, 2020 @ 6:46am
Suddenly not able to run Steam Client on Linux
Is the Steam Client Beta Update - April 22nd, 2020 which makes mention of a "Diagnostic tool: verify Steam client min spec CPU features" blocking me from running the Steam Client?

On April 23, 2020, I was able to run Steam and games (Space Engineers) with no problems.

On April 24, 2020, I started Steam, Steam performed a normal update (I assume the April 22, 2020 update), and then I received the following error box:

-----------------------------------------------------------------------------------------
Error

Sorry, this computer's CPU is too old to run Steam.

Steam requires at least an Intel Pentium 4 or AMD Opteron, with the following features:

-x86-64 (AMD64) instruction set (lm in /proc/cpuinfo flags)
-CMPXCHG16B instruction support (cx16 in /proc/cpuinfo flags)
-SSE3 instruction support (pni in /proc/cpuinfo flags)
OK
-----------------------------------------------------------------------------------------

Pressing OK then closed the steam client.

The system that received this error contains of the following:
Linux Mint 19.1 Tessa 64-bit
Kernel Linux 4.15.0-96-generic x86_64
MATE 1.20.1
Intel DP35DP Motherboard
BIOS Version: DPP3510J.86A.0572.2009.0715.2346 (latest and last BIOS Version)
Intel Q9650 @ 3.00 GHz x 4
Gigabyte Geforce GTX 1050 3GB GDDR5
Acer 1680x1050
8 GB 4x2GB DDR2-800

So, in checking against the error message, my CPU is current enough (released in 2008 vs. 2000 for Pentium 4).
And checking /proc/cpuinfo flags:
lm exists
cx8 exists
pni exists

But cx16 does not exist, so no CMPXCHG16B support (cx16) is indicated in /proc/cpuinfo

The Q9650 chip does support CMPXCHG16B as per:
Intel Core 2 Quad Q9650 specifications[www.cpu-world.com]

And my exploration of the BIOS setup did not find any configurable options to enable or disable this feature, and the BIOS is up to date.

In my exploration of the problem I found a notice in github stating that CMPXCHG16B in some form has been required since 2015-2016 when Google dropped 32 bit support:
Since when is CMPXCHG16B a requirement?[github.com]

But, this machine has worked splendidly on both native and ProtonDB supported games for the past year, so it is not too old to actually run the games that I am interested in playing, and worked just fine with the Steam client until today.

In the past month I have not updated Linux Mint, so there should not have been any changes on the OS side.

As a debugging step, I did update all the packages that had software or security updates available, rebooted, and the Steam client error above remained.


So my questions are:
1) Did the checking for CMPXCHG16B get more restrictive in the latest Steam update?
2) Is there a way to get the cx16 support from the CPU to appear in /proc/cpuinfo flags, assuming that this would satisfy the Steam client?
3) Is there some other way past this issue, or has this machine reached end of life for this application?


Thank you,
N
< >
Showing 1-14 of 14 comments
YellowApple Apr 25, 2020 @ 8:28am 
After doing some research[duckduckgo.com], it looks like it's a motherboard/BIOS issue, and a known one at that. The definitive test would be whether or not this hardware was ever capable of running Windows 8.1 or newer. If the BIOS is already up to date then there likely ain't much you can do beyond replacing the motherboard.

Per a random forum I found[forums.overclockers.co.uk], it sounds like the Gigabyte P35C-DS3R supports that instruction (out of the box?) (and the Abit IP35 Pro XE does with a possibly-custom BIOS - which is the subject of that thread - but the link to said BIOS backup is dead).

It's a bit weird that Steam would care about this, though. I take it you've already reached out to Steam's support?
Last edited by YellowApple; Apr 25, 2020 @ 8:30am
Marlock Apr 25, 2020 @ 8:53am 
Since when is CMPXCHG16B a requirement? #7046
https://github.com/ValveSoftware/steam-for-linux/issues/7046

If I understood it correctly this instruction needs to run properly to ensure secure execution of libcef (the embeded browser used for store pages, forums and now the games library)... the update is likely there to enforce steam to run only when the instruction is available, for security reasons, even if games would actually work without it...

maybe they can be persuaded to change the behaviour into running it like "steam --no-browser" instead of refusing entirely to run... this does mutilate the app but allows installing, updating and launching games, setting up controllers, etc... the store and etc can be used via an external browser, so it looks like a good compromise without risking security.

edit: i doubt steam is clever enough, but maybe try running "steam --no-browser" yourself and see if it lets you use it then... it should, but probably won't, but still worth trying
Last edited by Marlock; Apr 25, 2020 @ 9:05am
Marlock Apr 25, 2020 @ 5:41pm 
you do know winXP is dangerous to use bec... nevermind, WannaCry is probably showing why already ;)

anyway, support for a legacy OS (winXP) may seem like a "don't touch it and it will keep working" affair, but is in fact quite hard... supporting software over legacy hardware in a recent OS is a bit easier (with the Linux Kernel to back you up) but still throws some curveballs


in any case, maybe you can use Lutris / GameHub / Gnome Games or some similar opensource launcher without a builtin browser to help run Steam games in that vintage PC via a modern linux distro? WinXP is *really* a bad idea if the machine isn't completely isolated from the rest of the world... and even then why not linux instead?

Unless it's for a museum exhibit... then you need to get old versions of Steam to match up with the hardware and the OS!
Last edited by Marlock; Apr 25, 2020 @ 5:45pm
HappyHippo Apr 29, 2020 @ 4:41pm 
Steam just updated on me today and is now giving me this same message:

Sorry, this computer's CPU is too old to run Steam.

Steam requires at least an Intel Pentium 4 or AMD Opteron, with the following features:
- x86-64 (AMD64) instruction set (lm in /proc/cpuinfo flags)
- CMPXCHG16B instruction support (cx16 in /proc/cpuinfo flags)
- SSE3 instruction support (pni in /proc/cpuinfo flags)

I'm running Ubuntu 18.04 and my CPU meets all the named requirements (it's a Xeon E5450). It really sucks to not be able to play the games I've payed for and have been enjoying up to now.
Marlock Apr 29, 2020 @ 8:21pm 
maybe fixable by:
sudo apt purge steam
(careful with saves for proton games as they may be in the proton prefixes folder which this may delete...)

then
sudo apt install steam


did any of you try it already?
Last edited by Marlock; Apr 29, 2020 @ 8:21pm
jgacas[linux] Apr 30, 2020 @ 6:20am 
Originally posted by HappyHippo:
Steam just updated on me today and is now giving me this same message:

Sorry, this computer's CPU is too old to run Steam.

Steam requires at least an Intel Pentium 4 or AMD Opteron, with the following features:
- x86-64 (AMD64) instruction set (lm in /proc/cpuinfo flags)
- CMPXCHG16B instruction support (cx16 in /proc/cpuinfo flags)
- SSE3 instruction support (pni in /proc/cpuinfo flags)

I'm running Ubuntu 18.04 and my CPU meets all the named requirements (it's a Xeon E5450). It really sucks to not be able to play the games I've payed for and have been enjoying up to now.

Same error on my machine with Xeon X5460. I submitted an issue to the Steam Support yesterday. Let's see if this can be fixed.
jgacas[linux] Apr 30, 2020 @ 6:25am 
Originally posted by Marlock:
maybe fixable by:
sudo apt purge steam
(careful with saves for proton games as they may be in the proton prefixes folder which this may delete...)

then
sudo apt install steam


did any of you try it already?
It did not help unfortunately.
YellowApple Apr 30, 2020 @ 3:07pm 
Originally posted by HappyHippo:
Steam just updated on me today and is now giving me this same message:

Sorry, this computer's CPU is too old to run Steam.

Steam requires at least an Intel Pentium 4 or AMD Opteron, with the following features:
- x86-64 (AMD64) instruction set (lm in /proc/cpuinfo flags)
- CMPXCHG16B instruction support (cx16 in /proc/cpuinfo flags)
- SSE3 instruction support (pni in /proc/cpuinfo flags)

I'm running Ubuntu 18.04 and my CPU meets all the named requirements (it's a Xeon E5450). It really sucks to not be able to play the games I've payed for and have been enjoying up to now.
Which model of motherboard are you using? As I mentioned further up thread, that matters, too.

Also, if you haven't already, definitely validate that the required CPU flags are indeed reported (i.e. "grep flags /proc/cpuinfo" and ensure that the lm, cx16, and pni flags are all present). If they are, then Valve done goofed. If they aren't, well, Valve still done goofed IMO (if it ain't broke why fix it) but there's likely not much you can do beyond replacing the CPU and/or motherboard.
jgacas[linux] May 1, 2020 @ 2:12am 
Originally posted by YellowApple:
Originally posted by HappyHippo:
Steam just updated on me today and is now giving me this same message:



I'm running Ubuntu 18.04 and my CPU meets all the named requirements (it's a Xeon E5450). It really sucks to not be able to play the games I've payed for and have been enjoying up to now.
Which model of motherboard are you using? As I mentioned further up thread, that matters, too.

Also, if you haven't already, definitely validate that the required CPU flags are indeed reported (i.e. "grep flags /proc/cpuinfo" and ensure that the lm, cx16, and pni flags are all present). If they are, then Valve done goofed. If they aren't, well, Valve still done goofed IMO (if it ain't broke why fix it) but there's likely not much you can do beyond replacing the CPU and/or motherboard.


For my X5460 /proc/cpuinfo really shows only cx8.

Motherboard info:
Manufacturer: Gigabyte Technology Co., Ltd. Product Name: EP43-UD3L BIOS Version: F9 (this is latest bios)

I'll wait for Support's feedback on this issue. I would also like to know are these new requirements applied to Linux only or Windows is also affected (but I do not have windows installed).

Still, requirements state that Pentium 4 is required to run Steam Client, so Valve should change requirements in this case, or revert the changes made in the last client update.
Last edited by jgacas[linux]; May 1, 2020 @ 2:31am
Marlock May 2, 2020 @ 10:54am 
Originally posted by jgacaslinux:
Managed to fix the issue! Details can be found in this post: https://steamcommunity.com/discussions/forum/11/2270320616966070805/?ctp=2#c2271447149940712051.
Glad it worked!

As a side-note, AFAIK microcode can be updated by Linux distros at boot too, so it's a bit odd that it exists and was missing for you, in particular for CPU microcode... other microcodes obviously aren't as carefully curated, but this is IMHO a bit of an unexpected gap.
michael Sep 23, 2020 @ 5:18pm 
I am getting this with an I-9 (9900K) on a Gigabyte Designaire motherboard (Newest Firmware). I am running Mint Linux Cinnamon and XFCE via Virtualbox 6.1.14. Somehow I don't think an I9 is "too old" to run Steam.
michael Sep 23, 2020 @ 5:20pm 
I did note in the cpuinfo file that one of the flags is listed as ssse3 instead of sse3. I did add the required flags to the flags area, but I am still getting the error. Bypassing the check method I do not think is the answer here. This cpu was running Steam on a VM a few months ago, but something changed.
Marlock Sep 23, 2020 @ 6:35pm 
Originally posted by michael:
I did note in the cpuinfo file that one of the flags is listed as ssse3 instead of sse3. I did add the required flags to the flags area, but I am still getting the error. Bypassing the check method I do not think is the answer here. This cpu was running Steam on a VM a few months ago, but something changed.
can you boot it with older kernel and check if thibgs work again? also check if this ssse3 typo is present... a broken cpu feature recognition due to a typo might well be the cause of your issue

bypassing the cpu feature check is annoying as a permanent solution but it may at least serve as confirmation that the feature works as intended and is simply undetected / or that it is now actually broken
Last edited by Marlock; Sep 23, 2020 @ 6:37pm
< >
Showing 1-14 of 14 comments
Per page: 1530 50

Date Posted: Apr 25, 2020 @ 6:46am
Posts: 14