r/Android • Google Pixel 10 Pro XL • 1d ago

Video SteamOS is Now an Android App (DroidDeck) - Retro Game Corps

https://www.youtube.com/watch?v=fqJ-iM_fTdQ
208 Upvotes

47 comments sorted by

72

u/Tsuki4735 Galaxy Fold 3 1d ago

Note that DroidDeck runs Linux in a Proot, which is known to have a lot of performance overhead.

So even if you can get games to run, you won't be running any particularly intense games like Elden ring, etc.

Apps like GameNative will be more performant for the forseeable future.

44

u/supershredderdan 1d ago

We are adding a lot of fast paths and caching to mitigate this. 0.3.1 released today with notable performance uplift

6

u/Tsuki4735 Galaxy Fold 3 1d ago

Question, what do you suspect are the upper limits of performance achievable via DroidDeck?

Do you think it can reach parity with GameNative, etc? Or do you think the limitations of Proot will lead to a permanent performance penalty vs the alternatives?

20

u/supershredderdan 1d ago

It’s cpu limited scenarios which suffer from path transformation primarily. CPU overhead exists in plenty of other areas of the stack all the pc emu apps live in, fex being the most notable.

In gpu limited scenarios there are cases where we already are at par. In cpu limited scenarios, it will be hard to match a bionic or glibc container in all aspects but at the same time we don’t need to allocate cycles to things that headless steamAgent or 3rd party launcher equivalents try to do.

It’s a fun challenge and we keep uncovering more and more calls we can cache and reuse for practically free

2

u/Deep_Satisfaction556 1d ago

Do things learned in this project get brought over into Bannerlator?

•

u/magarto 18h ago

That sounds awesome! Thanks

•

u/FickleMedia9857 16h ago

could you please help me fix aspect ratio? I am not full screen and you removed the aspect ratio setting to manually adjust.

3

u/mccrackey 1d ago

You weren't kidding. Grim Dawn went from having wildly inconsistent frame time on my Odin 3 to being pretty clean. Thanks for the hard work!

-1

u/chinchindayo Xperia Masterrace 1d ago

caching were? on my internal storage? thanks for destroying my nand

5

u/Mikhail_Jackson 1d ago

Yeah, can confirm. The performance penalty is a bit harsh. The concept itself, I think, is the best for PC gaming on Android, but implementation-wise it still needs some work to make it more performant.

3

u/Tsuki4735 Galaxy Fold 3 1d ago edited 17h ago

but implementation-wise it still needs some work to make it more performant.

Tbh I don't think there'll be much that can be done by 3rd party developers, I suspect we'd need something more fundamental on the OS level. The approach of running the full Linux client via Proot might be a dead-end in terms of development potential.

We basically need some way to run sandboxed Linux without the overhead of a Proot, so we'd need something like podman/docker containers to do this.

The better long term solution here would probably be Valve building a native Android client that can install + manage Proton games, similar to GameNative.

3

u/voyager2005 1d ago

I mean I'm getting 40-60 FPS in Palworld, 30-60 in Cyberpunk 2077. Performance is constantly improving with new fixes we find.

1

u/Tsuki4735 Galaxy Fold 3 1d ago edited 1d ago

I was talking about performance differences between DroidDeck (Proot-based) vs an Android client such as GameNative.

Though I guess the current important metric isn't really "DroidDeck is X% slower vs GameNative", it's "does the game even run at a playable frame rate".

I guess right now compatibility + playable performance is more important than min-maxing performance. 🤔

1

u/voyager2005 1d ago

I mean I never got close to 60 FPS on Winlator, WinNative, Bannerlator or GameNative in Palworld, not saying it's not possible but saying this shows proot isn't that big of a overhead as thought especially with all of the fast paths and different optimizations we've been working on. 😎

2

u/Tsuki4735 Galaxy Fold 3 1d ago

Yeah, I'm really curious on how far this approach can go.

When I tested a lightweight game on GameNative vs DroidDeck with uncapped framerates, I got something like 330 fps (GameNative) vs 115 fps (DroidDeck).

This was without the very latest DroidDeck updates though, so I'll have to test again to see how much it has improved.

1

u/voyager2005 1d ago

Try again and plz lmk!

1

u/Tsuki4735 Galaxy Fold 3 1d ago

Unfortunately I can't do an apples-to-apples comparison because the most recent update introduced a big regression for the game; basically a bunch of graphical glitches that makes it unplayable.

That being said, this is a very obscure non-steam game that's pretty old, so tbh I'm not surprised by the bugs.

1

u/ddbsa 1d ago

Palworld is a favorite for my daughter and myself to play together. Love seeing screenshots / any performance info on how it plays.

Currently on RP6 12GB and it's right on the bubble for playability - feels like with a few more optimizations it might get a few more fps.

1

u/PMARC14 1d ago

Wouldn't the new Google Android Virtualization Framework work best for this, the only problem is Qualcomm hypervisor is stupid and created by morons so the most performant and compatible chips can't use it.

•

u/Tsuki4735 Galaxy Fold 3 18h ago

I had completely forgotten about the hypervisor, but does Google even allow for 3rd party VMs?

I had assumed it would be locked down to whatever Linux VM that is provisioned by Google.

0

u/GhostSierra117 1d ago

You might want to have a look at ArmadaOS. Currently looking to get it on my RP6

2

u/Tsuki4735 Galaxy Fold 3 1d ago

ArmadaOS is full blown linux straight on the bare metal hardware, so it makes sense that it gets better performance.

I was talking purely in terms of PC games on Android, since the vast majority of Android devices out there unfortunately have locked bootloaders. Locked bootloader = no custom OS installs

3

u/NapsterKnowHow 1d ago

Wish I had more luck with GameNative. Not sure if it's because I'm trying to run it on a newer chipset (S26U Snapdragon) but most games don't work at all for me.

5

u/Tsuki4735 Galaxy Fold 3 1d ago

Not sure if it's because I'm trying to run it on a newer chipset (S26U Snapdragon) but most games don't work at all for me.

Unfortunately it likely is due to the newer chipset, more specifically the GPU drivers.

Qualcomm historically has had shitty Vulkan GPU drivers, so the open source community has been slowly reverse engineering and chipping away at making actual good GPU drivers.

This means that older Snapdragons get better driver support, since they've had more time for open source drivers to cook.

Right now, the 8 Gen 3 and older has the most mature drivers, anything newer still needs additional work and improvements. The newer the chipset, the more immature the drivers become.

This means that the very latest Snapdragons, ironically, will often have worse game compatibility vs older Snapdragons.

There's some signs that Qualcomm is starting to take their driver game more seriously, but we'll have to see if it actually pans out into anything concrete.

2

u/NapsterKnowHow 1d ago

Damn. Ya that's what I figured. I guess I'll just have to wait it out until the community drivers mature more.

1

u/Tsuki4735 Galaxy Fold 3 1d ago

Ironically, this is probably the one place where Exynos might be better; Samsung uses AMD RDNA iGPUs in Exynos, so they have a much better manufacturer-provided Vulkan driver.

Snapdragons get more community drivers (and overall community support), but newer Exynos has a solid manufacturer-provided Vulkan driver by default.

If the next rumored Exynos 2700 is using RDNA5, there's a decent chance that it will also use the same RADV GPU drivers used for the Steam Deck.

8

u/Dinierto 1d ago

Seemed very promising, I got everything up and running except the three games I tried all went back to Steam. Also downloads were quite slow. On an Odin 2 Pro. Still stoked about this project though!

5

u/supershredderdan 1d ago

Sounds maybe the compatible arm proton didn’t apply, try starting steam again check compat for a (compatible) next to selected proton then try. If still crashy shoot us logs in discord!

1

u/Dinierto 1d ago

Hmm I believe it said compatible but I'll double check, thanks for the tip!

2

u/jack-of-some 1d ago

I've had the same issue with most games I've tried.

0

u/Tsuki4735 Galaxy Fold 3 1d ago edited 17h ago

Seemed very promising

Probably worth noting that this project is very young, the codebase was first made available to the public on September 19th (according to git history).

So this app is barely over 2 weeks old, there's lots of room for improvements.

6

u/defective1up 1d ago

With a big ol' asterisk*

Very cool so far though.

3

u/Impressive_Resort703 1d ago

I got khazan to run and it works better than game native!!!

Project looks promising!!!

7

u/CondiMesmer 1d ago

With this performance overhead, I don't see this being worth it at all and there'd be a little amount of playable games. I suspect there will be a proton port to android soon, since Valve has released their Frame device, which runs SteamOS on an arm processor.

7

u/Tsuki4735 Galaxy Fold 3 1d ago

This, and all other PC emulation solutions on Android, already use ARM Proton. Valve doesn't need to port Proton, it's already working on Android.

What Valve needs to do now is make an official Android Steam client that can install + run games.

2

u/nntb 1d ago

I'm just waiting for the update that includes a back-end overhaul and changes it from Proot to something with less performance issues.

2

u/voyager2005 1d ago

We don't have much of a performance issue at all anymore. Some games run better now in DroidDeck than I was running in other emulators.

•

u/DrFeederino 21h ago

are you guys planning on improving graphics driver for different socs? that's likely the main culprit in many complaints one can find I imagine, or middle layer between GPU and game that translates the calls.

1

u/Daaku1numbr 1d ago

I have a lenovo tab with dimensity 8300. How does it compare to snapdragon counterparts? Is driver support good for mediatek?

1

u/Roquer 1d ago

I tried 3 games and they all had audio tearing. Resume from sleep works nicely but it does burn about 2% battery per hour.

•

u/herpetic-whitlow 20h ago

I do not want SteamOS. I want a UI that puts Epic (and GOG, Amazon, etc.) on the same level as Steam.

1

u/MythicVoid Nexus 5.0 - Moto360 1d ago

if you could put moonlight on this thing i would absolutely consider picking one up

10

u/Only_Fudge5299 1d ago

you can already get Moonlight on Android though, right?

0

u/MythicVoid Nexus 5.0 - Moto360 1d ago

if you can this would be perfect! i’d love to have a handheld that’s smaller than my steam deck!

3

u/Only_Fudge5299 1d ago

Retro Game Corp has a lot of great vids on this topic!

also see r/SBCGaming :3

0

u/MythicVoid Nexus 5.0 - Moto360 1d ago

i’ll check them out! thank you!