in

Running a SteamOS VM in VirtualBox



#SteamOS #VirtualBox #VirtualMachine

*** Updated 05/01/2023

Full steps can be found at

What is SteamOS?
SteamOS is a Linux distribution developed by Valve. It is open source with some closed source components and is the primary operating system for Steam Machines and the Steam Deck. – https://en.wikipedia.org/wiki/SteamOS
 
DISCLAIMER
You cannot game in this VM as it lacks graphics acceleration. It is, however, very handy for developers in need of a test version of SteamOS and for testing things in the desktop environment.
 
Things You Will Need
   –  https://www.7-zip.org/ installed
 
Preparing for Installation
   01. Open a web browser and navigate to  https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=
   02. Check the license agreement checkbox and click the Download SteamOS Deck Image button
   03. Open File Explorer and navigate to the download location
   04. Right click on the downloaded SteamOS recovery .bz2 archive ≫ 7-Zip ≫ Extract Here
   05. Rename the extracted file steamos-recovery.img
   06. While holding Shift, right click in the white space and select Open PowerShell window here
   07. Execute the following commands in the PowerShell window
         # rename steamdeck recovery image
         mv .steamdeck-recovery*.img .steamdeck-recovery.img
         # convert the recovery .img to .vdi
         & “$ENV:ProgramFilesOracleVirtualBoxVBoxManage.exe” convertfromraw –format VDI .steamdeck-recovery.img .steamdeck-recovery.vdi
 
Creating the SteamOS VM
   01. Launch the VirtualBox VM Manager
   02. Create a New VM by selecting Machine ≫ New
         Name: SteamOS
         Machine Folder: C:VMs
         Type: Linux
         Version: Arch (64-bit)
         Memory Size: 4096 MB or more
         Hard disk:
          File size: 40 GB
          Hard disk file type: VDI
          Storage on physical hard disk: Dynamically Allocated
   03. Click Create
   04. Select the VM and Click Settings
   05. Select System
   06. Check the Enable EFI checkbox
   07. On the Processor tab, give the VM at least 2 processors
   08. Select Display
   09. Slide the Video Memory to 128 MB
   10. Select Network
   11. Set the attached to dropdown to Bridged Adapter
   12. Select Storage
   13. Click on the Add Hard Disk button across from the SATA controller
   14. Click Add ≫ Browse to and select the steamdeck-recovery .vdi file created earlier ≫ Click Choose
   15. Click OK
   16. Make sure the SteamOS VM is selected and click Start ≫ Normal
 
Installing SteamOS
   01. Wait for the desktop environment to boot
   02. Double click Terminal with repair tools on the desktop
   03. Run the following commands in the terminal
         # list disks
         # note the device id for VBOX HARDDISK
         # should be /dev/sda
         sudo fdisk -l
         # edit the recovery installation script
         nano ./tools/repair_device.sh
   04. Locate the DISK= line and edit the value to match the device ID of the VBOX HARDDISK noted earlier (ie /dev/sda)
   05. Locate the DISKSUFFIX= line and delete the p to leave a blank value
   06. Press CTRL+O, Enter, CTRL+X to write the changes
   07. Continue with the following commands in the terminal
         sudo ./tools/repair_device.sh all
   08. When prompted, click Proceed to confirm destroying data on /dev/sda
   09. Once the installation completes, click Cancel
   10. Continue with the following commands in the terminal
         # chroot to steamos install
         sudo steamos-chroot –disk /dev/sda –partset A
         # allow writing to steamos partition
         steamos-readonly disable
         # set a password
         passwd
         # enter and confirm a password
         # set steamos default to boot to desktop mode
         echo -e ‘[Autologin]nSession=plasma.desktop’ ≫ /etc/sddm.conf.d/zz-steamos-desktopmode.conf
         # set steamos partition back to readonly
         steamos-readonly enable
         # exit chroot
         exit
         # chroot to steamos install
         sudo steamos-chroot –disk /dev/sda –partset B
         # allow writing to steamos partition
         steamos-readonly disable
         # set a password
         passwd
         # enter and confirm a password
         # set steamos default to boot to desktop mode
         echo -e ‘[Autologin]nSession=plasma.desktop’ ≫ /etc/sddm.conf.d/zz-steamos-desktopmode.conf
         # set steamos partition back to readonly
         steamos-readonly enable
         # exit chroot
         exit
         # shutdown the VM
         sudo shutdown now
   11. Make sure the SteamOS VM is selected and click Settings
   12. Select Storage
   13. Right click the steamdeck-recovery.img device ≫ Remove attachment

….Full steps can be found on GitHub [link at the top]

### Connect with me and others ###
★ Discord: https://discord.com/invite/EzenvmSHW8
★ Reddit: https://reddit.com/r/i12bretro
★ Twitter: https://twitter.com/i12bretro

Share this:

21 Comments

  1. Very informative, but wow is the process convoluted! 😄 Imagine if Microsoft had windows be installed in a similar fashion!

    I finished testing and I have some observations.
    1. In your guide, you give instructions to extract the .IMG file and rename it to "steamos-recovery.img". Then a couple of steps later you tell us how to rename it to "steamdeck-recovery.img".
    Redundant renaming is redundant.
    2. I think Valve has made some changes to the OS since you released this guide. Booting off the recovery.vdi, it would boot loop and then go to the install menu, where no matter which option I picked, it would eventually cause a boot loop when it tried to boot further. Eventually, I figured out that it requires that the VirtualBox Graphics Controller be set to "VBoxSVGA" in settings first.
    3. The "steamos-chroot" steps fail unless I add "–no-overlay" to the command. Probably another change to the OS.
    4. I might have messed up the process at some point, but after finally getting into the OS, I found that the Steam app (and Skype) would not retain any login details. Closing the app or rebooting the VM results in the app resetting back to its default state. Other apps don't suffer in the same way, so I have no idea.

  2. I just tried this but my virtualbox machine won't boot. It just enters a UEFI console.
    I can't download steamos-recovery, i just get steamos-repair, is this the reason?