Awesome
Steam Deck - Installing Clover Script for Dual Boot Between SteamOS and Windows (and other OSes too!)
About
A collection of tools that is packaged into an easy to use script that is streamlined and tested to work with the Steam Deck running on SteamOS.
- The main program that does all the heavy lifting is Clover - a graphical boot manager / boot loader.
- Clover Toolbox is a shell script that offers a simple GUI to configure some aspects of Clover script.
- Custom systemd script that performs a sanity check whenever SteamOS starts up making sure that the dual boot is intact and repairs it automatically if needed.
What's New (as of October 25 2024)
- Updated Clover EFI from 5159 to 5160.
- Implemented Clover whitelist - make sure you are on SteamOS 3.6.x for the whitelist to work correctly!
- Script can now be installed in Bazzite!
- Updated icons for Bazzite.
- Added sanity check - make sure SteamOS / Bazzite is installed before Windows! (sorry WinDeckOS users)
What's New (as of May 19 2024)
- Removed the 7z sanity check as this is now installed by default in SteamOS 3.5.x / 3.6.x
- Added ESP sanity check - make sure there is enough space in ESP before doing anything
- Removed option for Windows To Go sdcard - you shouldn't run Windows from sdcard anyways! This will also fix the issue of intermittently showing Windows To Go sdcard when Windows is updated.
- code cleanup
What's New (as of January 21 2024)
- Minor update to easily change config between Batocera v38 and the upcoming Batocera v39. <br>
Launch Clover Toolbox and select Batocera to choose between Batocera v38 or Batocera v39 - <br>
Select v39 or v38 - <br>
Config will be updated based on user selection - <br>
What's New (as of January 15 2024)
- Updated for Clover release 5157. <br>
- Added an option in Clover Toolbox to use custom Clover 5157. This hides the OPTIONS button. <br>
- Added an option in Clover Toolbox to select the default grey embedded theme.
NOTE
If you are going to use this script for a video tutorial, PLEASE reference on your video where you got the script! This will make the support process easier! And don't forget to give a shoutout to @10MinuteSteamDeckGamer / ryanrudolf from the Philippines!
<b> If you like my work please show support by subscribing to my YouTube channel @10MinuteSteamDeckGamer. </b> <br> <b> I'm just passionate about Linux, Windows, how stuff works, and playing retro and modern video games on my Steam Deck! </b>
<p align="center"> <a href="https://www.youtube.com/@10MinuteSteamDeckGamer/"> <img src="https://github.com/ryanrudolfoba/SteamDeck-Clover-dualboot/blob/main/10minute.png"/> </a> </p><b>Monetary donations are also encouraged if you find this project helpful. Your donation inspires me to continue research on the Steam Deck! Clover script, 70Hz mod, SteamOS microSD, Secure Boot, etc.</b>
<b>Scan the QR code or click the image below to visit my donation page.</b>
<p align="center"> <a href="https://www.paypal.com/donate/?business=VSMP49KYGADT4&no_recurring=0&item_name=Your+donation+inspires+me+to+continue+research+on+the+Steam+Deck%21%0AClover+script%2C+70Hz+mod%2C+SteamOS+microSD%2C+Secure+Boot%2C+etc.%0A%0A¤cy_code=CAD"> <img src="https://github.com/ryanrudolfoba/SteamDeck-Clover-dualboot/blob/main/QRCode.png"/> </a> </p>Disclaimer
- Do this at your own risk! <br>
- This is for educational and research purposes only! <br>
I've created and has been using this script since December 2022 and a lot of users are reporting success too. You are in good hands - I know what I'm doing but I just need the standard disclaimer to protect myself from any liability.
Video Tutorial - How to Install Clover for Steam Deck dual boot
Click the image below for a video tutorial and to see the functionalities of the script! </b>
<p align="center"> <a href="https://www.youtube.com/watch?v=heo2yFycnsM"> <img src="https://github.com/ryanrudolfoba/SteamDeck-Clover-dualboot/blob/main/banner.png"/> </a> </p>Quick Install Steps - if you are in a hurry then this is what you need (but really you should read the rest of the README!)
Perform some Windows config first! Boot to Windows and open elevated command prompt -
-
bcdedit.exe -set {globalsettings} highestmode on
-
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f
Once done, boot to SteamOS to install Clover!
-
Boot into SteamOS, then go into Desktop Mode and open a konsole terminal.<br>
-
Clone the github repo. <br>
cd ~/
git clone https://github.com/ryanrudolfoba/SteamDeck-Clover-dualboot
If it errors that folder already exists, delete the old folder first - <br>
rm -rf ~/SteamDeck-Clover-dualboot
Then perform the clone again - <br>
git clone https://github.com/ryanrudolfoba/SteamDeck-Clover-dualboot
-
Execute the script! <br>
cd ~/SteamDeck-Clover-dualboot
chmod +x install-Clover.sh
./install-Clover.sh
<br>
-
The script will check if sudo passwword is already set. <br> <b>a.</b> If it is already set, enter the current sudo password and the script will continue. <br> If wrong password is provided the script will exit immdediately. Re-run the script and enter the correct sudo password! <br> <br>
<b>b.</b> If the sudo password is blank / not yet set by the end user, the script will prompt to setup the sudo password. Re-run the script to continue. <br> <br>
<b>c.</b> Script will show a menu. Select which OS will be the default selected in the Clover GUI boot menu. <br> <br>
<b>d.</b> Script will continue to run and perform sanity checks all throughout the install process.<br> <br>
-
Reboot the Steam Deck. Clover is installed and you should see a GUI to select which OS to boot from! Use the DPAD and press A to confirm your choice. You can also use the trackpad to control the mouse pointer and use the RIGHT SHOULDER BUTTON for LEFT-CLICK.<br> <br>
Why Use this Clover install script for dual boot?!?
- Makes as little changes as possible to the SteamOS / Windows installation.
- Makes dual boot with SteamOS / Windows easy with a nice GUI.
- No extra config needed for Ventoy, Batocera, Kali, Ubuntu and Fedora. (if there are other OS you want to be added just let me know)
- Automatically and easily re-create the dual boot entries if it gets broken by a BIOS / SteamOS / Windows update. No need to type manual commands!
- Supports random themes (Mojave and Catalina bundled in the install script), add / remove themes, icons, background using Dolphin File Manager.
Screenshots
Apocalypse - SteamOS, Windows and Batocera (microSD)
Clover Toolbox
<details> <summary><b>More Screenshots Here</b></summary><b>Custom Windows Splash Screen</b><br> <br>
<b>Gothic - SteamOS, Windows, Batocera (microSD) and Fedora</b><br> <br>
<b>Catalina - SteamOS, Windows, and Batocera (microSD)</b><br> <br>
<b>Crystal - SteamOS, Windows, Batocera (microSD) and Fedora</b><br> <br>
<b>Rick and Morty - SteamOS, Windows, Batocera (microSD) and Fedora</b><br> <br>
<b>Select which OS will be the default in the Clover GUI boot menu</b><br> <br>
<b>Catalina - SteamOS, Windows, Batocera (microSD) and Fedora</b><br> <br>
<b>Mojave - SteamOS, Windows, Ventoy (microSD) and Fedora</b><br> <br>
<b>Mojave - SteamOS, Windows and Batocera (microSD)</b><br> <br>
<b>Mojave - SteamOS, Windows on Internal SSD and Windows on External SSD / microSD</b><br>
<b>Mojave - SteamOS, Windows, Ubuntu and Kali (pic not mine)</b><br> <br>
<b>Easily add / remove themes using Dolphin File Manager</b><br> <br>
</details>Using the Clover Install Script
<details> <summary><b>Read this first - What does the script do?!?</b></summary> 1. The script copies files to the /esp/efi/clover location and manipulates the EFI boot entries.<br> 2. Extra scripts are saved in ~/1Clover-tools which performs a sanity check on each reboot, and an uninstall script to reverse any changes made.<br> 3. systemd service is created and also injected on the other rootfs.<br> </details> <details> <summary><b>Read this first - Prerequsities for SteamOS</b></summary> 1. No prior traces of rEFInd or scripts / systemd services related to rEFInd.<br> 2. sudo password should already be set by the end user. If sudo password is not yet set, the script will ask to set it up.<br> </details> <details> <summary><b>Read this first - Prerequisites for Windows</b></summary>VERY IMPORTANT - If you plan to use Windows installed on the sdcard, make sure that it is setup as GPT and Windows-to-Go in Rufus.<br> <br>
-
This applies to Windows installed on the internal SSD / external SSD / microSD.<br>
-
No scripts / scheduled tasks related to rEFInd or EasyUEFI.<br>
-
APU / GPU drivers has been installed and screen orientation set to Landscape.<br><br>
-
This is VERY IMPORTANT! Do not skip this step. If you skip this step, the display will be garbled when Windows boots up! <br> Open command prompt with admin privileges and enter the command -<br> bcdedit.exe -set {globalsettings} highestmode on <br><br>
-
This is IMPORTANT! Do not skip this step. If you skip this step, the time will be messed up! <br> Open command prompt with admin privileges and enter the command -<br> reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f <br>
<br>
</details> <details> <summary><b>Once you have read the above, perform the following steps to install Clover</b></summary> 1. Boot into SteamOS, then go into Desktop Mode and open a konsole terminal.<br> 2. Clone the github repo. <br> cd ~/ <br> git clone https://github.com/ryanrudolfoba/SteamDeck-Clover-dualboot <br>If it errors that folder already exists, delete the old folder first - <br> rm -rf ~/SteamDeck-Clover-dualboot <br>
Then perform the clone again - <br> git clone https://github.com/ryanrudolfoba/SteamDeck-Clover-dualboot <br>
-
Execute the script! <br> cd ~/SteamDeck-Clover-dualboot <br> chmod +x install-Clover.sh <br> ./install-Clover.sh <br>
<br>
-
The script will check if sudo passwword is already set. <br> <b>a.</b> If it is already set, enter the current sudo password and the script will continue. <br> If wrong password is provided the script will exit immdediately. Re-run the script and enter the correct sudo password! <br> <br>
<b>b.</b> If the sudo password is blank / not yet set by the end user, the script will prompt to setup the sudo password. Re-run the script to continue. <br> <br>
<b>c.</b> Script will show a menu. Select which OS will be the default selected in the Clover GUI boot menu. <br> <br>
<b>d.</b> Script will continue to run and perform sanity checks all throughout the install process.<br> <br>
-
Reboot the Steam Deck. Clover is installed and you should see a GUI to select which OS to boot from! Use the DPAD and press A to confirm your choice. You can also use the trackpad to control the mouse pointer and use the RIGHT SHOULDER BUTTON for LEFT-CLICK.<br> <br>
How to Add / Remove Themes
<details> <summary><b>Read this first - ESP partition size</b></summary> The esp partition is only 64MB in size. This is where SteamOS, Windows and Clover EFI entries are saved.<br> The free space on the esp partition is around ~25MB. Make sure the themes you download don't exceed this size!<br> You can have multiple themes installed and Clover will automatically pick a random theme on every reboot!<br> </details> <details> <summary><b>Read this first - custom icons</b></summary> When adding your own theme, make sure to name your custom SteamOS and Batocera icons as follows - <br> os_steamos.icns<br> os_batocera.icns<br> This are just regular PNG files, but you have to rename them to have the icns file extension.<br> Sample icons are saved in custom\iconset folder. Thanks to WindowsOnDeck reddit members u/ch3vr0n5 and u/ChewyYui !!!<br> </details> <details> <summary><b>Steps to Add / Delete Themes</b></summary> 1. Boot into Desktop Mode and then open Dolphin File Manager.<br> 2. Navigate to /esp on the lower left side. It will say "Could not enter folder /esp"<br><br>
-
Right-click and select "Open as Root."<br> <br>
-
Enter the sudo password when prompted.<br>
<br>
-
A new folder will appear for the esp partition.<br> Take note of the free space located in the lower right side. On this example the free space is around 26MB.<br> <br>
-
Visit the Clover Themes github to download the themes. Make sure the themes you download doesn't exceed the free space of the esp partition from step5.<br>
-
Navigate to efi > clover > themes. It will show a list of themes installed. By default it will show 3 - random, Catalina and Mojave.<br> <br>
-
Don't delete the random folder! It is needed so that when there are multiple themes installed, Clover will randomly pick a theme on every reboot.<br>
-
Delete the themes you don't want and copy / paste new themes that you have downloaded.<br>
-
Reboot and enjoy the new theme!<br>
OPTIONAL - Scheduled Task for Windows. Use this only if you have Windows installed on microSD / external SSD and if Windows keeps hijacking the bootloader!
<details> <summary><b>Use this only if you have Windows installed on microSD / external SSD and if Windows keeps hijacking the bootloader!</b></summary>- Download the ZIP by pressing the GREEN CODE BUTTON, then select Download ZIP.<br>
<br>
-
Go to your Downloads folder and then extract the zip.<br>
-
Right click CloverWindows.bat and select RUNAS Administrator.<br> <br>
-
The script will automatically create the C:\1Clover-tools folder and copy the files in there. <br>
-
It will also automatically create the Scheduled Task called CloverTask-donotdelete. <br> <br>
-
Go to Task Scheduler and the CloverTask will show up in there.<br>
-
Right-click the CloverTask and select Properties.<br> <br>
-
Under the General tab, make sure it looks like this. Change it if it doesn't then press OK.<br> <br>
-
Right click the task and select RUN.<br> <br>
-
Close Task Scheduler. Go to C:\1Clover-tools and look for the file called status.txt.<br>
-
Open status.txt and the Clover GUID should be the same as the bootsequence. Sample below.<br> <br>
-
Reboot and you should see a GUI to select which OS to boot from! Use the DPAD and press A to confirm your choice. You can also use the trackpad to control the mouse pointer and use the RIGHT SHOULDER BUTTON for LEFT-CLICK.<br> <br>
FAQ / Troubleshooting
Read this for your Common Questions and Answers! This will be regularly updated and some of the answers in here are contributions from the WindowsOnDeck reddit community!
How to Update to a Newer Version?!?
From time to time I update this repo for new version of the script. It may include bug fixes, new features or an updated Clover EFI version.
To update to a new version -
- Go to Desktop Mode and launch Clover Toolbox.
- Select Uninstall
- Clone the repo again to get the latest version and perform the install steps.
<br>
</details> <details> <summary><b>Q1. Windows shows strange vertical lines at the center when booting up!</b></summary><br>
- Boot to Windows.<br>
- Open command prompt with admin privileges and enter the command -<br> bcdedit.exe -set {globalsettings} highestmode on<br>
<br>
- Boot to SteamOS.<br>
- Go to Desktop Mode.<br>
- Double-click Clover Toolbox desktop icon. <br>
- Select the item called Service and press OK. <br>
- Press the item called Disable and press OK. <br>
-
Reboot and it will automatically boot to Windows. <br>
-
Open command prompt with admin privileges and enter the command -<br> bcdedit.exe -set {globalsettings} highestmode on <br>
-
Make sure screen orientation is set to Landscape.<br>
-
If everything looks good then shutdown the Steam Deck.<br>
-
Press VOLDOWN + POWER and select SteamOS from the list.<br>
-
Follow step2 onwards, and on step 5 select the item called Enable. <br>
- Reboot and it will go back to Clover!
- Press the item called Disable and press OK. <br>
- Reboot and it will automatically boot to Windows. <br>
- Install the GPU / APU driver upgrade and reboot Windows.<br>
- Make sure screen orientation is set to Landscape.<br>
- If everything looks good then shutdown the Steam Deck.<br>
- Press VOLDOWN + POWER and select SteamOS from the list.<br>
- Follow step2 onwards, and on step 5 select the item called Enable. <br>
- Reboot and it will go back to Clover!
- Clover will be uninstalled and on next reboot it will automatically load Windows. Clover has been uninstalled!<br>
Scan the QR code or click the image below to visit my donation page.
<p align="center"> <a href="https://www.paypal.com/donate/?business=VSMP49KYGADT4&no_recurring=0&item_name=Your+donation+inspires+me+to+continue+research+on+the+Steam+Deck%21%0AClover+script%2C+70Hz+mod%2C+SteamOS+microSD%2C+Secure+Boot%2C+etc.%0A%0A¤cy_code=CAD"> <img src="https://github.com/ryanrudolfoba/SteamDeck-Clover-dualboot/blob/main/QRCode.png"/> </a> </p> </details>Known Issue
- If Steam Deck is docked and connected a TV / display higher than 1080p (4K, 1440p), the GUI screen will be sideways. This is purely cosmetics and once an OS is selected it will boot in the correct orientation.
1080p TV
4K TV
Acknowledgement / Thanks
Thanks to jlobue10 for his rEFInd script available here. This Clover script was inspired by jlobue10's rEFInd script.
And in no particular order -<br>
- the Clover team / sergey for creating this awesome software. <br>
- Christoph Pfisterer for creating rEFIt which Clover is a fork of. <br>
- ss64.com for my quick online reference guide on command line switches! I also use this at work when scripting using bash / batch / powershell. <br>
- deckwizard for testing the initial Clover script. <br>
- arkag for the code enhancement to pull the ISO directly from Clover repo. <br>
- community contributed icons / logos for SteamOS and Batocera (thanks to WindowsOnDeck reddit members u/ch3vr0n5 and u/ChewyYui). <br>
- baldsealion for creating the custom splash screen for Windows. <br>
- Kodi Ross from FB Steam Deck Community for the Rick and Morty theme. <br>
- insanelymac and its forum members for creating beautiful Clover themes. <br>
- and the rest of WindowsOnDeck reddit community / discord server!<br>
- PS I forgot to mention LOUP the author of the OpenAsRoot KDE extension.