Subject: Re: bug#57068: Resizing mcron job in vm-image.tmpl interferes with settings

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 09 Aug 2022 21:14:29 -0400

Hi Ludovic,

Ludovic Courtès <[email-masked]> writes:

> Hello!
>
> Commit 945ad48cd8029fa77a643e00c7fd350e98cacca0 added an mcron job to
> ‘vm-image.tmpl’ that resets screen size every second.  I’m don’t fully
> understand the problem this was addressing, but it has two drawbacks:

The vm-image.tmpl is the template we use for our graphical Guix demo
QEMU image that can be downloaded from our site
(https://guix.gnu.org/en/download/ ->
https://ftp.gnu.org/gnu/guix/guix-system-vm-image-1.3.0.x86_64-linux.qcow2).

This commit was made to allow SPICE dynamic resizing to work, as
mentioned in a comment part of this commit.  XFCE lacks support for it,
as also mentioned in the comment
(https://gitlab.xfce.org/xfce/xfce4-settings/-/issues/142), which means
a new user downloading the image and running it in a SPICE-capable
viewer such as virt-manager or gnome-boxes will be dismayed that it
doesn't resize as they may have come to expect from other modern
distributions.

>   1. Kicking in every second is inefficient.

5% on my machine, as mentioned in the commit message.  The trade is
still on the winning side for me (dynamic resizing is a big upgrade for
the user experience in my book).

>   2. Resetting the screen size prevents users from changing it.  For
>      example, if I run:
>
>        $(guix system vm gnu/system/examples/vm-image.tmpl) -m 1024
>
>     then go to the Xfce menu, Settings -> Display, and change the screen
>     size, I have it immediately reset back to the default value.

OK.  I didn't know this could be workable use case with the stock QEMU
viewer when playing with graphical VMs.

> Should we remove this workaround, possibly finding another one?

I think we should use a desktop environment that is better maintained,
and which works well with SPICE, without hacks, given the improvements
to the user experience it provides, and given it's important that a
first user encounter with Guix be smooth and shiny.  GNOME could do it,
at the cost of a bigger image size.

There are other, perhaps worst issues with XFCE, which is that the
keyboard layout switcher doesn't work, and it didn't seem trivial to fix
when I looked at it.

What do you think?

Thanks,

Maxim