From 9f117a79f648abccabaff73b68dfee2298ca13e7 Mon Sep 17 00:00:00 2001 From: Tristan Menke Date: Mon, 21 Jun 2021 02:53:18 +0200 Subject: [PATCH] Documentation: Add workaround for blackscreen using WSL+QEMU6.x This workaround disables the in-kernel interrupt controller. This impacts the VM performance and should probably be removed when the workaround is no longer needed. This workaround was posed by stelar7. See #7523 --- Documentation/NotesOnWSL.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/NotesOnWSL.md b/Documentation/NotesOnWSL.md index 8e8002d062..3f13b4d5a0 100644 --- a/Documentation/NotesOnWSL.md +++ b/Documentation/NotesOnWSL.md @@ -75,6 +75,8 @@ If Serenity freezes on boot with the log message: `Scheduler[0]: idle loop runni 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 Using `SERENITY_QEMU_CPU="max"` can trigger a QEMU bug where the OSXSAVE CPUID flag is erroneously set, playing havoc with feature detection logic in libgcc and resulting in this error.