Skip to content

Support for opt-in GPU acceleration via virtio-GPU native contexts #8552

@DemiMarie

Description

@DemiMarie

How to file a helpful issue

The problem you're addressing (if any)

All rendering happens in software. This is fast enough for many uses, but some users need better performance, even at the expense of increased attack surface.

The solution you'd like

Opt-in GPU acceleration via virtio-GPU native contexts.

The value to a user, and who that user might be

Users for whom software rendering has unacceptable performance will be able to use Qubes OS, without resorting to PCI pass-through.

Dependency tree

Any issue in this list should have C: GPU acceleration This issue pertains to GPU acceleration in Qubes OS. and, if it relates to Wayland support, C: Wayland This issue pertains to the Wayland protocol. as well.

Basic GPU acceleration

This is sufficient for GPU compute but not for rendering.

Cross-vendor
Intel-specific
  • Wait for Intel virtio-GPU native contexts to be merged upstream.
    • Optional: Wait for them to be shipped in Google ChromeOS, which would make them in-scope for Google’s Vulnerability Rewards Program.
AMD-specific
  • Wait for AMD virtio-GPU native contexts to be merged upstream.
    • Optional: Wait for them to be shipped in Google ChromeOS, which would make them in-scope for Google’s Vulnerability Rewards Program.

Wayland support

virtio-GPU will use Wayland to pass GPU buffers to the host display server, so Wayland support is required.

User control over GPU acceleration

Users need to be in control over which VMs have GPU acceleration

Security hardening

Qubes OS must remain reasonably secure even if GPU acceleration is in use.

Testing

Shipping an untested feature is quite ill-advised.

Fault detection and recovery

GPUs can have problems and users need to be able to recover.

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    C: GPU accelerationThis issue pertains to GPU acceleration in Qubes OS.P: defaultPriority: default. Default priority for new issues, to be replaced given sufficient information.meta-issueThis issue serves to collect and organize a group of other issues.waiting for upstreamThis issue is waiting for something from an upstream project to arrive in Qubes. Remove when closed.

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions