1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
| | ---
layout: page
title: Cloud Hypervisor with virtio-gpu support
---
<!-- SPDX-FileCopyrightText: 2019-2020, 2022, 2024 Alyssa Ross <hi@alyssa.is> -->
<!-- SPDX-License-Identifier: CC-BY-SA-4.0 OR GFDL-1.3-no-invariants-or-later -->
<!-- SPDX-License-Identifier: GPL-3.0-or-later -->
<p>
This is a patchset for <a href="https://cloudhypervisor.org/">Cloud
Hypervisor</a> support providing a virtio-gpu device to guests,
using <a href="https://crosvm.dev/">crosvm</a>’s virtio-gpu
implementation
over <a href="https://www.qemu.org/docs/master/interop/vhost-user.html">vhost-user</a>.
<p>
If this patchset is useful to you, please consider donating to support
its continued development via
either <a href="https://github.com/sponsors/alyssais">GitHub
Sponsors</a> or <a href="https://liberapay.com/qyliss">LiberaPay</a>.
<p>
The patches as developed as part of <a href="../..">Spectrum</a>, a
compartmentalized desktop operating system project.
<h2>Building</h2>
<ol>
<li>
Clone the repository
for <a href="https://github.com/cloud-hypervisor/cloud-hypervisor">Cloud
Hypervisor</a>.
<li>
Download and apply the patchset for the correct version of Cloud
Hypervisor.
<li>
Use <code>cargo build</code> in the Cloud Hypervisor source tree as
normal.
</ol>
<h2>Usage example</h2>
Start the crosvm GPU device:
<pre><code>crosvm device gpu --socket-path gpu.sock</code></pre>
Connect to the GPU device with cloud-hypervisor:
<pre><code>cloud-hypervisor --generic-vhost-user virtio_id=gpu,socket=gpu.sock,queue_sizes='[16,256]' …</code></pre>
<h2>Downloads</h2>
<ol reversed style="list-style-type: none; padding-left: 0;">
<li><a href="https://spectrum-os.org/software/cloud-hypervisor/cloud-hypervisor-50.0-spectrum0-patches.tar.gz">cloud-hypervisor-50.0-spectrum0-patches.tar.gz</a>
(tested with crosvm <a href="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/18bc84d003e04108d973a5233f0c6f3b2039d756">18bc84d00</a>)
<li><a href="https://spectrum-os.org/software/cloud-hypervisor/cloud-hypervisor-49.0-spectrum0-patches.tar.gz">cloud-hypervisor-49.0-spectrum0-patches.tar.gz</a>
(tested with crosvm <a href="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/f6de423867b914a59d86c54d102831bccc7ed2c8">f6de42386</a>)
<li><a href="https://spectrum-os.org/software/cloud-hypervisor/cloud-hypervisor-48.0-spectrum0-patches.tar.gz">cloud-hypervisor-48.0-spectrum0-patches.tar.gz</a>
(tested with crosvm <a href="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/3202c663eaa555678bd142320d51c63acce266bc">3202c663e</a>)
<li><a href="https://spectrum-os.org/software/cloud-hypervisor/cloud-hypervisor-47.0-spectrum0-patches.tar.gz">cloud-hypervisor-47.0-spectrum0-patches.tar.gz</a>
(tested with crosvm <a href="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/940eaae7246300bb01e1efb8c3d21ea93e0e63cd">940eaae72</a>)
<li><a href="https://spectrum-os.org/software/cloud-hypervisor/cloud-hypervisor-46.0-spectrum0-patches.tar.gz">cloud-hypervisor-46.0-spectrum0-patches.tar.gz</a>
(tested with crosvm <a href="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/581ccb06d726b037fd75f64ef964b3d0eb989e33">581ccb06d</a>)
<li><a href="https://spectrum-os.org/software/cloud-hypervisor/cloud-hypervisor-45.0-spectrum0-patches.tar.gz">cloud-hypervisor-45.0-spectrum0-patches.tar.gz</a>
(tested with crosvm <a href="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/6b75e831de4d5f44a362142d25b77d9c4d7988aa">6b75e831d</a>)
<li><a href="https://spectrum-os.org/software/cloud-hypervisor/cloud-hypervisor-44.0-spectrum0-patches.tar.gz">cloud-hypervisor-44.0-spectrum0-patches.tar.gz</a>
(tested with crosvm <a href="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/d8e0f16c287b962505c8746c3be08323492186c9">d8e0f16c2</a>)
<li><a href="https://spectrum-os.org/software/cloud-hypervisor/cloud-hypervisor-43.0-spectrum0-patches.tar.gz">cloud-hypervisor-43.0-spectrum0-patches.tar.gz</a>
(tested with crosvm <a href="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/9d42f918373f962b7d035ff52a1629e184cb496e">9d42f9183</a>)
<li><a href="https://spectrum-os.org/software/cloud-hypervisor/cloud-hypervisor-42.0-spectrum0-patches.tar.gz">cloud-hypervisor-42.0-spectrum0-patches.tar.gz</a>
(tested with crosvm <a href="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/b7fd753b43baf2da422a1fe5e2c6d05180f7cd0b">b7fd753b4</a>)
<li><a href="https://spectrum-os.org/software/cloud-hypervisor/cloud-hypervisor-40.0-spectrum0-patches.tar.gz">cloud-hypervisor-40.0-spectrum0-patches.tar.gz</a>
(tested with crosvm <a href="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/6a7ff1ecb7fad6820d3bbfe8b11e65854059aba5">6a7ff1ecb</a>)
<li><a href="https://spectrum-os.org/software/cloud-hypervisor/cloud-hypervisor-39.0-spectrum1-patches.tar.gz">cloud-hypervisor-39.0-spectrum1-patches.tar.gz</a>
(tested with crosvm <a href="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/bc2900b9ccbdf37b780a63888ca94437fd7dd6af">bc2900b9c</a>)
<li><a href="https://spectrum-os.org/software/cloud-hypervisor/cloud-hypervisor-39.0-spectrum0-patches.tar.gz">cloud-hypervisor-39.0-spectrum0-patches.tar.gz</a>
(tested with crosvm <a href="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/7c75ad6185893b4cc26676b6a0eb9fbdf9ed5b72">7c75ad618</a>)
<li><a href="https://spectrum-os.org/software/cloud-hypervisor/cloud-hypervisor-38.0-spectrum0-patches.tar.xz">cloud-hypervisor-38.0-spectrum0-patches.tar.xz</a>
<li><a href="https://spectrum-os.org/software/cloud-hypervisor/cloud-hypervisor-37.0-spectrum0-patches.tar.xz">cloud-hypervisor-37.0-spectrum0-patches.tar.xz</a>
</ol>
<h2>Contributing</h2>
<p>
The patches are maintained
in <a href="https://spectrum-os.org/git/spectrum">Spectrum’s git
repository</a>. Please refer to the documentation
for <a href="/doc/contributing/">contributing to Spectrum</a>.
<h2>Can these patches be upstreamed?</h2>
<p>
Yes! The <code>VHOST_USER_PROTOCOL_F_SHMEM</code> vhost-user feature
was standardized in June 2026, meaning that non-standard vhost-user
features are no longer required to use crosvm's GPU device. I expect
to propose this implementation become part of upstream Cloud
Hypervisor shortly, once some code quality improvements are made.
<p>
Other Cloud Hypervisor work is
regularly <a href="https://github.com/cloud-hypervisor/cloud-hypervisor/commits?author=alyssais">upstreamed</a>
as part of the Spectrum project.
<h2>Bug reports and other questions</h2>
<p>
Bug reports for and other questions about the patchset are welcome!
You can send mail to
the <a href="mailto:discuss@spectrum-os.org">discuss@spectrum-os.org</a>
<a href="/doc/contributing/communication.html#mailing-lists">mailing
list</a>, or ask in the
Spectrum <a href="/doc/contributing/communication.html#chat">Matrix
chat</a>.
|