Steam for Pi400
I would like to see the Steam-Client released for the Raspberry Pi 400 so developers can offer their games for the Pi 400 and many other ARM based Linux systems too.

Recently the Pi400 "classic homecomputer" was released at a price of €70, see https://www.theverge.com/2020/11/2/21542278/raspberry-pi-400-keyboard-computer-arm-release-date-news-features - its predecessors have already sold 50 million times. For its price it is quite powerful, four cores, four gigs of RAM, can use any SD card and any USB device so adding 128GB SD-storage is only around €10.

The Pi400 is selling like crazy, the two pieces I ordered have delivery times of three months already even though nearly two million pieces where produced in advance.

I guess there are more systems running linux on Raspberries than x86 systems. And its userbase will grow dramatically.
Last edited by Crass Spektakel; Nov 4, 2020 @ 2:48pm
< >
Showing 1-15 of 34 comments
cinedine Nov 4, 2020 @ 3:02pm 
ARM architecture is incompatible with x86 architecture. Only very high-level programs will be compatible. Games are not.
JPMcMillen Nov 4, 2020 @ 5:47pm 
Originally posted by cinedine:
ARM architecture is incompatible with x86 architecture. Only very high-level programs will be compatible. Games are not.
Unless a game was written in assembly language it was written in a high-level language. If there's a compatible ARM compiler for the language used, it could just be a matter of recompiling the code and seeing if it works. It probably won't be quite that easy as many Windows games were written with certain things expected to be provided by the OS. But if there is a Mac version, that might work better.

The main issue here is that all SBC's tend to lack in 3d graphics processing. They really weren't designed with heavy gaming in mind, especially any kind of real time 3-d rendering. Non 3-d games might work, along with old 3-d games that the system might be able to brute force render.
Last edited by JPMcMillen; Nov 4, 2020 @ 5:48pm
Crass Spektakel Nov 4, 2020 @ 7:50pm 
A Pi 4 with Quake3 runs 50-90fps at 1920x1080 and 20-25fps at 3840x2160. Thats actually not bad at all and is roughly around 60% of the performance of a Nintendo Wii/Switch/Gamecube. The Pi 400 is quite a bit faster and can be overclocked to around 150% of the former results.

Porting Games from x86-Linux to ARM-Linux is pretty easy. I have compiled Open Transport Tycoon for the last 15 years myself to ARM/m68k/MIPS without changing anything and Quake3 has been ported to ARM in less than a day. Not by me though, that took one smarter guy.

Games written in Assembly Language? Haven't seen that on x86 for at least 30 years.

Surelly we will not see GTA5 on 4k-Ultra. But some older games like L4D, Return to Wolfenstein, Minecraft, World of Goo might actually run very well. Not to mention the myriad of older games running perfectly in emulations for C64, Amiga, DOS-Games, MAME.

And damnit, this is a ALL-PURPOSE-HOMECOMPUTER.
It runs Firefox, Thunderbird, Libreoffice, VLC and even Quake3.
For just €70!!!
If that ain't something...
JPMcMillen Nov 4, 2020 @ 7:58pm 
Originally posted by Crass Spektakel:
Games written in Assembly Language? Haven't seen that on x86 for at least 30 years.
Probably not the entire game, but there could be important libraries that only exist either as Assembly Language or compiled code with no higher level language version available.

But it's really up to the developers to port their games and if enough won't offer to do it, there's no big incentive for Steam to port their client. Although... that does leave the door open for someone else to make a similar service for ARM computers.

Don't get me wrong, I like the idea. Especially as ARM processors are becoming more popular and a valid option for those not needing the highest end 3-d graphics rendering on their machine.
Gambit-3k Nov 4, 2020 @ 8:50pm 
There is a project called box86 that while still early has some decent success running older x86 games and even some newer indie titles on ARM. It's currently not the most stable, but here's a link that talks about the current (mostly) situation and how you can experiment with it.

https://www.tomshardware.com/how-to/raspberry-pi-install-steam
Last edited by Gambit-3k; Nov 4, 2020 @ 8:54pm
cinedine Nov 4, 2020 @ 11:06pm 
Originally posted by JPMcMillen:
Originally posted by cinedine:
ARM architecture is incompatible with x86 architecture. Only very high-level programs will be compatible. Games are not.
Unless a game was written in assembly language it was written in a high-level language.

Not really, but anyhow I am not talking about high level languages but high level applications.

A shell script or a ECMAS application will work on anything because it just needs an interpreter.

A game uses at the very least libraries to directly access memory and render algorithms. Stuff that needs to be compiled against the architecture's instruction set.
Or you need a layer in-between that translates them, like WINE or Proton.
aiusepsi Nov 5, 2020 @ 4:01am 
Originally posted by cinedine:
A game uses at the very least libraries to directly access memory and render algorithms. Stuff that needs to be compiled against the architecture's instruction set.
Accessing memory is just a case of calling malloc(), from libc. Literally every platform under the sun has libc, because not being able to run C programs is sort of a hinderance.

Rendering APIs are usually part of the OS distribution, so they're also always available.

The SDL library, which is commonly used in games to abstract low-level platform differences, like access to video APIs among many others, is supported on Raspberry Pi as well as other ARM platforms like iOS, Android, and Nintendo Switch. And SDL is provided by the Steam Runtime for Linux games.

Library availability is just not an issue, especially on Linux where most of the stuff you care about is open source anyway.
Last edited by aiusepsi; Nov 5, 2020 @ 4:04am
cinedine Nov 5, 2020 @ 4:14am 
Originally posted by aiusepsi:
Originally posted by cinedine:
A game uses at the very least libraries to directly access memory and render algorithms. Stuff that needs to be compiled against the architecture's instruction set.
Accessing memory is just a case of calling malloc(), from libc. Literally every platform under the sun has libc, because not being able to run C programs is sort of a hinderance.

And how do you call that library?
By compiling against it. That's my point. You need a different version for ARM architecture just like you need for Linux and Mac.

Flash and Java games for example would be fine to run on different machines ... but the way you distribute them is to include their runtime environment. Which again needs a repackaging for the different version.

Maybe I worded it not clear enough because this topic keeps creeping up:
The games available on Steam right now are not compatible with ARM architecture. Releasing a Steam client for it is not enough. The games need to be ported, too.
Tito Shivan Nov 5, 2020 @ 4:50am 
Originally posted by cinedine:
The games need to be ported, too.
And if the rate of developers porting their games for Linux (Which is still the same architecture Windows has) is an indicator of something I wouldn't expect developers porting their games to ARM to gain any traction at all.

Development time requires money and that money has to come from somewhere. I really doubt projected game sales for ARM computers right now can cover such expenses.

Originally posted by Crass Spektakel:
And damnit, this is a ALL-PURPOSE-HOMECOMPUTER.
All computers are general purpose machines. It's its very definition.
However the Pi400 is more of a niche market product than a general consumer product.
aiusepsi Nov 5, 2020 @ 6:27am 
Originally posted by cinedine:
By compiling against it. That's my point. You need a different version for ARM architecture just like you need for Linux and Mac.
Nobody is disputing that you'd need to recompile games for them to work. After all, the whole point of this thread is asking for a Steam client recompiled for ARM.

A recompile for ARM is not a vastly difficult task; any game that has an iOS, Android, or Nintendo Switch version already compiles for ARM. There's big chunks of Steam client code already shipping on ARM, embedded into the mobile version of Dota Underlords!

And I'm not saying "recompile for ARM isn't vastly difficult" from a position of ignorance; I manage our builds at work that we crosscompile for x86 and ARM. If they've done enough for the Steam client code that's embedded into Underlords to work, going the rest of the way to shipping a Steam client that can work on ARM is small.
Crass Spektakel Nov 5, 2020 @ 6:33am 
Today a lot more Linux-Systems are running ARM instead x86 so I guess everything is already available for ARM.

Heck, there are like ten times more ARM Linux Computers out there than x86 Windows computers... sort of.
cinedine Nov 5, 2020 @ 6:35am 
Originally posted by aiusepsi:
And I'm not saying "recompile for ARM isn't vastly difficult" from a position of ignorance; I manage our builds at work that we crosscompile for x86 and ARM. If they've done enough for the Steam client code that's embedded into Underlords to work, going the rest of the way to shipping a Steam client that can work on ARM is small.

But you do so with programs designed to be cross-platform.
If my graphics engine directly communicates with the graphics driver, I need it to be ported first. And it better have the same interface functions.
That's the problem: some games are full of these third-party dependencies that need to work first.



Originally posted by aiusepsi:
Originally posted by cinedine:
By compiling against it. That's my point. You need a different version for ARM architecture just like you need for Linux and Mac.
Nobody is disputing that you'd need to recompile games for them to work. After all, the whole point of this thread is asking for a Steam client recompiled for ARM.

I strongly assume that games working on the platform is implied.
What good is the client? Pretty much everything non-game related can be done via a web browser.

Originally posted by Crass Spektakel:
Today a lot more Linux-Systems are running ARM instead x86 so I guess everything is already available for ARM.

Heck, there are like ten times more ARM Linux Computers out there than x86 Windows computers... sort of.

Yeah. Mobile devices and embedded solutions. It will be a few years until your IOT washing machine runs Skyrim.
Last edited by cinedine; Nov 5, 2020 @ 6:37am
aiusepsi Nov 5, 2020 @ 6:55am 
Originally posted by cinedine:
If my graphics engine directly communicates with the graphics driver, I need it to be ported first. And it better have the same interface functions.
There are standards for how a game communicates with a graphics driver, OpenGL and Vulkan. So, does Raspberry Pi support OpenGL and Vulkan? Yes, yes[www.raspberrypi.org] it does.

That's the problem: some games are full of these third-party dependencies that need to work first.
Sure. But that's a) not a problem for all games b) Any dependency which has been anywhere near, say, an iPhone is already ported to ARM.

What good is the client? Pretty much everything non-game related can be done via a web browser.
Er, so you can download games to play on your ARM computer. (It would also be nifty to have an ARM version of Steamcmd, because it would enable some caching scenarios with lower-power devices, which would rock)

Anyway, something is going to have to break the chicken-egg cycle, otherwise people'll end up arguing that there's no ARM games on Steam so there shouldn't be an ARM Steam client, and because there's no ARM Steam client there are no ARM games on Steam, so there shouldn't be an ARM Steam client, and...
nullable Nov 5, 2020 @ 7:13am 
Originally posted by aiusepsi:
Anyway, something is going to have to break the chicken-egg cycle, otherwise people'll end up arguing that there's no ARM games on Steam so there shouldn't be an ARM Steam client, and because there's no ARM Steam client there are no ARM games on Steam, so there shouldn't be an ARM Steam client, and...

Yeah, when there's money to be made will break that cycle. Right now PC Gaming on ARM makes PC gaming on Mac's look huge. And Steam isn't the only store selling PC games. And if no one is really supporting it right now from stores to developers, are they all idiots who can't see piles of money? Or is there just no money in it right now?

JPMcMillen Nov 5, 2020 @ 7:23am 
Originally posted by Brockenstein:
Originally posted by aiusepsi:
Anyway, something is going to have to break the chicken-egg cycle, otherwise people'll end up arguing that there's no ARM games on Steam so there shouldn't be an ARM Steam client, and because there's no ARM Steam client there are no ARM games on Steam, so there shouldn't be an ARM Steam client, and...

Yeah, when there's money to be made will break that cycle. Right now PC Gaming on ARM makes PC gaming on Mac's look huge. And Steam isn't the only store selling PC games. And if no one is really supporting it right now from stores to developers, are they all idiots who can't see piles of money? Or is there just no money in it right now?
I think the main issue is that there's not much demand for games on SBC's, at least any outside of arcade/console emulators. Sure, you might be able to install Android and get games from the Google Play Store, but beyond that the audience isn't really there.
< >
Showing 1-15 of 34 comments
Per page: 1530 50

Date Posted: Nov 4, 2020 @ 2:45pm
Posts: 34