Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
3 of 18 tasks
DemiMarie opened this issue Sep 27, 2023 · 5 comments
Open
3 of 18 tasks

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

DemiMarie opened this issue Sep 27, 2023 · 5 comments
Labels
C: GPU acceleration meta-issue An issue that serves to collect and organize a group of other issues P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. waiting for upstream This issue is waiting for something from an upstream project to arrive in Qubes. Remove when closed.

Comments

@DemiMarie
Copy link

DemiMarie commented Sep 27, 2023

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 and, if it relates to Wayland support, C: Wayland Support for Wayland 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.

@DemiMarie DemiMarie added T: enhancement P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. labels Sep 27, 2023
@DemiMarie DemiMarie self-assigned this Sep 27, 2023
@DemiMarie DemiMarie moved this to Todo in GPU acceleration Sep 27, 2023
@DemiMarie DemiMarie added this to the Release 4.3 milestone Sep 27, 2023
@andrewdavidwong andrewdavidwong removed this from the Release 4.3 milestone Sep 27, 2023
@andrewdavidwong andrewdavidwong changed the title virtio-GPU native contexts Support for opt-in GPU acceleration via virtio-GPU native contexts Sep 27, 2023
@rwiesbach
Copy link

https://github.com/orgs/QubesOS/projects/17 bundles efforts regarding GPU acceleration in Qubes OS

@DemiMarie
Copy link
Author

Removing my assignment as this is blocked on third-party Xen patches being upstreamed.

@andrewdavidwong andrewdavidwong added the waiting for upstream This issue is waiting for something from an upstream project to arrive in Qubes. Remove when closed. label Dec 22, 2024
@WesleyAC
Copy link

@DemiMarie, could you link to those upstream patches?

@DemiMarie
Copy link
Author

@WesleyAC I don’t think they are public yet.

@ILOVEPIE
Copy link

Any way I can assist with development?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: GPU acceleration meta-issue An issue that serves to collect and organize a group of other issues P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. waiting for upstream This issue is waiting for something from an upstream project to arrive in Qubes. Remove when closed.
Projects
Status: Todo
Development

No branches or pull requests

5 participants