The Linux coders turning the ROG Ally and other handhelds into Steam Deck clones

by owner

ROG Ally unit running Steam
Enlarge / SteamOS on the Asus ROG Ally, the hard (but kinda fun) way.

Kevin Purdy

As soon as I was done with my review of the Asus ROG Ally, I grabbed my best USB stick and started looking for ISOs to download.

Windows is, of course, the main highway to most PC gaming, but it’s also (as detailed in the review) not yet built to work well on a 7-inch gaming handheld. The ROG Ally ships with Windows (Home) installed and a bunch of Asus software, but it is still, at heart, a PC. With effort, you can get into the BIOS, disable Secure Boot, plug in a USB stick, and boot a USB stick with a live Linux distribution on it.

It’s a weird feeling, ignoring almost everything Asus has done to set up this device with gaming and power management software and starting over at the storage level. But, like the many Linux developers who see the Ally as the Steam Deck’s potentially beefier cousin, I wanted to leave the comforts of the Start menu for wilder lands.

OK, fine, I just wanted Steam OS. Is that so bad? I wanted the big game squares, and you click the square with your game, the game plays, and Steam does a bunch of stuff in the background to make it work. And it’s impressive enough, given you can hold it in your hands.

I did not get that far during a period of more than a month where I had a review unit and nobody who actually understands hardware drivers had an Ally. Earlier this month, ROG Ally units started showing up at buyers’ doorsteps, and open source developers’ work to Steam up this device has kicked into gear.

The results at this moment are quite impressive, given the entirely unofficial, unsupported nature of the all-volunteer project. Fairly soon, you may be able to flash a USB stick and turn the Ally—or many other handheld PC portables likely to follow—into a Steam-Deck-like console.

Here’s how I attempted it, failed miserably, and how developers are making it possible, pushing through barriers at breakneck speed.

Doing Linux on the Ally the hard way

This is the first step in installing a Linux system on the ROG Ally unless you count the dozen steps before it.
Enlarge / This is the first step in installing a Linux system on the ROG Ally unless you count the dozen steps before it.

Kevin Purdy

The ROG Ally will not make it easy for you to install a different OS. As with most PCs, you have to head into the BIOS and (at least for now) disable Secure Boot to boot from a USB drive or the resulting OS on your internal drive. Disabling Secure Boot doesn’t always “stick” on the Ally, though, as seen in many Reddit and Discord posts. The most reliable way to make the change stick is to delete some or all of the signed keys loaded onto the Ally’s firmware by Asus and other vendors. Once you do that, you’ll trigger a BitLocker lock-out in Windows—and unless you installed that Windows yourself, you likely don’t have the encryption recovery key to restore it.

But on we go. After discovering the BIOS shortcut (hold the volume down button while powering up, must have power attached) and clearing the way, I first tried Nobara Linux, a distro based on Fedora (not a “spin”) that packs in lots of gaming-related software and tweaks. I had to use a USB-C dongle to attach a keyboard while also keeping power supplied, but I did get Nobara installed. From the outset, there was no Wi-Fi or Bluetooth, which made installing Steam an issue. I tethered my phone and eventually used a tiny USB Wi-Fi dongle to get past this. I slowly, painfully installed a few small Steam games using 5G, launched one, and discovered the Ally’s buttons weren’t being picked up as even a generic controller. I installed a few utilities to try and work past this, then restarted the system.

Proof of life, though
Enlarge / Proof of life, though “Steam is installed” was about as far as I could get on Nobara Linux.

Kevin Purdy

I never got back into Nobara again. For reasons unbeknownst to me—or at least beyond the point where I cared to debug on a 7-inch screen—my installation refused to boot up again on the Ally, only showing a blank screen that I couldn’t pass, even with the typical keyboard tricks. I moved on to the most recent release of Ubuntu.

With Ubuntu 23.04 installed, I could run the Phoronix Test Suite and run glxgears, which showed that at least some kind of 3D acceleration was happening. I installed Cyberpunk 2077 through Steam’s Proton compatibility tool, benchmarked it, and got, well, very sad numbers. Cyberpunk saw that my GPU was the Ally’s key feature—an AMD Ryzen Z1 Extreme. But it ran at 17 and 23 frames per second averages on “Medium” and “Steam Deck” settings, respectively (at 720p resolution and 60 Hz refresh rate). With nothing to lose, I installed the latest AMD Linux drivers, ran those benchmarks again, and lo and behold, improvement: 30.8 and 27.32 fps on “Medium” and “Steam Deck.” That’s notably shy of the 38 and 34 frames per second I clocked on the same benchmark in Windows. Then again, I’m guessing at drivers, and I can’t do much to control thermals or power draw.

I couldn’t get newer builds of the SteamOS-focused ChimeraOS or HoloISO loaded onto the Ally, at least back then. But a few enthusiasts with YouTube channels have done the work, and you can see how they were working—at least at the very moment they tried it.

Leave a Comment