123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- <!DOCTYPE html>
- <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>Running a SteamOS VM in VirtualBox</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta charset="UTF-8">
- <meta name="keywords" content="Hypervisor,Install Guide,Linux,Virtualization,Virtual Machine,VM,SteamOS Virtual Machine,SteamOS VM,SteamOS,Steam,VirtualBox,SteamOS 3 Holo VirtualBox VM,SteamOS 3 Holo,How To Run SteamOS In VirtualBox,Arch,ArchLinux,SteamDeck,How To,Tutorial,i12bretro">
- <meta name="author" content="i12bretro">
- <meta name="description" content="Running a SteamOS VM in VirtualBox">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="revised" content="05/01/2023 06:07:44 AM" />
- <link rel="icon" type="image/x-icon" href="includes/favicon.ico">
- <script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
- <script type="text/javascript" src="includes/js/steps.js"></script>
- <link href="css/steps.css" rel="stylesheet" type="text/css" />
- </head>
- <body>
- <div id="gridContainer">
- <div class="topMargin"></div>
- <div id="listName" class="topMargin">
- <h1>Running a SteamOS VM in VirtualBox</h1>
- </div>
- <div></div>
- <div id="content">
- <h2>What is SteamOS?</h2>
- <blockquote><em>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. -<a href="https://en.wikipedia.org/wiki/SteamOS" target="_blank">https://en.wikipedia.org/wiki/SteamOS</a></em></blockquote>
- <h2>DISCLAIMER</h2>
- <p>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.</p>
- <h2>Things You Will Need</h2>
- <ul>
- <li class="noCheckbox"><a href="https://www.7-zip.org/" target="_blank">7-Zip</a> installed</li>
- </ul>
- <h2>Preparing for Installation</h2>
- <ol>
- <li>Open a web browser and navigate to <a href="https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=" style="font-size: inherit;" target="_blank">https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=</a></li>
- <li>Check the license agreement checkbox and click the Download SteamOS Deck Image button</li>
- <li>Open File Explorer and navigate to the download location</li>
- <li>Right click on the downloaded SteamOS recovery .bz2 archive > 7-Zip > Extract Here</li>
- <li>Rename the extracted file steamos-recovery.img</li>
- <li>While holding Shift, right click in the white space and select Open PowerShell window here</li>
- <li>Execute the following commands in the PowerShell window
- <div class="codeBlock PS"># rename steamdeck recovery image<br />
- mv .\steamdeck-recovery*.img .\steamdeck-recovery.img<br />
- # convert the recovery .img to .vdi<br />
- & "$ENV:ProgramFiles\Oracle\VirtualBox\VBoxManage.exe" convertfromraw --format VDI .\steamdeck-recovery.img .\steamdeck-recovery.vdi</div>
- </li>
- </ol>
- <h2>Creating the SteamOS VM</h2>
- <ol>
- <li>Launch the VirtualBox VM Manager</li>
- <li>Create a New VM by selecting Machine > New
- <p>Name: SteamOS<br />
- Machine Folder: C:\VMs<br />
- Type: Linux<br />
- Version: Arch (64-bit)<br />
- Memory Size: 4096 MB or more<br />
- Hard disk:<br />
-  File size: 40 GB<br />
-  Hard disk file type: VDI<br />
-  Storage on physical hard disk: Dynamically Allocated</p>
- </li>
- <li>Click Create</li>
- <li>Select the VM and Click Settings</li>
- <li>Select System</li>
- <li>Check the Enable EFI checkbox</li>
- <li>On the Processor tab, give the VM at least 2 processors</li>
- <li>Select Display</li>
- <li>Slide the Video Memory to 128 MB</li>
- <li>Select Network</li>
- <li>Set the attached to dropdown to Bridged Adapter</li>
- <li>Select Storage</li>
- <li>Click on the Add Hard Disk button across from the SATA controller</li>
- <li>Click Add > Browse to and select the steamdeck-recovery .vdi file created earlier > Click Choose</li>
- <li>Click OK</li>
- <li>Make sure the SteamOS VM is selected and click Start > Normal</li>
- </ol>
- <h2>Installing SteamOS</h2>
- <ol>
- <li>Wait for the desktop environment to boot</li>
- <li>Double click Terminal with repair tools on the desktop</li>
- <li>Run the following commands in the terminal
- <div class="codeBlock"># list disks<br />
- # note the device id for VBOX HARDDISK<br />
- # should be /dev/sda<br />
- sudo fdisk -l<br />
- # edit the recovery installation script<br />
- nano ./tools/repair_device.sh</div>
- </li>
- <li>Locate the DISK= line and edit the value to match the device ID of the VBOX HARDDISK noted earlier (ie /dev/sda)</li>
- <li>Locate the DISKSUFFIX= line and delete the p to leave a blank value</li>
- <li>Press CTRL+O, Enter, CTRL+X to write the changes</li>
- <li>Continue with the following commands in the terminal
- <div class="codeBlock">sudo ./tools/repair_device.sh all</div>
- </li>
- <li>When prompted, click Proceed to confirm destroying data on /dev/sda</li>
- <li>Once the installation completes, click Cancel</li>
- <li>Continue with the following commands in the terminal
- <div class="codeBlock"># chroot to steamos install<br />
- sudo steamos-chroot --disk /dev/sda --partset A<br />
- # allow writing to steamos partition<br />
- steamos-readonly disable<br />
- # set a password<br />
- passwd<br />
- # enter and confirm a password<br />
- # set steamos default to boot to desktop mode<br />
- echo -e '[Autologin]\nSession=plasma.desktop' > /etc/sddm.conf.d/zz-steamos-desktopmode.conf<br />
- # set steamos partition back to readonly<br />
- steamos-readonly enable<br />
- # exit chroot<br />
- exit<br />
- # chroot to steamos install<br />
- sudo steamos-chroot --disk /dev/sda --partset B<br />
- # allow writing to steamos partition<br />
- steamos-readonly disable<br />
- # set a password<br />
- passwd<br />
- # enter and confirm a password<br />
- # set steamos default to boot to desktop mode<br />
- echo -e '[Autologin]\nSession=plasma.desktop' > /etc/sddm.conf.d/zz-steamos-desktopmode.conf<br />
- # set steamos partition back to readonly<br />
- steamos-readonly enable<br />
- # exit chroot<br />
- exit<br />
- # shutdown the VM<br />
- sudo shutdown now</div>
- </li>
- <li>Make sure the SteamOS VM is selected and click Settings</li>
- <li>Select Storage</li>
- <li>Right click the steamdeck-recovery.img device > Remove attachment</li>
- <li>Click OK</li>
- <li>Make sure the SteamOS VM is selected and click Start > Normal</li>
- <li>Welcome to SteamOS</li>
- </ol>
- <h2>Install VirtualBox Guest Additions (Optional, but recommended)</h2>
- <ol>
- <li>Continue with the following commands in the terminal
- <div class="codeBlock"># verify password is set<br />
- passwd<br />
- # enter and confirm a password<br />
- # allow writing to steamos partition<br />
- steamos-readonly disable<br />
- # remove pacman keys<br />
- sudo rm /etc/pacman.d/gnupg -R<br />
- # reinitialize pacman keys<br />
- sudo pacman-key --init<br />
- # add arch linux pacman keys<br />
- sudo pacman-key --populate archlinux<br />
- # edit the pacman config file<br />
- sudo nano /etc/pacman.conf</div>
- </li>
- <li>Edit each repository name, adding -rel inside the square brackets
- <p>[jupiter] => [jupiter-rel]<br />
- [holo] => [holo-rel]<br />
- [core] => [core-rel]<br />
- [extra] => [extra-rel]<br />
- [community] => [community-rel]<br />
- [multilib] => [multilib-rel]</p>
- </li>
- <li>Press CTRL+O, Enter, CTRL+X to write the changes</li>
- <li>Continue with the following steps in the terminal
- <div class="codeBlock"># update packages<br />
- sudo pacman -Syu</div>
- </li>
- <li>From the VirtualBox menu, select Devices > Insert Guest Additions CD image...</li>
- <li>Open the Dolphin file browser application > Select the Guest Additions Disc > Right click in the white space > Open Terminal</li>
- <li>In the Terminal window run the following commands
- <div class="codeBlock"># install guest additions<br />
- sudo ./VBoxLinuxAdditions.run<br />
- # start guest additions<br />
- sudo /sbin/rcvboxadd quicksetup all<br />
- # reboot<br />
- sudo reboot now</div>
- </li>
- <li>The VM will reboot</li>
- <li>Upon rebooting, you can now full screen the VM and the internal resolution will automatically change to match the window size</li>
- <li>Log back into SteamOS</li>
- </ol> </div>
- </div>
- </body>
- </html>
-
|