Tinkering with (not-yet-released) SteamOS 3.0

You might have heard about SteamOS 3.0 which is based on Archlinux.

Until now, it has not been officially released.
For those who like to tinker and play around with stuff, there is a recovery image available for download

Exploring the filesystem(s):

  1. Download the image
  2. Extract it: bzip2 -d steamdeck-recovery-1.img.bz2
  3. Setup image as loop devices: sudo losetup -f -P steamdeck-recovery-1.img
  4. List partitions
NAME        FSTYPE FSVER LABEL  UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
loop0                                                                               
├─loop0p1   vfat   FAT32 esp    366C-7CF9                                           
├─loop0p2   vfat   FAT32 efi    3673-7A93                                           
├─loop0p3   btrfs        rootfs d44dbdb2-ee1a-4b33-9e2e-299bbdd4052e                
├─loop0p4   ext4   1.0   var    55417ed4-ce01-4168-b412-de0198424430                
└─loop0p5   ext4   1.0   home   cfdb4c1f-4d09-471d-bd1b-b1119d846ddf             
  1. Mount image partition, e.g. /
    sudo mount /dev/loop0p3/ /wherever/you/want
    (replace /wherever/your/want with a path to an empty directory)

  2. Explore things :slight_smile:

Have fun :wink:

btw. package mirror seems to be:

https://steamdeck-packages.steamos.cloud/archlinux-mirror/

Installing SteamOS in a VM (VirtualBox):

  1. Download the recovery image

  2. Extract it: bzip2 -d steamdeck-recovery-1.img.bz2

  3. Convert .img into .vdi: VBoxManage convertfromraw -format VDI steamdeck-recovery-1.img steamdeck-recovery-1.vdi

  4. Create a basic virtual (enable EFI) machine and choose the .vdi as the storage device.

  5. Add an NVME controller and a disk with 32 GB (8 GB was not enough in my tests; maybe 16 will do it as well)
    image

  6. Start the VM and choose “Reimage Steam Deck”, do not reboot when it asks.
    image

  7. Mount both rootfs partitions that were created (just open Dolphin and click on them).
    Remove file .../etc/xdg/autostart/jupiter-plasma-bootstrap.desktop from both partitions.
    Edit .../etc/sddm.conf.d/steamos.conf and change the “Session” to Session=plasmawayland.desktop on both partitions

  8. Reboot. You should end up in the SteamOS Plasma desktop.

6 Likes

Kernel 5.13? Why… ? :thinking:

3 Likes

Yeah. That’s pretty old indeed. (Also mentioned in the Phroronix review)

Looking at the mirror, they have 5.16.2 in there now:

https://steamdeck-packages.steamos.cloud/archlinux-mirror/core/os/x86_64/

edit

Aha. There is some additional repo with their own stuff:

https://steamdeck-packages.steamos.cloud/archlinux-mirror/jupiter/os/x86_64/

3 Likes

I am thinking of getting a Steam Deck, but I’ll wait until others thoroughly test it.

What I am most curious is whether I can run it without SteamOS, that is, run vanilla Arch or EndeavourOS on it, and still have all the hardware working correctly, i.e. it does not need any proprietary drivers from Valve for everything on it to work correctly.

If not, I’m not going to bother with it… I don’t have a Steam account, I don’t buy games from them, and I don’t intend to in the foreseeable future.

1 Like

I figured out why it is stuck. It is trying to start Steam’s graphical session and/or gamescope. And failing because there is no hardware acceleration.

What I did is to use serial and then

steamos-session-manager plasma-persistent

so it tries to start Plasma instead of Steam. (the command might not be entirely correct)

The OS is unbearably slow on my end, I am using QEMU/KVM and VirtIO for disks so it shouln’t be that slow but the image is on a HDD.

The tty is rotated due to a kernel parameter, something like fbcon:rotate=1.

1 Like

Yeah. It is steamos-session-select

Actually I’ve just edited /etc/sddm.conf.d/steamos.conf and put Session=plasmawayland.desktop to right into Plasma instead of gamemode.

To get rid of the nasty rotation in plasma, delete /etc/xdg/autostart/jupiter-plasma-bootstrap.desktop

For anyone interested, I made another guide here. (no serial included)

1 Like