this post was submitted on 08 Dec 2023
93 points (93.5% liked)
Linux Gaming
15842 readers
17 users here now
Gaming on the GNU/Linux operating system.
Recommended news sources:
Related chat:
Related Communities:
Please be nice to other members. Anyone not being nice will be banned. Keep it fun, respectful and just be awesome to each other.
founded 4 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
You do realize it's not that simple, right? That's arm, not x86 so it would be a different architecture from consoles and pcs. It necessitates using some sort of translation layer like rosetta for mac and that tanks performance. So no, in the short term that wouldn't be neat.
M1 and M2 chips are so much faster that they outperform native x86 macs running Rosetta https://www.macrumors.com/2020/11/15/m1-chip-emulating-x86-benchmark/
Those are synthetic CPU tests. It's not a valid point of reference when discussing a cpu+gpu workload for an x86 game. Plus, you're comparing with 3 year old Intel cpus. The mobile king right now are AMD APUs.
New ARM chips would also need to only emulate the speeds of current x86 chips as opposed to future ones to support the current crop of games. The idea would be that new games would be compiled natively. Most games nowadays use a handful of engines, so it's really a matter of porting the engine to the new platform. There are a number of architecture differences that make chips like Apple M series and new Qualcomm chips strictly superior to anything Intel or AMD are putting out. This article does a good overview. The gist is that there are two main advantages. System on a chip architecture eliminates the need for the bus, so GPU, CPU, and any other cores can all share memory directly. The other big advantage is that RISC instructions have a fixed sized, you can read a batch of instructions figure out which ones are independent, and then run those in parallel. This approach scales to a large number of cores. On the other hand, CISC instructions are variable length and this makes this approach impossible to scale. AMD discovered that past parallelizing 3-4 instructions the cost of figuring out dependencies exceeds the benefits of running them in parallel.
My overall argument here is that the chip simply has to run enough current games well enough, and that new games would target the chip natively. And I'm going to point out that Steam Deck clearly shows that using an emulation layer as a bridge is a perfectly viable approach.
That's not really true. It has to run a plethora of games well. Both new and very old. Not to mention emulators as well.
The fact that a different architecture might be a lot better than x86 doesn't change the fact that pcs and consoles use x86 and that all of the emulators target that architecture as well. I don't care how much better arm o risc can be, I care about being able to use the games and programs I want to use today. Unless new architectures are powerful enough to run x86 programs decently woth a translation layer, their adoption will not be widespread.
They won't even compile games for Linux as it is, and a lot of the ports we do get are awful ones that run significantly worse than the Windows versions do through Proton, so expecting publishers to start putting all their PC games on a different architecture entirely, just for the sake of handhelds like this, is completely unrealistic
Stuff like Proton (which isn't emulation in the sense that this would be) has already struggled so much with compatibility over the years to get to where it is now, adding an entire x86 emulation layer on top of that would set things back so far and it would even more of an uphill battle to recover from
If the goal is to run enough current games well enough, then AMD chips are still doing fine at that, and upcoming generations will likely go a long way to improving that
I've been pretty happy with the Steam Deck, and pretty much all the games I wanted to play worked just fine. Steam Deck is also selling quite well, so clearly I'm not an outlier.
And I've already explained in detail why RISC SoC architecture is far better than anything possible with x86.
Yeah but that's only from technical standpoint. Adoption is king and right now we're pretty far away from ARM or risc being commonplace. Hence, a handheld with a non x86 chip does not make sense now or in the near future. Not to mention that people tend to want to run emulators and old games with these devices and those will never be "compiled natively" for either arm or risc.
The major advantage of RISC is drastically lower power consumption compared to x86. One of the biggest complaints people have with mobile is that the battery runs dry quickly when playing games. Significantly increasing battery life would be a huge win.
Agreed. However, why would I be happy about having more battery in a device that doesn't let me run the games/programs that I want to use?
I find there are more games than I have time to play already out there, so the actual question is whether the device would have enough games to make it worth it. I mean this is exactly the same problem people have when choosing a game console. Despite consoles having strictly less games than PCs, plenty of people still buy consoles and are perfectly happy with them.
I have a Steam Deck and I'm happy with it too, but my point is that the game compatibility would just get even worse if you add on having to emulate x86, because it's not like x86 emulation would be perfect right away, and the amount of native ports will become even smaller than they already are
Even if the architecture is an improvement, in practice it wouldn't make any sense right now, and I can't see an ARM-based Steam Deck or whatever selling nearly as well as the existing x86 ones given the downsides it would present
Using this logic no custom console hardware would've ever been possible.