Skip to content

Unable to remove SPICE channels in GUI – breaks VNC-only VM setups (esp. for Windows guests) #2222

@imageblur

Description

@imageblur

Problem

When creating a new VM in Cockpit with the intention of using VNC only (no SPICE), Cockpit still automatically includes SPICE-related components like <channel type='spicevmc'>. With recent libvirt versions, this results in a boot failure if no <graphics type='spice'> block is defined.

Even when adding a <graphics type='vnc'> block manually, VMs fail to start unless SPICE-related channels are manually removed via virsh edit.

Expected Behavior

Cockpit should allow users to:

  • Choose VNC-only during VM creation
  • Omit SPICE-related <channel> devices when SPICE is not used
  • Avoid inserting conflicting graphics definitions (e.g., both SPICE and VNC)
  • Successfully create and boot VMs like Windows 11 using VNC + TPM without XML editing

Why it matters

  • Windows 11 requires TPM, UEFI, and VirtIO — Cockpit supports these nicely, but the graphics issue blocks install.
  • This forces users into complex XML edits or CLI workflows, defeating the purpose of a GUI.
  • libvirt errors are cryptic for new users: e.g., chardev 'spicevmc' not supported without spice graphics.

Environment

  • Debian 12 (Bookworm)
  • Cockpit 329 from backports
  • libvirt 9.0.0
  • QEMU 7.2
  • OVMF and swtpm installed

Request

Please provide a checkbox or dropdown to choose graphics type (SPICE or VNC), and omit unnecessary channels/devices accordingly.

Thanks for all the hard work — Cockpit is awesome otherwise!

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions