patches and low-level development discussion
 help / color / mirror / code / Atom feed
* "make run-qemu" gets Wayland protocol error
@ 2025-07-20  2:23 Demi Marie Obenour
  2025-07-20  7:55 ` Alyssa Ross
  0 siblings, 1 reply; 9+ messages in thread
From: Demi Marie Obenour @ 2025-07-20  2:23 UTC (permalink / raw)
  To: Spectrum OS Development; +Cc: Alyssa Ross


[-- Attachment #1.1.1: Type: text/plain, Size: 1347 bytes --]

If I run `make run-qemu` under a Wayland compositor (tested with both
Sway and Weston), I get a Wayland protocol error ("invalid object 0")
and QEMU exits.  It appears that there is a problem with
wayland-proxy-virtwl.  I get the following error from foot:

warn: main.c:437: 'C' is not a UTF-8 locale, falling back to 'C.UTF-8'
warn: config.c:3520: no configuration found, using defaults
Fontconfig warning: no <cachedir> elements found. Check configuration.
Fontconfig warning: adding <cachedir>/var/cache/fontconfig</cachedir>
Fontconfig warning: adding <cachedir prefix="xdg">fontconfig</cachedir>
 err: wayland.c:1714: no compositor
 err: wayland.c:2248: failed to flush wayland socket: Connection reset by peer

And the following from wayland-proxy-virtwl:

2025-07-20 02:14:48.638    wl-proxy [WARNING]: Error handling client: Invalid_argument("invalid bounds in Cstruct.LE.get_uint32 [0,0](4096) off=0 len=4")

In case it matters:

- This is with some patches to allow use of TCG and others for
  PipeWire.  I highly doubt either set are relevant here.

- I tested this with both Sway and Weston.  Each was added to
  img/app/shell.nix so that it would be available in the nix-shell
  environment.  Both ran nested under the X11 session provided by
  Qubes OS.
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 7253 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: "make run-qemu" gets Wayland protocol error
  2025-07-20  2:23 "make run-qemu" gets Wayland protocol error Demi Marie Obenour
@ 2025-07-20  7:55 ` Alyssa Ross
  2025-07-20  8:02   ` Demi Marie Obenour
  0 siblings, 1 reply; 9+ messages in thread
From: Alyssa Ross @ 2025-07-20  7:55 UTC (permalink / raw)
  To: Demi Marie Obenour, Spectrum OS Development

[-- Attachment #1: Type: text/plain, Size: 1761 bytes --]

Demi Marie Obenour <demiobenour@gmail.com> writes:

> If I run `make run-qemu` under a Wayland compositor (tested with both
> Sway and Weston), I get a Wayland protocol error ("invalid object 0")
> and QEMU exits.  It appears that there is a problem with
> wayland-proxy-virtwl.  I get the following error from foot:
>
> warn: main.c:437: 'C' is not a UTF-8 locale, falling back to 'C.UTF-8'
> warn: config.c:3520: no configuration found, using defaults
> Fontconfig warning: no <cachedir> elements found. Check configuration.
> Fontconfig warning: adding <cachedir>/var/cache/fontconfig</cachedir>
> Fontconfig warning: adding <cachedir prefix="xdg">fontconfig</cachedir>
>  err: wayland.c:1714: no compositor
>  err: wayland.c:2248: failed to flush wayland socket: Connection reset by peer
>
> And the following from wayland-proxy-virtwl:
>
> 2025-07-20 02:14:48.638    wl-proxy [WARNING]: Error handling client: Invalid_argument("invalid bounds in Cstruct.LE.get_uint32 [0,0](4096) off=0 len=4")

This is partially fixed with <https://github.com/NixOS/nixpkgs/pull/419860>,
which is more recent than Spectrum's pinned Nixpkgs.  I expect to
update that in the next few days, but until then, you can apply it on
top of the Nixpkgs revision in lib/nixpkgs.default.nix, and then pass
--arg config '{pkgsFun = import /path/to/nixpkgs;}' to any Spectrum
Nix command.

With that change, I'm able to run foot fine in QEMU.  gnome-text-editor
runs but prints errors and looks weird, and Firefox doesn't even start.
crosvm built from the same tag as rutabaga_gfx used by QEMU works fine,
so I think it must be a QEMU bug.  I spent some time yesterday trying to
debug it, but didn't get anywhere so far.  If I can't figure it out soon
I'll open an upstream bug report.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: "make run-qemu" gets Wayland protocol error
  2025-07-20  7:55 ` Alyssa Ross
@ 2025-07-20  8:02   ` Demi Marie Obenour
  2025-07-20  8:20     ` Alyssa Ross
  0 siblings, 1 reply; 9+ messages in thread
From: Demi Marie Obenour @ 2025-07-20  8:02 UTC (permalink / raw)
  To: Alyssa Ross, Spectrum OS Development


[-- Attachment #1.1.1: Type: text/plain, Size: 2158 bytes --]

On 7/20/25 03:55, Alyssa Ross wrote:
> Demi Marie Obenour <demiobenour@gmail.com> writes:
> 
>> If I run `make run-qemu` under a Wayland compositor (tested with both
>> Sway and Weston), I get a Wayland protocol error ("invalid object 0")
>> and QEMU exits.  It appears that there is a problem with
>> wayland-proxy-virtwl.  I get the following error from foot:
>>
>> warn: main.c:437: 'C' is not a UTF-8 locale, falling back to 'C.UTF-8'
>> warn: config.c:3520: no configuration found, using defaults
>> Fontconfig warning: no <cachedir> elements found. Check configuration.
>> Fontconfig warning: adding <cachedir>/var/cache/fontconfig</cachedir>
>> Fontconfig warning: adding <cachedir prefix="xdg">fontconfig</cachedir>
>>  err: wayland.c:1714: no compositor
>>  err: wayland.c:2248: failed to flush wayland socket: Connection reset by peer
>>
>> And the following from wayland-proxy-virtwl:
>>
>> 2025-07-20 02:14:48.638    wl-proxy [WARNING]: Error handling client: Invalid_argument("invalid bounds in Cstruct.LE.get_uint32 [0,0](4096) off=0 len=4")
> 
> This is partially fixed with <https://github.com/NixOS/nixpkgs/pull/419860>,
> which is more recent than Spectrum's pinned Nixpkgs.  I expect to
> update that in the next few days, but until then, you can apply it on
> top of the Nixpkgs revision in lib/nixpkgs.default.nix, and then pass
> --arg config '{pkgsFun = import /path/to/nixpkgs;}' to any Spectrum
> Nix command.
> 
> With that change, I'm able to run foot fine in QEMU.  gnome-text-editor
> runs but prints errors and looks weird, and Firefox doesn't even start.
> crosvm built from the same tag as rutabaga_gfx used by QEMU works fine,
> so I think it must be a QEMU bug.  I spent some time yesterday trying to
> debug it, but didn't get anywhere so far.  If I can't figure it out soon
> I'll open an upstream bug report.

That's a good idea.  Would it be possible to use vhost-user as a
workaround?  That would use crosvm's implementation instead.

I'm glad that this isn't a TCG or wayland-proxy-virtwl bug,
unlike what I originally expected.
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 7253 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: "make run-qemu" gets Wayland protocol error
  2025-07-20  8:02   ` Demi Marie Obenour
@ 2025-07-20  8:20     ` Alyssa Ross
  2025-07-20  8:20       ` Alyssa Ross
  0 siblings, 1 reply; 9+ messages in thread
From: Alyssa Ross @ 2025-07-20  8:20 UTC (permalink / raw)
  To: Demi Marie Obenour, Spectrum OS Development

[-- Attachment #1: Type: text/plain, Size: 2496 bytes --]

Demi Marie Obenour <demiobenour@gmail.com> writes:

> On 7/20/25 03:55, Alyssa Ross wrote:
>> Demi Marie Obenour <demiobenour@gmail.com> writes:
>> 
>>> If I run `make run-qemu` under a Wayland compositor (tested with both
>>> Sway and Weston), I get a Wayland protocol error ("invalid object 0")
>>> and QEMU exits.  It appears that there is a problem with
>>> wayland-proxy-virtwl.  I get the following error from foot:
>>>
>>> warn: main.c:437: 'C' is not a UTF-8 locale, falling back to 'C.UTF-8'
>>> warn: config.c:3520: no configuration found, using defaults
>>> Fontconfig warning: no <cachedir> elements found. Check configuration.
>>> Fontconfig warning: adding <cachedir>/var/cache/fontconfig</cachedir>
>>> Fontconfig warning: adding <cachedir prefix="xdg">fontconfig</cachedir>
>>>  err: wayland.c:1714: no compositor
>>>  err: wayland.c:2248: failed to flush wayland socket: Connection reset by peer
>>>
>>> And the following from wayland-proxy-virtwl:
>>>
>>> 2025-07-20 02:14:48.638    wl-proxy [WARNING]: Error handling client: Invalid_argument("invalid bounds in Cstruct.LE.get_uint32 [0,0](4096) off=0 len=4")
>> 
>> This is partially fixed with <https://github.com/NixOS/nixpkgs/pull/419860>,
>> which is more recent than Spectrum's pinned Nixpkgs.  I expect to
>> update that in the next few days, but until then, you can apply it on
>> top of the Nixpkgs revision in lib/nixpkgs.default.nix, and then pass
>> --arg config '{pkgsFun = import /path/to/nixpkgs;}' to any Spectrum
>> Nix command.
>> 
>> With that change, I'm able to run foot fine in QEMU.  gnome-text-editor
>> runs but prints errors and looks weird, and Firefox doesn't even start.
>> crosvm built from the same tag as rutabaga_gfx used by QEMU works fine,
>> so I think it must be a QEMU bug.  I spent some time yesterday trying to
>> debug it, but didn't get anywhere so far.  If I can't figure it out soon
>> I'll open an upstream bug report.
>
> That's a good idea.  Would it be possible to use vhost-user as a
> workaround?  That would use crosvm's implementation instead.

No.  crosvm and QEMU have different ideas of what vhost-user-gpu.
QEMU expects to provide all the graphical stuff itself, using the
vhost-user-gpu protocol[1], whereas the crosvm one has the backend do
almost everything (like every other vhost-user device — also much better
for sandboxing).

[1]: https://www.qemu.org/docs/master/interop/vhost-user-gpu.html#vhost-user-gpu-protocol

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: "make run-qemu" gets Wayland protocol error
  2025-07-20  8:20     ` Alyssa Ross
@ 2025-07-20  8:20       ` Alyssa Ross
  2025-07-20  8:22         ` Demi Marie Obenour
  0 siblings, 1 reply; 9+ messages in thread
From: Alyssa Ross @ 2025-07-20  8:20 UTC (permalink / raw)
  To: Demi Marie Obenour, Spectrum OS Development

[-- Attachment #1: Type: text/plain, Size: 2684 bytes --]

Alyssa Ross <hi@alyssa.is> writes:

> Demi Marie Obenour <demiobenour@gmail.com> writes:
>
>> On 7/20/25 03:55, Alyssa Ross wrote:
>>> Demi Marie Obenour <demiobenour@gmail.com> writes:
>>> 
>>>> If I run `make run-qemu` under a Wayland compositor (tested with both
>>>> Sway and Weston), I get a Wayland protocol error ("invalid object 0")
>>>> and QEMU exits.  It appears that there is a problem with
>>>> wayland-proxy-virtwl.  I get the following error from foot:
>>>>
>>>> warn: main.c:437: 'C' is not a UTF-8 locale, falling back to 'C.UTF-8'
>>>> warn: config.c:3520: no configuration found, using defaults
>>>> Fontconfig warning: no <cachedir> elements found. Check configuration.
>>>> Fontconfig warning: adding <cachedir>/var/cache/fontconfig</cachedir>
>>>> Fontconfig warning: adding <cachedir prefix="xdg">fontconfig</cachedir>
>>>>  err: wayland.c:1714: no compositor
>>>>  err: wayland.c:2248: failed to flush wayland socket: Connection reset by peer
>>>>
>>>> And the following from wayland-proxy-virtwl:
>>>>
>>>> 2025-07-20 02:14:48.638    wl-proxy [WARNING]: Error handling client: Invalid_argument("invalid bounds in Cstruct.LE.get_uint32 [0,0](4096) off=0 len=4")
>>> 
>>> This is partially fixed with <https://github.com/NixOS/nixpkgs/pull/419860>,
>>> which is more recent than Spectrum's pinned Nixpkgs.  I expect to
>>> update that in the next few days, but until then, you can apply it on
>>> top of the Nixpkgs revision in lib/nixpkgs.default.nix, and then pass
>>> --arg config '{pkgsFun = import /path/to/nixpkgs;}' to any Spectrum
>>> Nix command.
>>> 
>>> With that change, I'm able to run foot fine in QEMU.  gnome-text-editor
>>> runs but prints errors and looks weird, and Firefox doesn't even start.
>>> crosvm built from the same tag as rutabaga_gfx used by QEMU works fine,
>>> so I think it must be a QEMU bug.  I spent some time yesterday trying to
>>> debug it, but didn't get anywhere so far.  If I can't figure it out soon
>>> I'll open an upstream bug report.
>>
>> That's a good idea.  Would it be possible to use vhost-user as a
>> workaround?  That would use crosvm's implementation instead.
>
> No.  crosvm and QEMU have different ideas of what vhost-user-gpu.
> QEMU expects to provide all the graphical stuff itself, using the
> vhost-user-gpu protocol[1], whereas the crosvm one has the backend do
> almost everything (like every other vhost-user device — also much better
> for sandboxing).
>
> [1]: https://www.qemu.org/docs/master/interop/vhost-user-gpu.html#vhost-user-gpu-protocol

Possibly the best way to test this would be to use crosvm, which also
supports virtio-sound.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: "make run-qemu" gets Wayland protocol error
  2025-07-20  8:20       ` Alyssa Ross
@ 2025-07-20  8:22         ` Demi Marie Obenour
  2025-07-20  8:33           ` Alyssa Ross
  0 siblings, 1 reply; 9+ messages in thread
From: Demi Marie Obenour @ 2025-07-20  8:22 UTC (permalink / raw)
  To: Alyssa Ross, Spectrum OS Development


[-- Attachment #1.1.1: Type: text/plain, Size: 2891 bytes --]

On 7/20/25 04:20, Alyssa Ross wrote:
> Alyssa Ross <hi@alyssa.is> writes:
> 
>> Demi Marie Obenour <demiobenour@gmail.com> writes:
>>
>>> On 7/20/25 03:55, Alyssa Ross wrote:
>>>> Demi Marie Obenour <demiobenour@gmail.com> writes:
>>>>
>>>>> If I run `make run-qemu` under a Wayland compositor (tested with both
>>>>> Sway and Weston), I get a Wayland protocol error ("invalid object 0")
>>>>> and QEMU exits.  It appears that there is a problem with
>>>>> wayland-proxy-virtwl.  I get the following error from foot:
>>>>>
>>>>> warn: main.c:437: 'C' is not a UTF-8 locale, falling back to 'C.UTF-8'
>>>>> warn: config.c:3520: no configuration found, using defaults
>>>>> Fontconfig warning: no <cachedir> elements found. Check configuration.
>>>>> Fontconfig warning: adding <cachedir>/var/cache/fontconfig</cachedir>
>>>>> Fontconfig warning: adding <cachedir prefix="xdg">fontconfig</cachedir>
>>>>>  err: wayland.c:1714: no compositor
>>>>>  err: wayland.c:2248: failed to flush wayland socket: Connection reset by peer
>>>>>
>>>>> And the following from wayland-proxy-virtwl:
>>>>>
>>>>> 2025-07-20 02:14:48.638    wl-proxy [WARNING]: Error handling client: Invalid_argument("invalid bounds in Cstruct.LE.get_uint32 [0,0](4096) off=0 len=4")
>>>>
>>>> This is partially fixed with <https://github.com/NixOS/nixpkgs/pull/419860>,
>>>> which is more recent than Spectrum's pinned Nixpkgs.  I expect to
>>>> update that in the next few days, but until then, you can apply it on
>>>> top of the Nixpkgs revision in lib/nixpkgs.default.nix, and then pass
>>>> --arg config '{pkgsFun = import /path/to/nixpkgs;}' to any Spectrum
>>>> Nix command.
>>>>
>>>> With that change, I'm able to run foot fine in QEMU.  gnome-text-editor
>>>> runs but prints errors and looks weird, and Firefox doesn't even start.
>>>> crosvm built from the same tag as rutabaga_gfx used by QEMU works fine,
>>>> so I think it must be a QEMU bug.  I spent some time yesterday trying to
>>>> debug it, but didn't get anywhere so far.  If I can't figure it out soon
>>>> I'll open an upstream bug report.
>>>
>>> That's a good idea.  Would it be possible to use vhost-user as a
>>> workaround?  That would use crosvm's implementation instead.
>>
>> No.  crosvm and QEMU have different ideas of what vhost-user-gpu.
>> QEMU expects to provide all the graphical stuff itself, using the
>> vhost-user-gpu protocol[1], whereas the crosvm one has the backend do
>> almost everything (like every other vhost-user device — also much better
>> for sandboxing).
>>
>> [1]: https://www.qemu.org/docs/master/interop/vhost-user-gpu.html#vhost-user-gpu-protocol
> 
> Possibly the best way to test this would be to use crosvm, which also
> supports virtio-sound.

I thought the only implemented backends were CrAS and Android.
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 7253 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: "make run-qemu" gets Wayland protocol error
  2025-07-20  8:22         ` Demi Marie Obenour
@ 2025-07-20  8:33           ` Alyssa Ross
  2025-07-20  9:25             ` Demi Marie Obenour
  0 siblings, 1 reply; 9+ messages in thread
From: Alyssa Ross @ 2025-07-20  8:33 UTC (permalink / raw)
  To: Demi Marie Obenour, Spectrum OS Development

[-- Attachment #1: Type: text/plain, Size: 3133 bytes --]

Demi Marie Obenour <demiobenour@gmail.com> writes:

> On 7/20/25 04:20, Alyssa Ross wrote:
>> Alyssa Ross <hi@alyssa.is> writes:
>> 
>>> Demi Marie Obenour <demiobenour@gmail.com> writes:
>>>
>>>> On 7/20/25 03:55, Alyssa Ross wrote:
>>>>> Demi Marie Obenour <demiobenour@gmail.com> writes:
>>>>>
>>>>>> If I run `make run-qemu` under a Wayland compositor (tested with both
>>>>>> Sway and Weston), I get a Wayland protocol error ("invalid object 0")
>>>>>> and QEMU exits.  It appears that there is a problem with
>>>>>> wayland-proxy-virtwl.  I get the following error from foot:
>>>>>>
>>>>>> warn: main.c:437: 'C' is not a UTF-8 locale, falling back to 'C.UTF-8'
>>>>>> warn: config.c:3520: no configuration found, using defaults
>>>>>> Fontconfig warning: no <cachedir> elements found. Check configuration.
>>>>>> Fontconfig warning: adding <cachedir>/var/cache/fontconfig</cachedir>
>>>>>> Fontconfig warning: adding <cachedir prefix="xdg">fontconfig</cachedir>
>>>>>>  err: wayland.c:1714: no compositor
>>>>>>  err: wayland.c:2248: failed to flush wayland socket: Connection reset by peer
>>>>>>
>>>>>> And the following from wayland-proxy-virtwl:
>>>>>>
>>>>>> 2025-07-20 02:14:48.638    wl-proxy [WARNING]: Error handling client: Invalid_argument("invalid bounds in Cstruct.LE.get_uint32 [0,0](4096) off=0 len=4")
>>>>>
>>>>> This is partially fixed with <https://github.com/NixOS/nixpkgs/pull/419860>,
>>>>> which is more recent than Spectrum's pinned Nixpkgs.  I expect to
>>>>> update that in the next few days, but until then, you can apply it on
>>>>> top of the Nixpkgs revision in lib/nixpkgs.default.nix, and then pass
>>>>> --arg config '{pkgsFun = import /path/to/nixpkgs;}' to any Spectrum
>>>>> Nix command.
>>>>>
>>>>> With that change, I'm able to run foot fine in QEMU.  gnome-text-editor
>>>>> runs but prints errors and looks weird, and Firefox doesn't even start.
>>>>> crosvm built from the same tag as rutabaga_gfx used by QEMU works fine,
>>>>> so I think it must be a QEMU bug.  I spent some time yesterday trying to
>>>>> debug it, but didn't get anywhere so far.  If I can't figure it out soon
>>>>> I'll open an upstream bug report.
>>>>
>>>> That's a good idea.  Would it be possible to use vhost-user as a
>>>> workaround?  That would use crosvm's implementation instead.
>>>
>>> No.  crosvm and QEMU have different ideas of what vhost-user-gpu.
>>> QEMU expects to provide all the graphical stuff itself, using the
>>> vhost-user-gpu protocol[1], whereas the crosvm one has the backend do
>>> almost everything (like every other vhost-user device — also much better
>>> for sandboxing).
>>>
>>> [1]: https://www.qemu.org/docs/master/interop/vhost-user-gpu.html#vhost-user-gpu-protocol
>> 
>> Possibly the best way to test this would be to use crosvm, which also
>> supports virtio-sound.
>
> I thought the only implemented backends were CrAS and Android.

Oh, maybe, but I think it also supports vhost-user-sound, so might be
usable with vhost-device?  I started packaging vhost-device-sound the
other day, btw.  Not quite done yet.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: "make run-qemu" gets Wayland protocol error
  2025-07-20  8:33           ` Alyssa Ross
@ 2025-07-20  9:25             ` Demi Marie Obenour
  2025-07-20 14:38               ` Alyssa Ross
  0 siblings, 1 reply; 9+ messages in thread
From: Demi Marie Obenour @ 2025-07-20  9:25 UTC (permalink / raw)
  To: Alyssa Ross, Spectrum OS Development


[-- Attachment #1.1.1: Type: text/plain, Size: 3653 bytes --]

On 7/20/25 04:33, Alyssa Ross wrote:
> Demi Marie Obenour <demiobenour@gmail.com> writes:
> 
>> On 7/20/25 04:20, Alyssa Ross wrote:
>>> Alyssa Ross <hi@alyssa.is> writes:
>>>
>>>> Demi Marie Obenour <demiobenour@gmail.com> writes:
>>>>
>>>>> On 7/20/25 03:55, Alyssa Ross wrote:
>>>>>> Demi Marie Obenour <demiobenour@gmail.com> writes:
>>>>>>
>>>>>>> If I run `make run-qemu` under a Wayland compositor (tested with both
>>>>>>> Sway and Weston), I get a Wayland protocol error ("invalid object 0")
>>>>>>> and QEMU exits.  It appears that there is a problem with
>>>>>>> wayland-proxy-virtwl.  I get the following error from foot:
>>>>>>>
>>>>>>> warn: main.c:437: 'C' is not a UTF-8 locale, falling back to 'C.UTF-8'
>>>>>>> warn: config.c:3520: no configuration found, using defaults
>>>>>>> Fontconfig warning: no <cachedir> elements found. Check configuration.
>>>>>>> Fontconfig warning: adding <cachedir>/var/cache/fontconfig</cachedir>
>>>>>>> Fontconfig warning: adding <cachedir prefix="xdg">fontconfig</cachedir>
>>>>>>>  err: wayland.c:1714: no compositor
>>>>>>>  err: wayland.c:2248: failed to flush wayland socket: Connection reset by peer
>>>>>>>
>>>>>>> And the following from wayland-proxy-virtwl:
>>>>>>>
>>>>>>> 2025-07-20 02:14:48.638    wl-proxy [WARNING]: Error handling client: Invalid_argument("invalid bounds in Cstruct.LE.get_uint32 [0,0](4096) off=0 len=4")
>>>>>>
>>>>>> This is partially fixed with <https://github.com/NixOS/nixpkgs/pull/419860>,
>>>>>> which is more recent than Spectrum's pinned Nixpkgs.  I expect to
>>>>>> update that in the next few days, but until then, you can apply it on
>>>>>> top of the Nixpkgs revision in lib/nixpkgs.default.nix, and then pass
>>>>>> --arg config '{pkgsFun = import /path/to/nixpkgs;}' to any Spectrum
>>>>>> Nix command.
>>>>>>
>>>>>> With that change, I'm able to run foot fine in QEMU.  gnome-text-editor
>>>>>> runs but prints errors and looks weird, and Firefox doesn't even start.
>>>>>> crosvm built from the same tag as rutabaga_gfx used by QEMU works fine,
>>>>>> so I think it must be a QEMU bug.  I spent some time yesterday trying to
>>>>>> debug it, but didn't get anywhere so far.  If I can't figure it out soon
>>>>>> I'll open an upstream bug report.
>>>>>
>>>>> That's a good idea.  Would it be possible to use vhost-user as a
>>>>> workaround?  That would use crosvm's implementation instead.
>>>>
>>>> No.  crosvm and QEMU have different ideas of what vhost-user-gpu.
>>>> QEMU expects to provide all the graphical stuff itself, using the
>>>> vhost-user-gpu protocol[1], whereas the crosvm one has the backend do
>>>> almost everything (like every other vhost-user device — also much better
>>>> for sandboxing).
>>>>
>>>> [1]: https://www.qemu.org/docs/master/interop/vhost-user-gpu.html#vhost-user-gpu-protocol
>>>
>>> Possibly the best way to test this would be to use crosvm, which also
>>> supports virtio-sound.
>>
>> I thought the only implemented backends were CrAS and Android.
> 
> Oh, maybe, but I think it also supports vhost-user-sound, so might be
> usable with vhost-device?  I started packaging vhost-device-sound the
> other day, btw.  Not quite done yet.

Oh nice.  Fedora wiki says that vhost-device-sound is in Fedora and
supports both ALSA and PipeWire.

I looked at CrAS and it requires udev, so I don't think there is
any reasonable way to avoid udev on the host.  However, eudev should
be sufficient, so systemd isn't needed.  I'm not sure if eudev needs
D-Bus, though an old blog post suggested it does not.
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 7253 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: "make run-qemu" gets Wayland protocol error
  2025-07-20  9:25             ` Demi Marie Obenour
@ 2025-07-20 14:38               ` Alyssa Ross
  0 siblings, 0 replies; 9+ messages in thread
From: Alyssa Ross @ 2025-07-20 14:38 UTC (permalink / raw)
  To: Demi Marie Obenour, Spectrum OS Development

[-- Attachment #1: Type: text/plain, Size: 411 bytes --]

Demi Marie Obenour <demiobenour@gmail.com> writes:

> I looked at CrAS and it requires udev, so I don't think there is
> any reasonable way to avoid udev on the host.  However, eudev should
> be sufficient, so systemd isn't needed.  I'm not sure if eudev needs
> D-Bus, though an old blog post suggested it does not.

systemd also supports building udev standalone, IIRC.  That's what
e.g. Alpine does I think.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2025-07-20 14:38 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-20  2:23 "make run-qemu" gets Wayland protocol error Demi Marie Obenour
2025-07-20  7:55 ` Alyssa Ross
2025-07-20  8:02   ` Demi Marie Obenour
2025-07-20  8:20     ` Alyssa Ross
2025-07-20  8:20       ` Alyssa Ross
2025-07-20  8:22         ` Demi Marie Obenour
2025-07-20  8:33           ` Alyssa Ross
2025-07-20  9:25             ` Demi Marie Obenour
2025-07-20 14:38               ` Alyssa Ross

Code repositories for project(s) associated with this public inbox

	https://spectrum-os.org/git/crosvm
	https://spectrum-os.org/git/doc
	https://spectrum-os.org/git/mktuntap
	https://spectrum-os.org/git/nixpkgs
	https://spectrum-os.org/git/spectrum
	https://spectrum-os.org/git/ucspi-vsock
	https://spectrum-os.org/git/www

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).