Add SPICE protocol support #978
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add SPICE Protocol Support
Summary
This PR adds the
qemu-system-modules-spicepackage to enable SPICE protocol support in the QEMU base image, addressing a critical requirement for GPU passthrough use cases with Looking Glass.Problem
Currently, users attempting to use SPICE with containers based on this image encounter errors:
This limitation blocks an important use case that depends on this base image:
GPU Passthrough + Looking Glass Integration
Looking Glass is a popular open-source solution for GPU passthrough that provides near-native graphics performance in virtual machines. According to the official Looking Glass B7 installation guide:
The documentation is explicit: without SPICE, you cannot send keyboard/mouse events to the guest. This makes SPICE an essential requirement (not optional) for GPU passthrough setups using Looking Glass, particularly for:
Solution
The fix is a single line addition: install
qemu-system-modules-spicealongside existing dependencies. This enables QEMU's-spiceoption without affecting any existing functionality.Use Cases Enabled
This change enables downstream projects (like dockurr/windows and others) to:
Impact
Context
This change benefits all downstream projects that build on qemux/qemu by enabling SPICE support at the base layer, rather than requiring each project to add it separately.
Testing
The SPICE module has been tested successfully with:
unix=on,addr=/tmp/spice.sock)Note on SPICE Deprecation
While SPICE development has slowed, it remains:
Including this module keeps the base image flexible for users who need SPICE, while not impacting those who don't.
This single-line change unblocks an important class of GPU passthrough use cases while maintaining the project's clean architecture and minimal footprint.