Jump to content

Pmbootstrap/Troubleshooting/QEMU: Difference between revisions

From postmarketOS Wiki
IdanHoro (talk | contribs)
m --no-fde removed (deprecated)
Minecrell (talk | contribs)
Remove various options that no longer exist
Line 2: Line 2:


== "Booting the kernel." displayed forever or segfault ==
== "Booting the kernel." displayed forever or segfault ==
Most likely you have full disk encryption enabled, this is broken with QEMU right now ({{issue|75|osk-sdl}}) unless you also use <code>--spice</code>.
By default, serial output is available in the terminal where you have run <code>pmbootstrap qemu</code>. Check it for indications why something is wrong.
To work around this bug, please do one of these:
* Install without FDE: <code>pmbootstrap install</code>
* or install a spice client and use it: <code>pmbootstrap qemu --spice</code>
Help with fixing that issue is highly appreciated.


== Alternative display options ==
== Alternative display options ==
Line 18: Line 14:
=== Disable OpenGL ===
=== Disable OpenGL ===
{{note|Some user interfaces may not work properly with OpenGL disabled.}}
{{note|Some user interfaces may not work properly with OpenGL disabled.}}
Graphics rendering with OpenGL is enabled by default. You can disable it by appending <code>,gl=off</code> to your display option. Examples:
Graphics rendering with OpenGL is enabled by default. You can disable it (and fall back to slow(!!) software rendering using:


<syntaxhighlight lang="shell-session">
<syntaxhighlight lang="shell-session">
$ pmbootstrap qemu --display=sdl,gl=off
$ pmbootstrap qemu --no-gl
$ pmbootstrap qemu --display=gtk,gl=off
</syntaxhighlight>
 
==== Using SPICE ====
Another option is using the SPICE protocol. The following command will cause QEMU to start a [https://en.wikipedia.org/wiki/SPICE_(protocol) SPICE] server, that listens on localhost, and connect a client right afterwards.
Supported clients are <code>remote-viewer</code> and <code>spicy</code> (one of these needs to be installed on your host system). This method supports 3D hardware accelleration as well.
 
<syntaxhighlight lang="shell-session">
$ pmbootstrap qemu --spice
</syntaxhighlight>
</syntaxhighlight>


Line 39: Line 26:
$ pmbootstrap qemu --host-qemu
$ pmbootstrap qemu --host-qemu
</syntaxhighlight>
</syntaxhighlight>
This option can be combined with <code>--display</code> or
<code>--spice</code>.


=== See also ===
=== See also ===
Line 47: Line 31:
* {{issue|1623}} <code>pmbootstrap qemu</code> with proprietary nvidia drivers
* {{issue|1623}} <code>pmbootstrap qemu</code> with proprietary nvidia drivers
* {{issue|1641}} pmbootstrap qemu booting the kernel for ever (with screenshot)
* {{issue|1641}} pmbootstrap qemu booting the kernel for ever (with screenshot)
* {{issue|75|osk-sdl}} osk-sdl segfaults in qemu-amd64

Revision as of 19:26, 14 March 2020

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

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)