Troubleshooting:QEMU

From postmarketOS Wiki

This page is about debugging problems with pmbootstrap qemu.

"Booting the kernel." displayed forever or segfault

By default, serial output is available in the terminal where you have run pmbootstrap qemu. Check it for indications why something is wrong.

Alternative display options

GTK instead of SDL

The virtual machine's output window can be drawn with either SDL or GTK. The default is SDL, and in case that does not work, you can try to switch to GTK:

$ pmbootstrap qemu --display=gtk

Try this in case pmbootstrap qemu fails on start with something like this, and you're using proprietary NVIDIA drivers on your host:

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  151 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  109
  Current serial number in output stream:  108

Disable OpenGL

Note Some user interfaces may not work properly with OpenGL disabled.

Graphics rendering with OpenGL is enabled by default. You can disable it (and fall back to slow(!!) software rendering using:

$ pmbootstrap qemu --no-gl

Using QEMU from the host system

Since !1612, pmbootstrap is using the QEMU binary from the Alpine chroots. That way you don't have to install QEMU on your host system and everybody uses the same version. However, for debugging purpose you might want to use the QEMU binaries from your host system instead:

$ pmbootstrap qemu --host-qemu

See also

  • QEMU
  • #1623 pmbootstrap qemu with proprietary nvidia drivers
  • #1641 pmbootstrap qemu booting the kernel for ever (with screenshot)