nopesmith Feb 14, 2020 @ 4:24am
Edit: Steam client on POWER9
EDIT: my suggestion is to port the steam client to POWER.

I realize the following may not read that way so I’m including this statement at the top. Sorry, I wrote this while very tired.

End EDIT

I've been wondering, given the broader acceptance (now) of LINUX in general, and by Steam in particular, why the community hasn't started encouraging more porting of games to different architectures. Although there are things happening with Aarch because of apple, I was thinking in particular the POWER architecture, which recently went stem[www.phoronix.com]-to-stern FOSS.* These architectures are also becoming more relevant for HPC, with the two leading supercomputers in the TOP500[en.wikipedia.org] both having a POWER9 architecture.

I know you might say 'well you can't get one of those machines for yourself' (you can, see Raptor CS[www.raptorcs.com]) but even if you couldn't having a game running natively on a server that is POWER9 could be a great framework for streaming games.

As far as I know there's one project to try to run an adaptation of WINE based on KVM-QEMU that can play games on power (the project is called hangover[github.com], and it seems focused on Aarch64 primarily). Even just seeing if proton, which is more performant than other WINES from what I've read, would work with this sort of x86 translation might be an interesting place to start. Since proton's source is freely available building it should be relatively feasible.

So what of it people of Steam? Can we convince the powers that be to compile a few popular games and a steam client for POWER9?

*Aside from this being a good thing for what are arguably philosophical reasons, things going FOSS has had a positive effect on them in the last 10 years. It encourages more collaboration and innovation around those technologies. There aren't a lot of computer companies anymore that don't value this sort of thing, but the funny thing about x86_64 being proprietary is that it means people who learn about low level stuff like hardware in school literally don't get to learn it. There's RISC-V, but POWER9 is a mature tech with (now) many of the same virtues and few of the faults. The fact that large institutions can buy these servers and now customize them means this project has a life beyond RHEL and IBM, not that those entities aren't big players.
Last edited by nopesmith; Feb 14, 2020 @ 9:40pm

Something went wrong while displaying this content. Refresh

Error Reference: Community_9734361_
Loading CSS chunk 7561 failed.
(error: https://community.fastly.steamstatic.com/public/css/applications/community/communityawardsapp.css?contenthash=789dd1fbdb6c6b5c773d)
< 1 2 >
Showing 1-15 of 25 comments
Gwarsbane Feb 14, 2020 @ 5:29am 
Doubt it very much just because MAC and Linus make up something like less then 1% combined of people who use steam that any other OS are pretty much pointless, it would cost more money to port them than they would make. You also have to be able to hire someone who knows how to program for that OS, so the more rare the OS, the less chance you're gonna find someone to actually do that for a reasonable price.
nopesmith Feb 14, 2020 @ 8:06am 
I understand the apparent challenge in the cost. I guess I would point to the fact that there are linux and mac ports of many games now (most of my games are crossplatform, for example). I think there are probably some games that would be fairly easy to compile (if one had the source) on POWER. I think nearly all of the debian apt library is there, so you can have access to all the prebuilt tools and niceties in a debian/ubuntu install on one of these workstations that you're used to having on an x86 desktop because the source is available for those tools.

To emphasize this point, Unreal 4 (which is available in some capacity as source code, apparently) will compile on POWER, so someone did that and you can actually play unreal tournament natively there.

Apparently the performance there is from an old AMD graphics driver (and POWER8 not 9 cpu/board), so the frame-rate isn't terribly overwhelming but those drivers and chips/boards are all better now, and because POWER is used in ML you can get proprietary drivers for NVIDIA cards that are quite performant, just like you can with other mainstream linuxes.
Last edited by nopesmith; Feb 14, 2020 @ 8:07am
Brian9824 Feb 14, 2020 @ 12:30pm 
Originally posted by nopesmith:
I understand the apparent challenge in the cost. I guess I would point to the fact that there are linux and mac ports of many games now (most of my games are crossplatform, for example). I think there are probably some games that would be fairly easy to compile (if one had the source) on POWER. I think nearly all of the debian apt library is there, so you can have access to all the prebuilt tools and niceties in a debian/ubuntu install on one of these workstations that you're used to having on an x86 desktop because the source is available for those tools.

To emphasize this point, Unreal 4 (which is available in some capacity as source code, apparently) will compile on POWER, so someone did that and you can actually play unreal tournament natively there.

Apparently the performance there is from an old AMD graphics driver (and POWER8 not 9 cpu/board), so the frame-rate isn't terribly overwhelming but those drivers and chips/boards are all better now, and because POWER is used in ML you can get proprietary drivers for NVIDIA cards that are quite performant, just like you can with other mainstream linuxes.

There is more then just porting it involved. You also have to support it. Many studios probably have never dealth with linux before so its not surprising why they focus on windows.
nopesmith Feb 14, 2020 @ 1:59pm 
It is true that us linux gamers are in the minority, but if you're not a linux gamer I think you might be surprised by how good the steam store's coverage is for us. As a person that plays a lot of my favorite games on linux currently, my experience is there are now a lot of binaries available from steam that are built to run on linux. They're still x86 binaries, though, so they would not run on Aarch or POWER architectures without emulation. I don't think they're all running in wine secretly (their performance would be worse than my second windows head on my machine, and if anything it's better).

This does raise a good question though: for those of us playing major titles on steam-linux, how is that happening? What is it about some games that causes them to remain windows only (or, bizarrely but specifically in the case of a few I can thin of, windows and mac but not linux)? Do some gaming companies sell steam some kind of limited access to the source for their game so that steam can compile linux binaries?

It's important to remember for this that the trends for PC OS uptake are reversed for servers, like those that companies are starting to focus on streaming from. Almost all servers are linux (in the same sense that 'almost all' pcs are windows). Many that provide windows specific services are virtualizing them cross-os, which isn't as good for performance but may not matter if the server is being used to virtualize something that doesn't have hefty performance requirements (I believe virtualization is particularly hard on graphics performance...). So that's a factor that potentially has implications for who's targeting which architectures for binary builds.
Last edited by nopesmith; Feb 14, 2020 @ 2:03pm
Brian9824 Feb 14, 2020 @ 2:01pm 
Originally posted by nopesmith:
It is true that us linux gamers are in the minority, but if you're not a linux gamer I think you might be surprised by how good the steam store's coverage is for us. As a person that plays a lot of my favorite games on linux currently, my experience is there are now a lot of binaries available from steam that are built to run on linux. They're still x86 binaries, though so they would not run on Aarch or POWER architectures without emulation. I don't think they're all running in wine secretly (their performance would be worse than my second windows head on my machine, and if anything it's better).

This does raise a good question though: for those of us playing major titles on steam-linux, how is that happening? What is it about some games that causes them to remain windows only (or, bizarrely but specifically in the case of a few I can thin of, windows and mac but not linux)? Do some gaming companies sell steam some kind of limited access to the source for their game so that steam can compile linux binaries?

It's important to remember for this that the trends for PC OS uptake are reversed for servers, like those that companies are starting to focus on streaming from. Almost all servers are linux (in the same sense that 'almost all' pcs are windows). Many that provide windows specific services are virtualizing them, which isn't as good for performance but may not matter if the server is being used to virtualize something that doesn't have hefty performance requirements (I believe virtualization is particularly hard on graphics performance...). So that's a factor that potentially has implications for who's targeting which architectures for binary builds.

Steam doesn't compile or have anything to do with it. It is the decision of the Developer of the game.

Hence why this suggestion is useless. This is a suggestion forum for STEAM.
nopesmith Feb 14, 2020 @ 7:09pm 
@brian9824

I think steams client being ported to Linux has every thing to do with why the game developers have begun making Linux compatible binaries. It created a market for them. We are elements in that market. So in some sense what this community says it wants is very important. Is there a bigger market for pc games than steam? If steam made a POWER port of their client that would be a big step toward creating the market for POWER ports of games.

I’m not trying to be objectionable I’m just saying it’s not useless to ask game designers to do something through the community and marketplace they rely on most. Individually we must follow their choices. Collectively they must track our aggregate whims.
nopesmith Feb 14, 2020 @ 7:28pm 
Originally posted by d0Cc:
wow thats cool

Right? Those processors all have either quad or octa-channel ram. And PCIE 4.0 since 2017. The per core specs are pretty impressive. Phoronix has some BMs of raptor machines, if you google around. It appears that some bench applications have been tuned to x86 to a degree where they just do better there, but improving compiler support for the POWER ISA seems to be telling a compelling story in the more normal case.
Brian9824 Feb 14, 2020 @ 7:43pm 
Originally posted by nopesmith:
@brian9824

I’m not trying to be objectionable I’m just saying it’s not useless to ask game designers to do something through the community and marketplace they rely on most. Individually we must follow their choices. Collectively they must track our aggregate whims.

Game designers do not read this forum and will never see this. This forum is for enhancements to the STEAM client.
aiusepsi Feb 14, 2020 @ 7:54pm 
At work, I cross-compile code for a few ISAs and OSes (we compile for 32-bit and 64-bit ARM, x86 and x86_64, and just started compiling some stuff to wasm) for a few different OSes (Mac, Linux, iOS, Android) and I can say this: nobody's going to go to the effort of setting up cross-compilation of all your code to another architecture unless you've got a good reason to, because it's a pain.

Game devs just aren't going to do speculative ports to other architectures for a market which doesn't exist. Especially given that while x86 and ARM are super-common so most third-party libraries and middleware will already have support, they're not going to have out-of-the-box support for other ISAs, which makes porting games to other architectures even less likely.
nopesmith Feb 14, 2020 @ 9:35pm 
Originally posted by brian9824:
Originally posted by nopesmith:
@brian9824

I’m not trying to be objectionable I’m just saying it’s not useless to ask game designers to do something through the community and marketplace they rely on most. Individually we must follow their choices. Collectively they must track our aggregate whims.

Game designers do not read this forum and will never see this. This forum is for enhancements to the STEAM client.

My suggestion is to port the STEAM client to POWER.

It is not sufficient to ensure that a market for games ported to this isa will emerge, but it seems like the necessary first step.
Last edited by nopesmith; Feb 14, 2020 @ 9:42pm
nullable Feb 15, 2020 @ 12:11am 
This is a tough sell. I don't think most developers are interested in supporting a market segment that's microscopic. I think you underestimate the cost of development and support.

And I doubt Valve is going to make a store on the idea a market might exist someday. There's costs with developing and maintaining a separate client, especially when there's virtually no market to support it...

But if it's going to happen, it'll happen organically in its own time.
hot rocker Aug 9, 2022 @ 6:19pm 
Necro post but I would be interested in this too. Even if its just only Valve's games (half life and counter strike)

with little endian and 4k page kernel, it probably would work fine if it was just compiled for it.
Last edited by hot rocker; Aug 9, 2022 @ 6:21pm
Crashed Aug 9, 2022 @ 6:46pm 
If somebody wants to build and successfully market a million POWER-architecture game consoles with x96/x64 emulation onboard then MAYBE they might consider it.

By the way all three of the proprietary console manufacturers previously used POWER architecture but now two use x64 and one uses ARM64.
Last edited by Crashed; Aug 9, 2022 @ 6:47pm
nullable Aug 9, 2022 @ 7:19pm 
Originally posted by proposed new gun law:
Necro post but I would be interested in this too. Even if its just only Valve's games (half life and counter strike)

with little endian and 4k page kernel, it probably would work fine if it was just compiled for it.

I mean "just do this" is easy to say, but that's also a good way to gloss all the details. If it's so easy and trivial to just recompile code to some other platform one wonders why every program doesn't do that already? All developers are clueless about how easy it is? Across the entire industry?

So for example, lots of programs use a number of libraries, so not every line of code is written in house. And if that library doesn't exist on POWER9? So you have to use something else or write your own, and then modify the POWER9 code base to use that alternate code. Now it's not just a matter of just recompiling but all sort of other work too.

Or even if you write every line of code yourself, does any of your code use platform specific features? Is the compiler going to magically going to figure that out for POWER9? There's going to be a lot more work than changing the target platform to a different architecture and hitting compile.

You also end up having to test that POWER9 client separately because at some point even if "it's almost the same", that is just another way to say it's different. And you ought to test different programs accordingly.

The details snowball where it goes from being an easy throwaway sentence written by a user, to real, labor intensive work that's not worth doing in some cases.

Again, if it's trivial, why haven't people been compiling all their code to a dozen different platforms with a touch of a button? If it were that easy, developers would love doing it. Write one set of code and get several programs out of it, I'm giddy just thinking about how nice that would be.... if it were realistic.
hot rocker Aug 9, 2022 @ 10:47pm 
it really wouldn't be that hard to have half-life 1 running on a power9 computer running linux when there's linux binaries already lol. I'm pretty sure porting orange box to ps3/xbox 360 was more involved.
< 1 2 >
Showing 1-15 of 25 comments
Per page: 1530 50

Date Posted: Feb 14, 2020 @ 4:24am
Posts: 25