# Operating Systems
[Back to Home](/README.md#table-of-contents)
## Table of Contents
- [Windows](#windows)
- [Linux](#linux)
- [SteamOS](#steamos)
- [Other Linux Distributions](#other-linux-distributions)
- [MacOS](#macos)
## Windows
[Back to the Top](#operating-systems)
**Note: Windows 11 comes presinstalled on the ASUS ROG Ally device.**
* If you upgrade your SSD you can easily reinstall Windows on your device by using **ASUS Cloud Recovery** in the **Advanced** section of the BIOS menu.
* **How to access BIOS** - Restart your ROG Ally by pressing the power button and hold the **Volume Down button**.
ROG Ally BIOS menu. Image Credit: ASUS
Windows 11 Desktop
## Linux
[Back to the Top](#operating-systems)
### Creating a Linux Bootable Device (MicroSD or USB)
[Rufus](https://rufus.ie/) is a utility that helps format and create bootable USB flash drives.
Rufus
[Etcher](https://www.balena.io/etcher/) is an open source, cross-platform software that makes it easy to flash operating system images to a microSD card or USB device.
Etcher UI
## SteamOS
[ChimeraOS](https://chimeraos.org/) is a linux operating system that provides an out of the box couch gaming experience. It boots directly into Steam Big Picture and start playing your favorite games. **Note: If you're planning to put Linux on your ROG Ally I would recommend using ChimeraOS.**
**[ChimeraOS v43 Changelog:](https://github.com/ChimeraOS/chimeraos/wiki/Release-Notes#chimeraos-43-2023-07-06)**
* **Add initial Asus ROG Ally support. This includes:**
* Audio support (With DSDT Override enabled)
* Functional WiFi
* Functional face buttons
* Functional Bluetooth
* Experimental partial TDP control in OpenGamepadUI
* Suspend functionality is still a work in progress. We recommend disabling auto suspend on the ROG ally and shutting the unit down after each gaming session.
* Games should boot up faster and in some cases make games that previously didn't boot now boot correctly.
* Add ability to switch update channels in the Steam UI (This requires enabling developer mode and Show Advanced Update Channels in Steam.)
* Support for the following handhelds has been added to HandyGCCS. See the [HandyGCCS Wiki](https://github.com/ShadowBlip/HandyGCCS/wiki/Supported-Devices) for button mapping information.
* [OpenGamepadUI](https://github.com/ShadowBlip/OpenGamepadUI) has been updated with a new CardUI, support for many more handhelds, and numerous bug fixes that improve the user experience. Additionally, Lutris and Yuzu plugins have been added to the plugin store.
ChimeraOS Desktop. Credit: [ChimeraOS](https://chimeraos.org/)
[Steam OS 3.0](https://store.steampowered.com/steamdeck) is an [immutable](https://en.wikipedia.org/wiki/Immutable_object) Operating System(OS) using the [KDE Plasma](https://kde.org/plasma-desktop) desktop. This allows you to install applications in containers using [Flatpak](https://flatpak.org/), rather than onto the root filesystem. This means not only that the installation of applications is isolated from the core filesystem, but also that the ability for malicious applications to compromise/break your system is significantly reduced. **Note: SteamOS 3.0 is not available for download yet.**
SteamOS 3.0 with KDE Plasma Desktop
[SteamOS Btrfs](https://gitlab.com/popsulfr/steamos-btrfs/) is a project that will help get you from using ext4 on your device's microSD card or home directory, to [Btrfs](https://btrfs.wiki.kernel.org/).
[HoloISO](https://github.com/theVakhovskeIsTaken/holoiso) is a SteamOS 3 (Holo) archiso configuration. It aims to bring the Steam Deck's Holo OS into a generic, installable format, and provide a close-to-official SteamOS experience.
HoloISO Desktop. Credit: [theVakhovskeIsTaken](https://github.com/theVakhovskeIsTaken/)
## Other Linux Distributions
[Back to the Top](#operating-systems)
[Batocera](https://batocera.org/)
Emulation Station Front End
[Nobara Project](https://gitlab.com/GloriousEggroll/nobara-images) is an unofficial Fedora Linux Spin that's tailored for Gaming. It adds the necessary packages/tools (such as [Lutris](https://lutris.net/) and [ProtonUp-Qt](https://davidotek.github.io/protonup-qt/)), and fixes issues to make Fedora awesome for gaming. This project is developed and maintained by [Thomas Crider AKA Glorious Eggroll](https://gitlab.com/GloriousEggroll).
[NixOS](https://nixos.org/) is a Linux distribution built on top of the [Nix package manager](https://nixos.wiki/wiki/Nix). It has tools dedicated to DevOps and deployment tasks.
* [NixOS Guide](https://github.com/mikeroyal/NixOS-Guide)
* [Nix on the Steam Deck - Determinate Systems](https://determinate.systems/posts/nix-on-the-steam-deck)
NixOS with the Plasma Desktop
[WinesapOS](https://github.com/LukeShortCloud/winesapOS) is a project developed by [LukeShortCloud](https://github.com/LukeShortCloud) that provides an easy to setup installation of Linux. It can be used on a flash drive, SD card, HDD, SSD, NVMe, or any other storage device. The [release images](https://github.com/LukeShortCloud/winesapOS/releases) are based on SteamOS 3 and the KDE Plasma desktop environment to align with what Valve's [Steam Deck](https://store.steampowered.com/steamdeck/) uses.
WineapOS Desktop. Credit: [LukeShortCloud](https://github.com/LukeShortCloud)
[EndeavourOS](https://endeavouros.com/)
EndeavourOS Desktop
[Garuda Linux](https://garudalinux.org/)
Garuda Linux Desktop
[ArcoLinux](https://arcolinux.com/)
ArcoLinux Desktop
[Fedora Linux](https://getfedora.org/)
Fedora Desktop
[Pop!_OS](https://pop.system76.com) created by [System76](https://system76.com).
Pop!_OS Desktop
## MacOS
[Docker OSX](https://github.com/sickcodes/Docker-OSX) is a tool that lets you run macOS VM in a Docker container at near native OSX-KVM in Docker with X11 Forwarding. This project is developed and mantained by [sickcodes](https://github.com/sickcodes).
* [Docker-OSX on Docker Hub](https://hub.docker.com/r/sickcodes/docker-osx)
**MacOS Ventura**
```
docker run -it \
--device /dev/kvm \
-p 50922:10022 \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e "DISPLAY=${DISPLAY:-:0.0}" \
-e GENERATE_UNIQUE=true \
-e MASTER_PLIST_URL='https://raw.githubusercontent.com/sickcodes/osx-serial-generator/master/config-custom.plist' \
sickcodes/docker-osx:ventura
# docker build -t docker-osx --build-arg SHORTNAME=ventura .
```
MacOS Ventura