1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 05:37:34 +00:00

Documentation: Remove redundant information

These workarounds are already mentioned in the "Hardware acceleration"
section.
This commit is contained in:
Gunnar Beutner 2021-07-10 14:02:02 +02:00
parent df84550b8f
commit d23d81d075

View file

@ -39,9 +39,8 @@ By default this will be located at `/mnt/c/Program Files/qemu/qemu-system-x86_64
### Hardware acceleration ### Hardware acceleration
The steps above will run QEMU in software virtualisation mode, which is very slow. The steps above will run QEMU in software virtualisation mode, which is very slow.
QEMU supports hardware acceleration on Windows via the [Windows Hypervisor Platform](https://docs.microsoft.com/en-us/virtualization/api/) (WHPX), a user-mode virtualisation API that can be used alongside Hyper-V. QEMU supports hardware acceleration on Windows via the [Windows Hypervisor Platform](https://docs.microsoft.com/en-us/virtualization/api/)
This is important to note as WSL2 itself runs on top of Hyper-V, which conflicts with other acceleration technologies (WHPX), a user-mode virtualisation API that can be used alongside Hyper-V.
such as Intel HAXM.
To run SerenityOS in a WHPX-enabled QEMU VM: To run SerenityOS in a WHPX-enabled QEMU VM:
@ -55,20 +54,10 @@ To run SerenityOS in a WHPX-enabled QEMU VM:
- Disable Virtual Machine eXtensions on the vCPU, otherwise some versions of QEMU will crash out with a "WHPX: Unexpected VP exit code 4" error: \ - Disable Virtual Machine eXtensions on the vCPU, otherwise some versions of QEMU will crash out with a "WHPX: Unexpected VP exit code 4" error: \
`export SERENITY_QEMU_CPU="max,vmx=off"` `export SERENITY_QEMU_CPU="max,vmx=off"`
- `ninja run` as usual. - Start the VM with `Meta/serenity.sh run` as usual.
### Known issues with WHPX ### Known issues with WHPX
#### Freeze on boot in Scheduler
If Serenity freezes on boot with the log message: `Scheduler[0]: idle loop running` then you are likely missing some emulated CPU features.
Please ensure you have installed the most recent version of [QEMU for Windows](https://qemu.weilnetz.de/) and that you
have followed the step above to enable the maximum feature set available: `export SERENITY_QEMU_CPU="max,vmx=off"`.
If the steps above do not fix the problem, check the boot log for `whpx: injection failed, MSI (0, 0) delivery: 0, dest_mode: 0, trigger mode: 0, vector: 0, lost (c0350005)`.
If present, try disabling the KVM in-kernel interrupt handler by extending the above to `export SERENITY_EXTRA_QEMU_ARGS="-accel whpx,kernel-irqchip=off"`.
This seems to be an issue for some users with QEMU 6.x.
#### Illegal instruction on boot #### Illegal instruction on boot
Using `SERENITY_QEMU_CPU="max"` can trigger a QEMU bug where the OSXSAVE CPUID flag is erroneously set, playing havoc Using `SERENITY_QEMU_CPU="max"` can trigger a QEMU bug where the OSXSAVE CPUID flag is erroneously set, playing havoc