Skip to content

[Regression] Graphical console doesn't work in libvirt/QEMU #1834

@doraskayo

Description

@doraskayo

Description

Testing the latest beta release (4344.1.1) with libvirt in BIOS mode through Cockpit, it looks like graphical console no longer works. It works fine when testing the latest stable release (4230.2.1).

This regression was potentially introduced by flatcar/scripts@da743a4 according to @chewi and @jepio.

Impact

The graphical console doesn't work when using Flatcar beta images in applications such as Cockpit, virt-manager, GNOME Boxes, etc. Remote connections using VNC do not work either.

This means the emergency shell can only be accessed using the serial console, which is very limited and may not always be accessible depending on the application and setup.

Environment and steps to reproduce

  1. Set-up: use the QEMU beta image (AMD64 tested) with any libvirt application or setup that can present a graphical console. Set any configuration required by the application to enable graphical console presentation (usually the default) and any devices to the VM which are needed to access the graphical console (spice, vnc, virtio video, etc.)
  2. Task: try use the built-in graphical viewer in the application or VNC to access the VM's console.
  3. Action(s): Simply boot Flatcar with any user configuration.
  4. Error: No specific error, but the graphical console will freeze during boot around where the following messages are printed:
    Aug 03 21:29:07 localhost kernel: [drm] pci: virtio-vga detected at 0000:00:01.0
    Aug 03 21:29:07 localhost kernel: virtio-pci 0000:00:01.0: vgaarb: deactivate vga console
    Aug 03 21:29:07 localhost kernel: Console: switching to colour dummy device 80x25
    Aug 03 21:29:07 localhost kernel: [drm] features: -virgl +edid -resource_blob -host_visible
    Aug 03 21:29:07 localhost kernel: [drm] features: -context_init
    

Expected behavior

Graphical console should work in beta images, similarly to stable images.

Additional information

I can see the following messages right after the messages above in the stable release, where graphical console works:

Aug 03 21:19:12 localhost kernel: fbcon: virtio_gpudrmfb (fb0) is primary device
Aug 03 21:19:12 localhost kernel: Console: switching to colour frame buffer device 160x50
Aug 03 21:19:12 localhost kernel: virtio-pci 0000:00:01.0: [drm] fb0: virtio_gpudrmfb frame buffer device

These messages do not show up in the beta release, and there is nothing else to indicate that a DRM driver has detected and taken over the console framebuffer.

There are a few kernel configurations related to framebuffer handling that are currently missing from Flatcar's kernel in the beta image. Their absence may be the cause for this issue:

$ zcat /proc/config.gz | grep -i CONFIG_FBDEV_EMULATION
# CONFIG_DRM_FBDEV_EMULATION is not set
$ zcat /proc/config.gz | grep -i CONFIG_SYSFB_SIMPLEFB
# CONFIG_SYSFB_SIMPLEFB is not set
$ zcat /proc/config.gz | grep -i CONFIG_FB_SIMPLE
# CONFIG_FB_SIMPLE is not set

CC: @t-lo, @ader1990

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugSomething isn't working

    Type

    No type

    Projects

    Status

    Implemented

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions