# Virtual Machines

Monarch can currently be tested on virtual machines using **QEMU**, which is the only officially supported option. Other virtualization platforms such as **VirtualBox** and **VMware Workstation** may also be used, but require additional configuration.

## Virtualbox

Instructions for running the system in VirtualBox are available in a [discussion](https://github.com/basecamp/omarchy/discussions/176) on the Omarchy GitHub repository. The same procedure applies to Monarch.

### VM Creation

1. Download the ISO from Monarch website [here](https://iso.monarchlinux.com/monarch-nightly.iso).
2. Create a new VM on virtualbox as usual
3. Select the appropriate hardware (e.g. 8192 MB RAM, 4 vCPU)
   1. Do **not** enable EFI
4. Create a virtual hard disk (at least 40 GB)
5. After finishing creation, go to the machine and select settings => Video
6. Select Graphics Controller: VBoxVGA, and leave 3D Acceleration unchecked

### Install Monarch

1. Follow the [installation steps](/getting-started/installation.md) to install Monarch upon first boot
2. Shut down VM, remove ISO and boot into Monarch

### Set screen resolution

In case your scaling is broken due to the default config being set to 2x scaling instead of 1x (**when your VM is not setup yet for guest resized window**), you need to manually change the config for **Hyprland**. **(This was tested on Windows 11 VirtualBox)**

1. Press `Win+Alt+Space` to open Menu -> Setup -> Monitor
2. Comment the 2x Retina Scaling lines, uncomment the 1x Scaling lines. Save.
3. Press `Win+Enter` to start a Terminal
4. Install [virtualbox-guest-utils-nox and enable the service](https://wiki.archlinux.org/title/VirtualBox/Install_Arch_Linux_as_a_guest#Install_the_Guest_Additions):\
   a. `sudo yay -S virtualbox-guest-utils-nox`\
   b. `systemctl enable vboxservice`
5. Edit /boot/limine.conf\
   a. In the line `kernel_cmdline` append `video=1920x1080`
6. Reboot the VM
7. Then set the entry in \~/.config/hypr/monitors.conf could be added such that everything runs with the correct resolution. See [monitors configurations](https://manuals.omamix.org/2/the-omarchy-manual/86/monitors) for more information.

## VMWare Workstation

A similar [discussion](https://github.com/basecamp/omarchy/discussions/572) on the Omarchy GitHub repository describes how to run the system on VMware Workstation. These steps are also applicable to Monarch.

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.monarchlinux.com/troubleshooting/virtual-machines.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
