makebad.games / capitalist overlord raccoons / わたしのなまえはフィルスペンサーではありません (watashi no namae wa firu supensaa dewa arimasen) (my name is not phil spencer)

With Armada and Valve's Steam Frame headset, things look bright for SteamOS on Android gaming handhelds

The future has arrived. ARM devices, so your phones, and your compact handheld gaming consoles that come with Android pre-installed, are now reliably capable of playing PC games, thanks to Valve launching the ARM-based Steam Frame VR headset, and, with it, a functional ARM version of Valve’s Windows compatibility layer, Proton. People brainier than me have taken that and brought it over to ARM Linux distributions and, less successfully, Android itself.

I’ve written before about early attempts at getting this going such as the Android apps GameNative and GameHub, and they were exciting, but tricky to configure and often disappointing regarding game compatibility. Based on my experience with running games on a handheld device after the Steam Frame’s launch, this has changed because of the emergence of a compelling alternative: Armada, an ARM-based fork of SteamOS.

ARM Proton on the Armada operating system

My testing environment has been an AYN Thor with 16GB of RAM and 1TB of storage. Games that have previously given, and still do give me trouble on Android-forward compatibility apps, such as arcade racer Buck Up and Drive! and virtual pinball table XENOTILT, are now running well. I’ll quantify well: 60fps at 720p, low settings (though these games don’t have many settings to toggle), I’ve taken my Thor outside and loaded games up without an internet connection; these DRM-free indie games have been frictionless to play in this testing environment, performing so consistent that, for the first time, I’ve stopped paying attention to frame counters and game compatibility discords in a Steam game on one of these devices.

I’ve had success with a more premium game containing the controversial digital-rights-management software Denuvo; the only one I’ve tried as I write this sentence, but it’s one that I’ve been trying to play in this environment for some time: Sonic Racing: CrossWorlds. At 720p resolution, on the low settings preset but with the frame-rate cap set to 60 frames-per-second as opposed to the default 30, and with Armada’s Performance power profile assigned, it runs smoothly with the fan blowing a good amount. The only bug I encountered, still extant as I write this sentence, is that character voiceover lines (aside from the race announcer’s) do not play. I trust that this will be ironed out at some stage by Valve, because Valve’s resources are the tremendous advantage of using official, release builds of Proton. With the long-awaited release of the Steam Frame, and my being wildly impressed with ARM Proton as it stands, I’m confident in Valve’s ability to continually improve game performance and compatibility within Steam on devices with ARM processors. It managed and manages it with Proton builds targeted towards fully-fledged PCs and handheld gaming PCs on the X86 architecture. But yes, Sonic Racing: CrossWorlds on a portable is now not only feasible, but extremely pleasant. I’m not especially minding the lack of character V/O for now, because I get to do Robotnik’s ‘YOU STAND AMONG A GENIUS’ out loud. It’s the little things when the planet’s burning.

I plan to keep testing games exclusively on Armada running on the AYN Thor, although other alternatives exist, such as ROCKNIX, another Linux distribution that I’ve written about positively prior to the release of the Steam Frame, and another Android app that I won’t name or discuss due to the primary author’s disclosure of the involvement of generative artificial intelligence in its production. I’ve found that games running in ARM Proton via dedicated Linux distributions for handheld devices perform better, with less configuration on the user’s part.

As things stand, using an ARM Proton build on the Armada operating system running on a handheld gaming console such as the AYN Thor is one rung below witchcraft, and a wonderful way to play your favourite indie and lighter triple-A games on the go. It’s performant to the point that I’m playing games in that environment instead of tearing my hair out configuring them. I’m not tweaking app containers at a granular level, and it’s nice.

I’ve done more testing on Armada and found that games with external configuration apps don’t play well with Steam Input. This may not be an ARM Proton issue specifically, but I thought it worth mentioning. I tried one of these games, Canabalt, which works perfectly in-game, except that rebound buttons act in the menus as though they’ve been set to turbo, making it finnicky to toggle options with the left bumper bound to the A button. The binding worked as expected in-game, so I am going to say that Canabalt passes the test. I tried the original release of Shatter, which also uses an external configurator, and found that it doesn’t accept controller input via Steam Input at all. The remaster was available for less than a single currency unit on the Steam Autumn Sale, so I tried that and it works perfectly.

Many people aren’t as reliant on Steam Input as me. It’s vital as a motor accessibility tool. The Shatter remaster is on Android, which is the version that I wrote about last, but the controls can’t be rebound. In Android, the AYN Thor lets you remap physical controls to touch regions, but not physical buttons to other physical buttons. Steam Input is a lifeline for me, then, someone who plays video games with one hand exclusively. In a handheld setting, that means remapping a game’s controls down one side of the device. One of the main reasons, beyond the technological leap, that ARM Proton in Armada excites me so much is that Steam Input leaves Android in the dust for motor accessibility. Minus some aging edge cases, it’s serving me very well. I can reliably play fully-fledged Steam games on the bus now, not just games running in emulators.

The Android implementations profess to have Steam Input, and they do, but, no matter what I use, the controls stop working a stage and a half into a run on Buck Up and Drive. which is not the case on Armada. It seems to be an edge case, but goodness grief am I done troubleshooting edge cases. Get Linux up you.

The Armada operating system more generally

Armada is the route to take for quick setup of performant PC games on a handheld console, but it’s not perfect. I’m waiting for the developers to officially support PortMaster, the repository of Linux ports of PC games (support is coming, per the Armada discord, but there’s no estimate for when). Dual-screen multi-tasking isn’t as nice through Plasma Desktop as it is via Android; even resizing a Firefox window is a trial, and I didn’t notice an option to select which screen to open an app on (the Discord has notes that this is also being worked on, but with no estimate there either). Inside Desktop Mode, Steam Big Picture always opens on my bottom screen, and games themselves always launch on the top screen; I wish this was configurable.

Beyond it needing controls for which app or game goes on which screen, there are quality of life features that Armada does have. The Armada Store, an in-built Decky plugin, lets you install emulators and other gaming forward applications (ChiakiNG and Greenlight for streaming from consoles, for example) from within Gaming Mode. I haven’t set foot in there for now, but it can get a new install up to speed quicker than Android can by default, so I’m all for it, and I hope they add applications to it, maybe even some media server clients to get the most out of a second screen with minimal configuration by the user.

Plasma Mobile on the second screen in Gaming Mode is a nice idea, and the first boot into Desktop mode with Plasma Mobile enabled lets you scale the user interface so that it’s useable, but that too is missing for now easy window resizing and the ‘open on top/bottom screen’ feature that Android has. Right now, Armada is just that bit too tricky to multi-task in. For example, one of my favorite things to do in Android on the AYN Thor is play Amiga games in RetroArch using DSKeyboard, a Play Store app that puts several keyboard layouts, including Retroarch hotkeys, into an overlay that can sit on the top or bottom screen. Armada, or Linux generally, needs something like that before I can de-Google the Thor completely, which I would love to do. Plasma Mobile in Gaming Mode has quirks like the task switcher deciding to not stay on screen, and the occasional stutter of streaming video.

Since I wrote the last paragraph, Armada has added native support for Android apps via Valve’s Lepton compatibility layer. I’ve just got back from my travels and I’ll need to look into it some more, but I also don’t have much use for it; artificially generated dual-screen ports are not for me, and the Retroarch shortcuts in DSKeyboard, needs Retroarch also running in Android. DSKeyboard is a vital accessibility feature for me, and I’m drawing pentagrams that something like it, or just it, comes to ARM Linux.

Some time has passed and, rather than Lepton, I’ve set up Waydroid, which is LineageOS in a Linux container, and, I have to say, for running in Plasma Mobile with gesture navigation and throwing a streaming app on the bottom screen, it’s pretty good. A big quirk on the Thor seems to be that Waydroid losing focus makes streaming video freeze while the audio continues, but a quick gesture swipe inside the window sorts it out. A second annoyance is that sometimes the container loses internet connection. A third is that, I take it because it runs within Plasma Mobile, there’s a performance overhead that does impact games. A fourth is that Plasma Mobile running on the bottom screen in Steam’s Gaming Mode can’t take controller input, and Plasma Mobile in Desktop Mode can’t lock input to one screen or the other. Okay, look - dual screen support in Armada is still getting there, and Waydroid is a necessary substitute because native Linux app scaling on the bottom screen is rubbish. However, as a necessary evil for Steam games while using Android for regular emulation, it’s doing okay, and as Armada is the best way, the not-artificially generated way, to play Steam games, I live in hope that it’ll end up doing great. The first time I tried Armada, before the Steam Frame, it didn’t have Plasma Mobile at all, so development progress is promising.

The ARM Linux distribution Armada is the best choice for running Steam games well on supported hardware, with minimal fuss and without Android-specific performance hitches, or generative artificial intelligence being involved. Android is better for dual-screen multitasking on dedicated gaming handhelds, but Android has the best performance and less bugs, and less BAH, on traditional emulators and native game ports versus Windows games. Things are good for ARM handhelds, but Armada, no matter what it does better than Android right now, needs feature parity with Android before I switch to it completely. Luckily, dualbooting is an option, so you can have the best of both.

Steam on ARM handhelds and you

Whether ArmadaOS is a viable option for you depends on the hardware you have. Check the supported device list. Like ROCKNIX, Armada requires replacing the bootloader on the device. This can seem like a scary process in the abstract, but it amounts to backing up the stock bootloader, and replacing it with the ROCKNIX one (both operating systems use the same operating system at the time of writing) via running a script. On the AYN Thor in particular, this is done in the settings on the Android partition on the device.

GameNative, GameHub, and everybody’s new favourite generative artificial intelligent solution are broadly compatible with more hardware, but the additional Android compatibility layer makes them a pain. Every solution to this is a pain in its own way, and still an ongoing proof of concept, but once Armada is up and running, it’s generally as simple as pressing play, or changing the Proton version if you have a problem, and that’s more than any other solution to the handheld Steam problem has managed so far. Armada needs quality of life in the Desktop environment, but it’ll come.

#AYN Thor #Android gaming handhelds #ArmadaOS #Buck Up and Drive! #Canabalt #Gamehub #Gamenative #Sonic Racing: CrossWorlds #Xenotilt