From: Alyssa Ross <hi@alyssa.is>
To: Thomas Leonard <talex5@gmail.com>
Cc: discuss@spectrum-os.org
Subject: Re: Using virtio-gpu instead of virtwl
Date: Mon, 16 May 2022 11:55:27 +0000 [thread overview]
Message-ID: <20220516115527.2a3wnqqgzuo7gt3x@eve> (raw)
In-Reply-To: <CAG4opy-3QMbGpLOgAqqbjVp1jyE1tqP+EM6ffc-A+w6nwRG79g@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2572 bytes --]
Thanks for the update!
On Sun, May 15, 2022 at 03:20:24PM +0000, Thomas Leonard wrote:
> On Thu, 14 Apr 2022 at 13:57, Alyssa Ross <hi@alyssa.is> wrote:
> >
> > On Wed, Apr 13, 2022 at 05:12:13PM +0000, Thomas Leonard wrote:
> > > On Wed, 6 Apr 2022 at 12:19, Thomas Leonard <talex5@gmail.com> wrote:
> > > [ converting from virtwl to virtio-gpu ]
> > > > I tried, but failed, to figure out the protocol. I did manage to get a
> > > > test application showing a little animation, but it crashes after a
> > > > few seconds.
> > >
> > > OK, I found a solution to this: you can just open the device file
> > > twice and use one instance for Wayland messages and the other for
> > > allocating images. This avoids the first race. With that, I got the
> > > proxy converted:
> > >
> > > https://github.com/talex5/wayland-proxy-virtwl/pull/28
> > >
> > > Though I'm not sure it's an improvement: +1,819 −577 lines!
> > >
> > > Instructions for configuring crosvm to use it:
> > >
> > > https://github.com/talex5/wayland-proxy-virtwl#virtio-gpu-support
> > >
> > > And I wrote up my guesses about the protocol here:
> > >
> > > https://github.com/talex5/wayland-proxy-virtwl/blob/master/virtio-spec.md
> >
> > That's extremely helpful, thanks for writing it up!
>
> A small update on this:
>
> First, I got virtio-gpu working with the jail. It just needs a couple
> of extra paths for NixOS:
>
> diff --git a/src/linux.rs b/src/linux.rs
> index ad031749..52d3142f 100644
> --- a/src/linux.rs
> +++ b/src/linux.rs
> @@ -790,6 +790,8 @@ fn gpu_jail(cfg: &Config, policy: &str) ->
> Result<Option<Minijail>> {
> jail_mount_bind_if_exists(
> &mut jail,
> &[
> + "/run/opengl-driver",
> + "/nix/store",
> "/usr/lib",
> "/usr/lib64",
> "/lib",
>
> Secondly, I realised that the "video" memory returned by virtio-gpu
> was just regular host memory (from stracing crosvm). This is because
> crosvm is compiled without minigbm support and falls back to this.
>
> After enabling minigbm and its amdgpu support (which also required
> adding a dependency on mesa) it started allocating vram. However, this
> broke the proxy because vram can't be used with the Wl_shm protocol.
Do you have a Nix expression somewhere for crosvm with all this stuff
fixed? I'd like to integrate it into my draft Nixpkgs PR. (If you
didn't do it with Nix, I can make the changes myself.)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2022-05-16 11:55 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-05 19:27 New user getting started questions Thomas Leonard
2021-01-05 20:09 ` Michael Raskin
2021-01-06 7:04 ` Alyssa's break Alyssa Ross
2021-01-06 9:11 ` Michał "rysiek" Woźniak
2021-01-06 7:00 ` New user getting started questions Alyssa Ross
2021-01-06 15:56 ` Thomas Leonard
2021-01-07 11:38 ` Thomas Leonard
2021-01-07 15:33 ` Thomas Leonard
2021-01-14 12:29 ` Alyssa Ross
2021-01-14 12:51 ` Alyssa Ross
2021-01-20 13:04 ` Thomas Leonard
2021-01-27 17:31 ` Thomas Leonard
2021-03-07 12:52 ` Thomas Leonard
2021-03-09 16:59 ` Qubes-lite With KVM and Wayland Alyssa Ross
2021-03-10 14:19 ` Thomas Leonard
2021-03-10 22:34 ` Alyssa Ross
2021-03-09 16:25 ` New user getting started questions Alyssa Ross
2021-03-13 7:21 ` Thomas Leonard
2021-03-13 13:52 ` Alyssa Ross
2021-10-30 12:58 ` Thomas Leonard
2021-11-03 11:36 ` Alyssa Ross
2021-11-03 18:27 ` Thomas Leonard
2021-11-10 12:58 ` Alyssa Ross
2021-11-10 12:00 ` Thomas Leonard
2021-11-11 11:09 ` Alyssa Ross
2021-11-11 16:12 ` Thomas Leonard
2021-11-12 10:47 ` Alyssa Ross
2022-03-13 15:08 ` Thomas Leonard
2022-03-15 14:06 ` Alyssa Ross
2022-03-15 20:23 ` Alyssa Ross
2022-03-16 16:18 ` Using virtio-gpu instead of virtwl Thomas Leonard
2022-03-16 16:54 ` Alyssa Ross
2022-03-21 12:10 ` Thomas Leonard
2022-03-21 16:05 ` Alyssa Ross
2022-03-22 11:08 ` Thomas Leonard
2022-03-22 11:16 ` Alyssa Ross
2022-03-22 20:05 ` Thomas Leonard
2022-04-06 12:19 ` Thomas Leonard
2022-04-13 17:12 ` Thomas Leonard
2022-04-14 13:57 ` Alyssa Ross
2022-04-19 12:58 ` Thomas Leonard
2022-04-19 12:01 ` Alyssa Ross
2022-05-15 15:20 ` Thomas Leonard
2022-05-16 11:55 ` Alyssa Ross [this message]
2022-05-18 9:55 ` Thomas Leonard
2022-06-05 16:29 ` Thomas Leonard
2022-08-09 12:00 ` Alyssa Ross
2022-10-10 15:16 ` Thomas Leonard
2022-10-10 16:53 ` Alyssa Ross
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220516115527.2a3wnqqgzuo7gt3x@eve \
--to=hi@alyssa.is \
--cc=discuss@spectrum-os.org \
--cc=talex5@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).