Skip to content

Commit df84550

Browse files
committed
Documentation: Suggest using x86_64 QEMU on Windows
The x86_64 QEMU binary supports both i386 as well as x86_64 guests. By using the x86_64 binary users won't have to change anything when switching between i386 and x86_64 builds.
1 parent ee7e9f0 commit df84550

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

Documentation/BuildInstructionsWindows.md

+9-6
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,16 @@ section to set up QEMU on your host system.
1919

2020
## Setting up QEMU
2121

22-
- Grab the latest QEMU binaries from [here](https://www.qemu.org/download/#windows) and install them.
22+
- Grab the latest QEMU binaries from [here](https://www.qemu.org/download/#windows) and install them. At a minimum you
23+
will need to install the tools as well as the system emulators for i386 and x86_64.
2324

24-
- Locate the executable `qemu-system-i386.exe` in WSL.
25-
By default this will be located at `/mnt/c/Program Files/qemu/qemu-system-i386.exe`.
25+
![QEMU Components](QEMU_Components.png)
26+
27+
- Locate the executable `qemu-system-x86_64.exe` in WSL.
28+
By default this will be located at `/mnt/c/Program Files/qemu/qemu-system-x86_64.exe`.
2629

2730
- Set the `SERENITY_QEMU_BIN` environment variable to the location above. For example: \
28-
`export SERENITY_QEMU_BIN='/mnt/c/Program Files/qemu/qemu-system-i386.exe'`
31+
`export SERENITY_QEMU_BIN='/mnt/c/Program Files/qemu/qemu-system-x86_64.exe'`
2932

3033
- Set the `SERENITY_KERNEL_CMDLINE` environment variable to disable VirtIO support (Because it is currently broken on
3134
native windows QEMU):
@@ -73,7 +76,7 @@ with feature detection logic in libgcc and resulting in this error.
7376

7477
To workaround this, first adjust the `SERENITY_QEMU_CPU` setting to emulate a more restricted feature set. `SERENITY_QEMU_CPU="qemu32"`
7578
appears to work in some cases, however in others causes the boot freeze issue above. It's worth playing around with
76-
various different values here to see if you can find one that works for you. Running `qemu-system-i386.exe -cpu ?` will
79+
various different values here to see if you can find one that works for you. Running `qemu-system-x86_64.exe -cpu ?` will
7780
list the supported CPU configurations.
7881

7982
If you cannot find a working CPU feature set, the next workaround is to patch libgcc in the Serenity toolchain build to
@@ -88,7 +91,7 @@ Rebuild the toolchain using `Toolchain/BuildIt.sh` as normal, then rebuild Seren
8891
On some Windows systems running with >100% scaling, the booting phase of Serenity might slow to a crawl. Changing the
8992
zoom settings of the QEMU window will speed up the emulation, but you'll have to squint harder to read the smaller display.
9093

91-
A quick workaround is opening the properties of the QEMU executable at `C:\Program Files\qemu\qemu-system-i386.exe`, and
94+
A quick workaround is opening the properties of the QEMU executable at `C:\Program Files\qemu\qemu-system-x86_64.exe`, and
9295
in the Compatibility tab changing the DPI settings to force the scaling to be performed by the System, by changing the
9396
setting at at the bottom of the window. The QEMU window will now render at normal size while retaining acceptable emulation speeds.
9497

Documentation/QEMU_Components.png

81.4 KB
Loading

0 commit comments

Comments
 (0)