The Steam Deck is a portable video gaming computer system that runs a Linux-based os called SteamOS. The maker features SteamOS 3 (code word ” holo”), which remains in turn based upon Arch Linux.
Although there is no SteamOS 3 installer for a generic PC (yet), it is really simple to set up on a virtual device utilizing QEMU. This post describes how to do it.
The objective of this VM is not to play video games (you can currently set up Steam on your computer system after all) however to utilize SteamOS in desktop mode. The Gamescope mode (the console-like user interface you generally see when you utilize the device) needs extra advancement to make it deal with QEMU and will not deal with these directions.
A SteamOS VM can be helpful for debugging, advancement, and typically playing and playing with the OS without running the risk of breaking the Steam Deck.
Running the SteamOS desktop in a virtual device just needs QEMU and the OVMF UEFI firmware and need to operate in any reasonably current circulation.
SteamOS is a single-user os and it utilizes an A/B partition plan, which implies that there are 2 sets of partitions and 2 copies of the os. The root filesystem is read-only and system updates occur on the partition set that is not active. This permits more secure updates, to name a few things.
There is one single
/ house partition, shared by both partition sets. It includes the video games, user files, and anything that the user wishes to set up there.
Although the user can trivially end up being root, make the root filesystem read-write and set up or alter anything (the
pacman bundle supervisor is readily available), this is not advised since
- it increases the opportunities of breaking the OS, and
- any modifications will vanish with the next OS upgrade.
An easy method for the user to set up extra software application that makes it through OS updates and does not touch the root filesystem is Flatpak It comes preinstalled with the OS and is incorporated with the KDE Discover app.
The very first thing that we require is the installer. For that we need to download the Steam Deck healing image from here: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=
Once the file has actually been downloaded, we can uncompress it and we’ll get a raw disk image called
steamdeck-recovery-4. img(the number might differ).
Note that the healing image is currently SteamOS (simply not the most updated variation). If you just wish to have a glimpse you can play a bit with it and avoid the setup action. In this case I suggest that you extend the image prior to utilizing it, for instance with ‘
truncate -s 64 G steamdeck-recovery-4. img‘ or, much better, produce a qcow2 overlay file and leave the initial raw image unmodified: ‘
qemu-img produce -f qcow2 -F raw -b steamdeck-recovery-4. img steamdeck-recovery-extended. qcow2 64 G‘
But here we wish to carry out the real setup, so we require a location image. Let’s develop one:
$ qemu-img develop -f qcow2 steamos.qcow2 64 G
Now that we have all files we can begin the virtual maker:
$ qemu-system-x86 _64 -enable-kvm -smp cores= 4 -m 8G -gadget usb-ehci -gadget usb-tablet -gadget intel-hda -gadget hda-duplex -gadget VGA, xres =-LRB- , yres =-LRB- -drive if= pflash, format= raw, readonly= on, file=/ usr/share/ovmf/ OVMF.fd -drive if= virtio, file= steamdeck-recovery-4. img, motorist= raw -gadget nvme, drive= drive0, serial= badbeef -drive if= none, id= drive0, file= steamos.qcow2
Note that we’re imitating an NVMe drive for
steamos.qcow2 since that’s what the installer script anticipates. This is not strictly essential however it makes things a bit much easier.
Once the system has actually booted we’ll see a KDE Plasma session with a couple of tools on the desktop. If we choose ” Reimage Steam Deck” and click ” Proceed” on the verification dialog then SteamOS will be set up on the location drive. This procedure ought to not take a very long time.
Now, once the operation completes a brand-new verification dialog will ask if we wish to reboot the Steam Deck, however here we need to pick “Cancel” We can not utilize the brand-new image yet since it would attempt to boot into the Gamescope session, which will not work, so we require to alter the default desktop session.
SteamOS includes an assistant script that enables us to go into a chroot after instantly installing all SteamOS partitions, so let’s open a Konsole and make the Plasma session the default one in both partition sets:
$ sudo steamos-chroot-- disk/ dev/nvme0n1-- partset A # steamos-readonly disable # echo '[Autologin] > >/ etc/sddm. conf.d/ zz-steamos-autologin. conf # echo 'Session= plasma.desktop' >> > >/ etc/sddm. conf.d/ zz-steamos-autologin. conf # steamos-readonly make it possible for # leave $ sudo steamos-chroot-- disk/ dev/nvme0n1-- partset B # steamos-readonly disable # echo '[Autologin] > >/ etc/sddm. conf.d/ zz-steamos-autologin. conf # echo 'Session= plasma.desktop' >> > >/ etc/sddm. conf.d/ zz-steamos-autologin. conf # steamos-readonly allow # exit
After this we can close down the virtual maker. Our brand-new SteamOS drive is prepared to be utilized. We can dispose of the healing image now if we desire.
To boot SteamOS we can utilize a QEMU line comparable to the one utilized throughout the setup. This time we’re not imitating an NVMe drive due to the fact that it’s no longer needed.
$ cp/ usr/share/OVMF/ OVMF_VARS. fd. $ qemu-system-x86 _64 -enable-kvm -smp cores= 4 -m 8G -gadget usb-ehci -gadget usb-tablet -gadget intel-hda -gadget hda-duplex -gadget VGA, xres =-LRB- , yres =-LRB- -drive if= pflash, format= raw, readonly= on, file=/ usr/share/ovmf/ OVMF.fd -drive if= pflash, format= raw, file= OVMF_VARS. fd -drive if= virtio, file= steamos.qcow2 -gadget virtio-net-pci, netdev= net0 -netdev user, id= net0, hostfwd= tcp:: 2222-: 22
( the last 2 lines reroute tcp port 2222 to port 22 of the visitor to be able to SSH into the VM. If you do not wish to do that you can omit them)
If whatever went great, you need to see KDE Plasma once again, this time with a desktop icon to release Steam and another one to “Return to Gaming Mode” (which we need to not usage due to the fact that it will not work). See the screenshot that opens this post.
Congratulations, you’re running SteamOS now. Here are some things that you most likely wish to do:
- ( optional) Change the keyboard design in the system settings (the default one is United States English)
- Set the password for the
deckuser: run ‘
passwd‘ on a terminal
- Enable/ begin the SSH server: ‘
sudo systemctl allow sshd‘ and/or ‘
sudo systemctl start sshd‘.
- SSH into the maker: ‘
ssh -p 2222 deck@localhost‘
The Steam Deck healing image does not set up the most current variation of SteamOS, so now we must most likely do a software application upgrade.
- First of all guarantee that you’re offering enought RAM to the VM (in my examples I run QEMU with
- m 8G). The OS upgrade may stop working if you utilize less.
- ( optional) Change the OS branch if you wish to attempt the beta release: ‘
sudo steamos-select-branch beta‘ (or
primary, if you desire the bleeding edge)
- Check the presently set up variation in
/ etc/os-release(see the
- Check the offered variation: ‘
- Download and set up the software application upgrade: ‘
Note: if the last action stops working after reaching 100% with a post-install handler mistake then go to Connections in the system settings, relabel Wired Connection 1 to something else (anything, the name does not matter), click Apply and run
steamos-update once again. This works around a bug in the upgrade procedure. Current images repair this and this workaround is not needed with them.
As we made with the healing image, prior to restarting we need to make sure that the brand-new upgrade boots into the Plasma session, otherwise it will not work:
$ sudo steamos-chroot-- partset other # steamos-readonly disable # echo '[Autologin] > >/ etc/sddm. conf.d/ zz-steamos-autologin. conf # echo 'Session= plasma.desktop' >> > >/ etc/sddm. conf.d/ zz-steamos-autologin. conf # steamos-readonly allow # exit
After this we can reboot the system.
If whatever went fine we must be running the most recent SteamOS release. Take pleasure in!
SteamOS is under active advancement. If you discover issues or wish to demand enhancements please go to the SteamOS neighborhood tracker