about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2024-01-16 00:19:27 +0100
committerAlyssa Ross <hi@alyssa.is>2024-01-16 00:19:27 +0100
commita15334ad7b05502ec522abe3afcbe7871205fa7b (patch)
tree0e0dc1ac898fefbf5f04c13dfc1f5ade912dd023
parent4876cc29aad9f6a0229e6d246f1fc0ba67335928 (diff)
downloadwww-a15334ad7b05502ec522abe3afcbe7871205fa7b.tar
www-a15334ad7b05502ec522abe3afcbe7871205fa7b.tar.gz
www-a15334ad7b05502ec522abe3afcbe7871205fa7b.tar.bz2
www-a15334ad7b05502ec522abe3afcbe7871205fa7b.tar.lz
www-a15334ad7b05502ec522abe3afcbe7871205fa7b.tar.xz
www-a15334ad7b05502ec522abe3afcbe7871205fa7b.tar.zst
www-a15334ad7b05502ec522abe3afcbe7871205fa7b.zip
software/cloud-hypervisor: init
Signed-off-by: Alyssa Ross <hi@alyssa.is>
-rw-r--r--index.html7
-rw-r--r--software/cloud-hypervisor/index.html143
-rw-r--r--software/index.html41
3 files changed, 191 insertions, 0 deletions
diff --git a/index.html b/index.html
index 6065ed0..d2e0e94 100644
--- a/index.html
+++ b/index.html
@@ -68,6 +68,13 @@ initiative by the Digital Single Market of the European Commission.
     <li><a href="bibliography.html">Bibliography</a>
   </ul>
 
+  <h2>Published software</h2>
+
+  <ul>
+    <li><a href="software/cloud-hypervisor">Cloud Hypervisor with
+    virtio-gpu support</a>
+  </ul>
+
   <h2>Development progress</h2>
 
   <p>
diff --git a/software/cloud-hypervisor/index.html b/software/cloud-hypervisor/index.html
new file mode 100644
index 0000000..1b0a6ed
--- /dev/null
+++ b/software/cloud-hypervisor/index.html
@@ -0,0 +1,143 @@
+<!doctype html>
+<!-- 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 -->
+<html lang="en">
+
+<head>
+
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link rel="icon" href="../..logo/logo_html.svg">
+<link rel="stylesheet" href="../../style.css">
+
+<title>Cloud Hypervisor with virtio-gpu support</title>
+
+<body>
+
+<nav>
+  <a href="../..">Spectrum</a>
+</nav>
+
+<h1>Cloud Hypervisor with virtio-gpu support</h1>
+
+<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's</a> 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>
+
+It’s necessary to patch both Cloud Hypervisor itself, and
+the <a href="https://github.com/rust-vmm/vhost/tree/main/vhost">vhost</a>
+crate.  The Cloud Hypervisor patches expect to find the patched vhost
+source tree under the same parent directory as Cloud Hypervisor’s.
+
+<ol>
+  <li>
+  Clone the repositories
+  for <a href="https://github.com/cloud-hypervisor/cloud-hypervisor">Cloud
+  Hypervisor</a>
+  and <a href="https://github.com/rust-vmm/vhost">vhost</a>.  Make
+  sure the revision of the vhost repository you have checked out
+  contains the versions of the vhost and vhost-user-backend crates
+  expected by your version of Cloud Hypervisor.
+
+  <li>
+  Download and apply the patches for the correct versions of Cloud
+  Hypervisor and vhost.
+
+  <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 gpu.sock</code></pre>
+
+Connect to the GPU device with cloud-hypervisor:
+
+<pre><code>cloud-hypervisor --gpu socket=gpu.sock …</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-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="https://spectrum-os.org/doc/contributing/">contributing
+to Spectrum</a>.
+
+<h2>Can these patches be upstreamed?</h2>
+
+<p>
+I don’t think so.  The Cloud Hypervisor developers
+are <a href="https://github.com/cloud-hypervisor/cloud-hypervisor/issues/3212#issuecomment-937823742">not
+very interested</a> in GPU support — although perhaps an
+implementation that was just a vfio-user frontend implementation,
+deletaging all of the complexity of rendering, input handling, etc. to
+another process would be light enough to overcome that — but on top of
+that, communicating with crosvm’s GPU device requires using
+non-standard commands that are not part of
+the <a href="https://www.qemu.org/docs/master/interop/vhost-user.html">vhost-user
+specification</a>.
+
+<p>
+It’s possible that, in future, it might be possible to use an external
+virtual GPU device with an unmodified Cloud Hypervisor
+using <a href="https://spdk.io/news/2021/05/04/vfio-user/">vfio-user</a>
+or <a href="https://lore.kernel.org/qemu-devel/20230901110018.3704459-1-alex.bennee@linaro.org/"><code>VHOST_USER_PROTOCOL_F_PROBE</code></a>,
+or that at least the custom vhost-user commands could be standardized.
+
+<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="https://spectrum-os.org/doc/contributing/communication.html#mailing-lists">mailing
+list</a>, or ask in the
+Spectrum <a href="https://spectrum-os.org/doc/contributing/communication.html#chat">Matrix
+chat</a>.
+
+<hr>
+
+<p>
+<small>Permission is granted to copy, distribute and/or modify this
+document under either the terms of the
+<a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative
+Commons Attribution-ShareAlike 4.0 International License</a>, or the
+<a href="https://www.gnu.org/licenses/fdl-1.3.html">GNU Free
+Documentation License, Version 1.3</a> or any later version published
+by the Free Software Foundation; with no Invariant Sections, no
+Front-Cover Texts, and no Back-Cover Texts.</small>
+
+<p>
+<a href="impressum.html" lang="de"><small>Impressum</small></a>
diff --git a/software/index.html b/software/index.html
new file mode 100644
index 0000000..7f8e6fb
--- /dev/null
+++ b/software/index.html
@@ -0,0 +1,41 @@
+<!doctype html>
+<!-- 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 -->
+<html lang="en">
+
+<head>
+
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link rel="icon" href="..logo/logo_html.svg">
+<link rel="stylesheet" href="../style.css">
+
+<title>Cloud Hypervisor with virtio-gpu support</title>
+
+<body>
+
+<nav>
+  <a href="..">Spectrum</a>
+</nav>
+
+<h1>Spectrum software</h1>
+
+<ul>
+  <li><a href="cloud-hypervisor">Cloud Hypervisor with virtio-gpu
+  support</a>
+</ul>
+
+<p>
+<small>Permission is granted to copy, distribute and/or modify this
+document under either the terms of the
+<a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative
+Commons Attribution-ShareAlike 4.0 International License</a>, or the
+<a href="https://www.gnu.org/licenses/fdl-1.3.html">GNU Free
+Documentation License, Version 1.3</a> or any later version published
+by the Free Software Foundation; with no Invariant Sections, no
+Front-Cover Texts, and no Back-Cover Texts.</small>
+
+<p>
+<a href="impressum.html" lang="de"><small>Impressum</small></a>