Menu-based installer unusable through noVNC

  • Open
  • quality assurance status badge
Details
5 participants
  • Björn Höfling
  • Ludovic Courtès
  • Mark H Weaver
  • pelzflorian (Florian Pelz)
  • Robert Vollmert
Owner
unassigned
Submitted by
Robert Vollmert
Severity
normal
R
R
Robert Vollmert wrote on 3 Jun 2019 11:35
(address . bug-guix@gnu.org)
DE060D3A-D662-4779-B68D-A649CD3A5A04@vllmrt.net
I’m in the process of setting up a Guix VPS with arpnetworks.com.

There seems to be some conflict between the “graphical” installer’s idea
of the console size and VNC’s (which appears to be noVNC
https://novnc.com/info.html).As you can see in the attached screenshot,
the screen is cropped on all sides, particularly making the menu choices
unviewable.

Not sure if relevant, but the console goes through a successful mode switch
earlier in the booting process, where the VNC display size changes. Seems
like that should happen again when the menus start, but it doesn’t.

I’ve run other installers through noVNC successfully so there’s a good
chance this is a Guix issue, can’t say for sure though.
Attachment: file
L
L
Ludovic Courtès wrote on 5 Jun 2019 12:39
(name . Robert Vollmert)(address . rob@vllmrt.net)(address . 36069@debbugs.gnu.org)
87r28848q1.fsf@gnu.org
Hello,

Robert Vollmert <rob@vllmrt.net> skribis:

Toggle quote (13 lines)
> There seems to be some conflict between the “graphical” installer’s idea
> of the console size and VNC’s (which appears to be noVNC
> https://novnc.com/info.html). As you can see in the attached screenshot,
> the screen is cropped on all sides, particularly making the menu choices
> unviewable.
>
> Not sure if relevant, but the console goes through a successful mode switch
> earlier in the booting process, where the VNC display size changes. Seems
> like that should happen again when the menus start, but it doesn’t.
>
> I’ve run other installers through noVNC successfully so there’s a good
> chance this is a Guix issue, can’t say for sure though.

I’ve never used noVNC, but doesn’t it allow you to zoom out or
something? The kernel (KMS) knows what it’s doing, so it seems to me
that the problem is that noVNC doesn’t realize what the actual screen
size is. Does the Internet have something to say wrt. noVNC vs. kmscon?

BTW, for your VPS, wouldn’t it be easier to bypass the installation
altogether? That is, you write a config that you want to use, you
create a QCOW2 image or whatever is suitable for your VPS, and you boot
that directly.

Thanks,
Ludo’.
R
R
Robert Vollmert wrote on 5 Jun 2019 13:25
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 36069@debbugs.gnu.org)
CEA9B93F-7C5F-40E4-B829-62025BE07B56@vllmrt.net
Hello Ludo,

thanks for looking into this.

Toggle quote (7 lines)
> On 5. Jun 2019, at 12:39, Ludovic Courtès <ludo@gnu.org> wrote:
>
> I’ve never used noVNC, but doesn’t it allow you to zoom out or
> something? The kernel (KMS) knows what it’s doing, so it seems to me
> that the problem is that noVNC doesn’t realize what the actual screen
> size is. Does the Internet have something to say wrt. noVNC vs. kmscon?

I don’t seem to get any controls to resize the display; in previous
situations it has seemed to switch modes correctly automatically. That
said, I’m happy to believe that the bug is with noVNC — I’ve reported
it with arpnetworks and will pass it on to noVNC once I know which
version is running.

Toggle quote (5 lines)
> BTW, for your VPS, wouldn’t it be easier to bypass the installation
> altogether? That is, you write a config that you want to use, you
> create a QCOW2 image or whatever is suitable for your VPS, and you boot
> that directly.

That’s a nice idea; it turns out that this provider does not appear to
give access to the disk images.

Thanks,
Robert
L
L
Ludovic Courtès wrote on 5 Jun 2019 23:14
(name . Robert Vollmert)(address . rob@vllmrt.net)(address . 36069@debbugs.gnu.org)
875zpjwx88.fsf@gnu.org
Robert Vollmert <rob@vllmrt.net> skribis:

Toggle quote (13 lines)
>> On 5. Jun 2019, at 12:39, Ludovic Courtès <ludo@gnu.org> wrote:
>>
>> I’ve never used noVNC, but doesn’t it allow you to zoom out or
>> something? The kernel (KMS) knows what it’s doing, so it seems to me
>> that the problem is that noVNC doesn’t realize what the actual screen
>> size is. Does the Internet have something to say wrt. noVNC vs. kmscon?
>
> I don’t seem to get any controls to resize the display; in previous
> situations it has seemed to switch modes correctly automatically. That
> said, I’m happy to believe that the bug is with noVNC — I’ve reported
> it with arpnetworks and will pass it on to noVNC once I know which
> version is running.

Alright, let us know how it goes so we can happily close the bug. :-)

Thanks,
Ludo’.
R
R
Robert Vollmert wrote on 11 Jun 2019 09:13
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 36069-done@debbugs.gnu.org)
17584F6F-7F50-4BFF-9A7B-206CF4596A79@vllmrt.net
Toggle quote (19 lines)
> On 5. Jun 2019, at 23:14, Ludovic Courtès <ludo@gnu.org> wrote:
>
> Robert Vollmert <rob@vllmrt.net> skribis:
>
>>> On 5. Jun 2019, at 12:39, Ludovic Courtès <ludo@gnu.org> wrote:
>>>
>>> I’ve never used noVNC, but doesn’t it allow you to zoom out or
>>> something? The kernel (KMS) knows what it’s doing, so it seems to me
>>> that the problem is that noVNC doesn’t realize what the actual screen
>>> size is. Does the Internet have something to say wrt. noVNC vs. kmscon?
>>
>> I don’t seem to get any controls to resize the display; in previous
>> situations it has seemed to switch modes correctly automatically. That
>> said, I’m happy to believe that the bug is with noVNC — I’ve reported
>> it with arpnetworks and will pass it on to noVNC once I know which
>> version is running.
>
> Alright, let us know how it goes so we can happily close the bug. :-)

It turns out arpnetworks are running an older forked version of noVNC,
so this might well have been fixed in the meantime. Not solved, but I
don’t intend to pursue this further at this point, will close. At least
it’s on record if it shows up again.

Cheers
Rob
Closed
L
L
Ludovic Courtès wrote on 11 Jun 2019 10:26
(name . Robert Vollmert)(address . rob@vllmrt.net)(address . 36069-done@debbugs.gnu.org)
87y3285xyu.fsf@gnu.org
Hi,

Robert Vollmert <rob@vllmrt.net> skribis:

Toggle quote (24 lines)
>> On 5. Jun 2019, at 23:14, Ludovic Courtès <ludo@gnu.org> wrote:
>>
>> Robert Vollmert <rob@vllmrt.net> skribis:
>>
>>>> On 5. Jun 2019, at 12:39, Ludovic Courtès <ludo@gnu.org> wrote:
>>>>
>>>> I’ve never used noVNC, but doesn’t it allow you to zoom out or
>>>> something? The kernel (KMS) knows what it’s doing, so it seems to me
>>>> that the problem is that noVNC doesn’t realize what the actual screen
>>>> size is. Does the Internet have something to say wrt. noVNC vs. kmscon?
>>>
>>> I don’t seem to get any controls to resize the display; in previous
>>> situations it has seemed to switch modes correctly automatically. That
>>> said, I’m happy to believe that the bug is with noVNC — I’ve reported
>>> it with arpnetworks and will pass it on to noVNC once I know which
>>> version is running.
>>
>> Alright, let us know how it goes so we can happily close the bug. :-)
>
> It turns out arpnetworks are running an older forked version of noVNC,
> so this might well have been fixed in the meantime. Not solved, but I
> don’t intend to pursue this further at this point, will close. At least
> it’s on record if it shows up again.

OK, thanks for investigating!

Ludo’.
Closed
B
B
Björn Höfling wrote on 25 Jun 2019 00:24
(name . Robert Vollmert)(address . rob@vllmrt.net)
20190625002420.27685559@alma-ubu
Reopened.

On Mon, 3 Jun 2019 11:35:17 +0200
Robert Vollmert <rob@vllmrt.net> wrote:

Toggle quote (6 lines)
> There seems to be some conflict between the “graphical” installer’s
> idea of the console size and VNC’s (which appears to be noVNC
> https://novnc.com/info.html). As you can see in the attached
> screenshot, the screen is cropped on all sides, particularly making
> the menu choices unviewable.

Today I installed Guix on a Server which uses Guacamole as a web-based
VNC-client according to the HTML code, see

I also had the problem that the screen of the installer was too small,
I'm attaching two screenshots: Of the normal GRUB startup and the
unreadable installer.

I solved it by hitting CTRL-ALT-F3 through the soft-keyboard and
installing it manually: In this console, everything looked fine.

Björn
-----BEGIN PGP SIGNATURE-----

iF0EARECAB0WIQQiGUP0np8nb5SZM4K/KGy2WT5f/QUCXRFNlAAKCRC/KGy2WT5f
/evRAJ4wevK6vxT6iINuXx4qw+eEt4g3QgCgjkR4cE3brcD7wIqCKV8e71cT1+8=
=ljPN
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 25 Jun 2019 15:59
(name . Björn Höfling)(address . bjoern.hoefling@bjoernhoefling.de)
87v9wtn4u9.fsf@gnu.org
Hi,

Björn Höfling <bjoern.hoefling@bjoernhoefling.de> skribis:

Toggle quote (17 lines)
> On Mon, 3 Jun 2019 11:35:17 +0200
> Robert Vollmert <rob@vllmrt.net> wrote:
>
>> There seems to be some conflict between the “graphical” installer’s
>> idea of the console size and VNC’s (which appears to be noVNC
>> https://novnc.com/info.html). As you can see in the attached
>> screenshot, the screen is cropped on all sides, particularly making
>> the menu choices unviewable.
>
> Today I installed Guix on a Server which uses Guacamole as a web-based
> VNC-client according to the HTML code, see
> https://guacamole.apache.org/
>
> I also had the problem that the screen of the installer was too small,
> I'm attaching two screenshots: Of the normal GRUB startup and the
> unreadable installer.

I think Robert concluded that the bug was in noVNC.

What we’d need is either something to fix on our side (but there’s
apparently nothing), or something to report to noVNC, or a workaround we
could have on our side specifically for this use case.

Do you have anything in mind along these lines?

Thanks,
Ludo’.
R
R
Robert Vollmert wrote on 25 Jun 2019 16:09
(name . Ludovic Courtès)(address . ludo@gnu.org)
36FEF9C6-B901-4E6B-920B-00E545A10279@vllmrt.net
Hi,

Toggle quote (25 lines)
> On 25. Jun 2019, at 15:59, Ludovic Courtès <ludo@gnu.org> wrote:
>
> Hi,
>
> Björn Höfling <bjoern.hoefling@bjoernhoefling.de> skribis:
>
>> On Mon, 3 Jun 2019 11:35:17 +0200
>> Robert Vollmert <rob@vllmrt.net> wrote:
>>
>>> There seems to be some conflict between the “graphical” installer’s
>>> idea of the console size and VNC’s (which appears to be noVNC
>>> https://novnc.com/info.html). As you can see in the attached
>>> screenshot, the screen is cropped on all sides, particularly making
>>> the menu choices unviewable.
>>
>> Today I installed Guix on a Server which uses Guacamole as a web-based
>> VNC-client according to the HTML code, see
>> https://guacamole.apache.org/
>>
>> I also had the problem that the screen of the installer was too small,
>> I'm attaching two screenshots: Of the normal GRUB startup and the
>> unreadable installer.
>
> I think Robert concluded that the bug was in noVNC.

Rather, I couldn’t prove the bug was anywhere else.

Toggle quote (4 lines)
> What we’d need is either something to fix on our side (but there’s
> apparently nothing), or something to report to noVNC, or a workaround we
> could have on our side specifically for this use case.

It seems noVNC isn’t involved here, though, with the only clearly common
factor being Guix, so maybe the bug is there after all? (At least, as
far as I can tell, Guacamole does not involve noVNC.)

Robert
B
B
Björn Höfling wrote on 25 Jun 2019 17:06
(name . Robert Vollmert)(address . rob@vllmrt.net)
20190625170603.176cb07b@alma-ubu
On Tue, 25 Jun 2019 16:09:48 +0200
Robert Vollmert <rob@vllmrt.net> wrote:
Toggle quote (15 lines)
> > On 25. Jun 2019, at 15:59, Ludovic Courtès <ludo@gnu.org> wrote:

> > I think Robert concluded that the bug was in noVNC.
>
> Rather, I couldn’t prove the bug was anywhere else.
>
> > What we’d need is either something to fix on our side (but there’s
> > apparently nothing), or something to report to noVNC, or a
> > workaround we could have on our side specifically for this use
> > case.
>
> It seems noVNC isn’t involved here, though, with the only clearly
> common factor being Guix, so maybe the bug is there after all? (At
> least, as far as I can tell, Guacamole does not involve noVNC.)

Guacamole and noVNC have no common roots, AFAIK. So, with a different
VNC-Software showing the same problems, I decided to re-open this bug,
though I have no proof that it is really a Guix-Problem. At least
people who want to install Guix would be annoyed and might run away. As
Robert said, he didn't experience this with any other Distro, that could
be a hint we are doing something wrong here.

I guess you (Ludovic) have tried the installer with QEMU and its
VNC-Server, maybe even with different VNC-clients?

We could try different setups in that directions.

We could look extensively at the code with the mode switches and compare
it with specs about mode-switching? Until now, I have no knowledge in
that area.

Björn
-----BEGIN PGP SIGNATURE-----

iF0EARECAB0WIQQiGUP0np8nb5SZM4K/KGy2WT5f/QUCXRI4WwAKCRC/KGy2WT5f
/WuSAJ91YJiaZOoKJ3JDdI8FHYjzS+1MTwCglbqNdBoJmLXXrq6GTwv9Dr1C4yU=
=SosX
-----END PGP SIGNATURE-----


P
P
pelzflorian (Florian Pelz) wrote on 25 Jun 2019 17:54
(name . Björn Höfling)(address . bjoern.hoefling@bjoernhoefling.de)
20190625155439.hmzw4s6o2pxhwyiw@pelzflorian.localdomain
On Tue, Jun 25, 2019 at 05:06:03PM +0200, Bj�rn H�fling wrote:
Toggle quote (4 lines)
> I guess you (Ludovic) have tried the installer with QEMU and its
> VNC-Server, maybe even with different VNC-clients?
>

It works with

qemu-system-x86_64 -m 1024 -smp 1 -enable-kvm -drive file=Downloads/guix-system-install-1.0.1.x86_64-linux.iso -vnc :0

as the VNC server and vinagre as the VNC client.

Sadly novnc and guacamole clients are not packaged. I do not know if
your errors are with the server or the client side.

Regards,
Florian
R
R
Robert Vollmert wrote on 25 Jun 2019 19:51
(name . pelzflorian (Florian Pelz))(address . pelzflorian@pelzflorian.de)
EBBC7905-89CD-40CF-948E-01534924D909@vllmrt.net
Toggle quote (19 lines)
> On 25. Jun 2019, at 17:54, pelzflorian (Florian Pelz) <pelzflorian@pelzflorian.de> wrote:
>
> On Tue, Jun 25, 2019 at 05:06:03PM +0200, Björn Höfling wrote:
>> I guess you (Ludovic) have tried the installer with QEMU and its
>> VNC-Server, maybe even with different VNC-clients?
>>
>
> It works with
>
> qemu-system-x86_64 -m 1024 -smp 1 -enable-kvm -drive file=Downloads/guix-system-install-1.0.1.x86_64-linux.iso -vnc :0
>
> as the VNC server and vinagre as the VNC client.
>
> Sadly novnc and guacamole clients are not packaged. I do not know if
> your errors are with the server or the client side.
>
> Regards,
> Florian

I just gave my VPS another try; it turns out I can connect directly
to their VNC server. Using the macos built in VNC client I have the
same problem as before, so it appears to not be a client side issue.

The connection is titled “QEMU (server-specific-stuff)”, so this is
probably also a QEMU VNC server.
Attachment: file
L
L
Ludovic Courtès wrote on 26 Jun 2019 10:50
(name . Björn Höfling)(address . bjoern.hoefling@bjoernhoefling.de)
87o92kk9xh.fsf@gnu.org
Hello,

Björn Höfling <bjoern.hoefling@bjoernhoefling.de> skribis:

Toggle quote (7 lines)
> Guacamole and noVNC have no common roots, AFAIK. So, with a different
> VNC-Software showing the same problems, I decided to re-open this bug,
> though I have no proof that it is really a Guix-Problem. At least
> people who want to install Guix would be annoyed and might run away. As
> Robert said, he didn't experience this with any other Distro, that could
> be a hint we are doing something wrong here.

I agree that this is a problem, I’m trying to see what we could do. :-)
We’re just using “normal” kernel functionality (KMS), so it’s not
obvious to me that Guix itself is doing something wrong. My guess is
that other distros don’t use kmscon and thus don’t trigger this
particular issue.

Toggle quote (3 lines)
> I guess you (Ludovic) have tried the installer with QEMU and its
> VNC-Server, maybe even with different VNC-clients?

I haven’t tried this, but I agree it’d be a good thing to do!

Toggle quote (6 lines)
> We could try different setups in that directions.
>
> We could look extensively at the code with the mode switches and compare
> it with specs about mode-switching? Until now, I have no knowledge in
> that area.

You mean kmscon, right?

Thanks,
Ludo’.
B
B
Björn Höfling wrote on 26 Jun 2019 18:51
(name . pelzflorian (Florian Pelz))(address . pelzflorian@pelzflorian.de)
20190626185141.3e4639de@alma-ubu
On Tue, 25 Jun 2019 17:54:39 +0200
"pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> wrote:

Toggle quote (15 lines)
> On Tue, Jun 25, 2019 at 05:06:03PM +0200, Björn Höfling wrote:
> > I guess you (Ludovic) have tried the installer with QEMU and its
> > VNC-Server, maybe even with different VNC-clients?
> >
>
> It works with
>
> qemu-system-x86_64 -m 1024 -smp 1 -enable-kvm -drive
> file=Downloads/guix-system-install-1.0.1.x86_64-linux.iso -vnc :0
>
> as the VNC server and vinagre as the VNC client.
>
> Sadly novnc and guacamole clients are not packaged. I do not know if
> your errors are with the server or the client side.

I can confirm it works with vinagre, jvncviewer and guacamole.

What's the conclusion? Maybe that Guix is fine and the VNC-clients are
also fine. It might just be a matter of configuration or using an older
version with bugs?

For the record:

I started qemu slightly differently:

qemu-system-x86_64 -monitor stdio -m 1024 -smp 1 -enable-kvm -cdrom guix-system-install-1.0.1.x86_64-linux.iso -vnc :0

In that way, I have the QEMU console in my terminal and I can call the
"system_reset" command: I suspected that the bug would only appear when
the VNC-Client is connected WHILE the installer start up. Usually the
startup would be fast and the VNC-client connects only when the
installer is already visible.

I installed the guacamole daemon via Ubuntu, using Version
0.9.9-2build1.

I used Tomcat 9.0.21 with guacamole-1.0.0.war, setting up a
~/.guacamole folder (called GUACAMOLE_HOME) with these config files:

$ cat guacamole.properties
guacd-hostname=localhost
guacd-port=4822
guacd-ssl=false

$ cat user-mapping.xml
<user-mapping>
<!-- Per-user authentication and config information -->
<authorize username="guix" password="guix">
<protocol>vnc</protocol>
<param name="hostname">localhost</param>
<param name="port">5900</param>
<!--<param name="password">VNCPASS</param>-->
</authorize>
</user-mapping>


Then I can start up tomcat, go to localhost:9999/guacamole, log in
as user "guix" and directly see the CORRECT installer.

When rebooting, I see correctly the grub startup screen, bootup and
I will see the correct installer, no truncations.

I tried the same with client-versions 0.9.10 and 0.9.14: OK.

I built the server in version 0.9.14, I was able to connect the client
with the server, but then nothing happened. Maybe I missed some
configure flag? Gave up here.

Björn

Lemma: It might not be too hard to package guacd. The client might be
harder, as it uses Maven as a build system.
-----BEGIN PGP SIGNATURE-----

iF0EARECAB0WIQQiGUP0np8nb5SZM4K/KGy2WT5f/QUCXROinQAKCRC/KGy2WT5f
/WvhAJwPXbwgPla5N3u4YbEoVjG3xnJfCgCePG/tv/BnNXEl+TPlBGQDUTaoPMY=
=prO4
-----END PGP SIGNATURE-----


R
R
Robert Vollmert wrote on 26 Jun 2019 21:16
(name . Björn Höfling)(address . bjoern.hoefling@bjoernhoefling.de)
6B2A5248-E7B5-4EAB-A27C-5F360443BA74@vllmrt.net
Toggle quote (8 lines)
> On 26. Jun 2019, at 18:51, Björn Höfling <bjoern.hoefling@bjoernhoefling.de> wrote:

> In that way, I have the QEMU console in my terminal and I can call the
> "system_reset" command: I suspected that the bug would only appear when
> the VNC-Client is connected WHILE the installer start up. Usually the
> startup would be fast and the VNC-client connects only when the
> installer is already visible.

It seems I can rule that out. I see the bug also when disconnecting directly
after the grub screen and reconnecting after some time. Similarly, the
screen is still messed up when I disconnect and connect again while the
menu is showing.
P
P
pelzflorian (Florian Pelz) wrote on 26 Jun 2019 22:23
(name . Björn Höfling)(address . bjoern.hoefling@bjoernhoefling.de)
20190626202351.s2km4b4zt7uwdob7@pelzflorian.localdomain
On Wed, Jun 26, 2019 at 06:51:41PM +0200, Björn Höfling wrote:
Toggle quote (5 lines)
> What's the conclusion? Maybe that Guix is fine and the VNC-clients are
> also fine. It might just be a matter of configuration or using an older
> version with bugs?
>

Passing “-vga cirrus” reduces the display size.

The command “man qemu” says:

-vga type
Select type of VGA card to emulate. Valid values for type
are

cirrus
Cirrus Logic GD5446 Video card. All Windows versions
starting from Windows 95 should recognize and use
this graphic card. For optimal performances, use 16
bit color depth in the guest and the host OS. (This
card was the default before QEMU 2.2)

So presumably the VPS is using an old QEMU or passes -vga cirrus.

Regards,
Florian
R
R
Robert Vollmert wrote on 27 Jun 2019 08:34
(name . pelzflorian (Florian Pelz))(address . pelzflorian@pelzflorian.de)
73149751-082E-4EB6-89CB-7E242830BDBF@vllmrt.net
Toggle quote (25 lines)
> On 26. Jun 2019, at 22:23, pelzflorian (Florian Pelz) <pelzflorian@pelzflorian.de> wrote:
>
> On Wed, Jun 26, 2019 at 06:51:41PM +0200, Björn Höfling wrote:
>> What's the conclusion? Maybe that Guix is fine and the VNC-clients are
>> also fine. It might just be a matter of configuration or using an older
>> version with bugs?
>>
>
> Passing “-vga cirrus” reduces the display size.
>
> The command “man qemu” says:
>
> -vga type
> Select type of VGA card to emulate. Valid values for type
> are
>
> cirrus
> Cirrus Logic GD5446 Video card. All Windows versions
> starting from Windows 95 should recognize and use
> this graphic card. For optimal performances, use 16
> bit color depth in the guest and the host OS. (This
> card was the default before QEMU 2.2)
>
> So presumably the VPS is using an old QEMU or passes -vga cirrus.

Great find! Indeed, lspci lists

00:02.0 VGA compatible controller: Cirrus Logic GD 5446

Is this something that could be fixed by including a driver for that
card in the kernel?
B
B
Björn Höfling wrote on 27 Jun 2019 10:27
(name . Robert Vollmert)(address . rob@vllmrt.net)
20190627102741.63268a3a@alma-ubu
On Thu, 27 Jun 2019 08:34:21 +0200
Robert Vollmert <rob@vllmrt.net> wrote:

Toggle quote (5 lines)
> > On 26. Jun 2019, at 22:23, pelzflorian (Florian Pelz)
> > <pelzflorian@pelzflorian.de> wrote:
> >
> > Passing “-vga cirrus” reduces the display size.

[..]

Toggle quote (9 lines)
> > So presumably the VPS is using an old QEMU or passes -vga cirrus.
>
> Great find! Indeed, lspci lists
>
> 00:02.0 VGA compatible controller: Cirrus Logic GD 5446
>
> Is this something that could be fixed by including a driver for that
> card in the kernel?

Yes, good catch! On my server I find the exact same Cirrus Logic driver
with lspci. Furthermore, when starting locally the QEMU-Instance with
the "-vga cirrus" option, viewing the installer through vinagre shows a
cropped scene (screenshot attached).

Björn
-----BEGIN PGP SIGNATURE-----

iF0EARECAB0WIQQiGUP0np8nb5SZM4K/KGy2WT5f/QUCXRR9/gAKCRC/KGy2WT5f
/XL4AKC5+SwWZZWVIzXx0c6YlJ8ESo9+tACgq6lOuIqA3qeB0oMMWR41c3sa6iw=
=Jq/9
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 19 Jul 2019 13:58
(name . Robert Vollmert)(address . rob@vllmrt.net)
87zhlab5hc.fsf@gnu.org
Hello,

Robert Vollmert <rob@vllmrt.net> skribis:

Toggle quote (32 lines)
>> On 26. Jun 2019, at 22:23, pelzflorian (Florian Pelz) <pelzflorian@pelzflorian.de> wrote:
>>
>> On Wed, Jun 26, 2019 at 06:51:41PM +0200, Björn Höfling wrote:
>>> What's the conclusion? Maybe that Guix is fine and the VNC-clients are
>>> also fine. It might just be a matter of configuration or using an older
>>> version with bugs?
>>>
>>
>> Passing “-vga cirrus” reduces the display size.
>>
>> The command “man qemu” says:
>>
>> -vga type
>> Select type of VGA card to emulate. Valid values for type
>> are
>>
>> cirrus
>> Cirrus Logic GD5446 Video card. All Windows versions
>> starting from Windows 95 should recognize and use
>> this graphic card. For optimal performances, use 16
>> bit color depth in the guest and the host OS. (This
>> card was the default before QEMU 2.2)
>>
>> So presumably the VPS is using an old QEMU or passes -vga cirrus.
>
> Great find! Indeed, lspci lists
>
> 00:02.0 VGA compatible controller: Cirrus Logic GD 5446
>
> Is this something that could be fixed by including a driver for that
> card in the kernel?

I suppose so.

Mark, WDYT about adding support for Cirrus VGA cards to the kernel?
What would it take to do so?

Thanks,
Ludo’.
M
M
Mark H Weaver wrote on 19 Jul 2019 18:37
(name . Ludovic Courtès)(address . ludo@gnu.org)
87a7danfos.fsf@netris.org
Hi,

Ludovic Courtès <ludo@gnu.org> wrote:

Toggle quote (39 lines)
> Robert Vollmert <rob@vllmrt.net> skribis:
>
>>> On 26. Jun 2019, at 22:23, pelzflorian (Florian Pelz) <pelzflorian@pelzflorian.de> wrote:
>>>
>>> On Wed, Jun 26, 2019 at 06:51:41PM +0200, Björn Höfling wrote:
>>>> What's the conclusion? Maybe that Guix is fine and the VNC-clients are
>>>> also fine. It might just be a matter of configuration or using an older
>>>> version with bugs?
>>>>
>>>
>>> Passing “-vga cirrus” reduces the display size.
>>>
>>> The command “man qemu” says:
>>>
>>> -vga type
>>> Select type of VGA card to emulate. Valid values for type
>>> are
>>>
>>> cirrus
>>> Cirrus Logic GD5446 Video card. All Windows versions
>>> starting from Windows 95 should recognize and use
>>> this graphic card. For optimal performances, use 16
>>> bit color depth in the guest and the host OS. (This
>>> card was the default before QEMU 2.2)
>>>
>>> So presumably the VPS is using an old QEMU or passes -vga cirrus.
>>
>> Great find! Indeed, lspci lists
>>
>> 00:02.0 VGA compatible controller: Cirrus Logic GD 5446
>>
>> Is this something that could be fixed by including a driver for that
>> card in the kernel?
>
> I suppose so.
>
> Mark, WDYT about adding support for Cirrus VGA cards to the kernel?
> What would it take to do so?

I know of two kernel configuration options for Cirrus video cards:

CONFIG_DRM_CIRRUS_QEMU: Cirrus driver for QEMU emulated device
CONFIG_FB_CIRRUS: Cirrus Logic support

CONFIG_DRM_CIRRUS_QEMU is enabled as a module in all of our
configurations except for 5.2-arm-veyron.conf. CONFIG_FB_CIRRUS is
enabled as a module in all of our x86_64 and i686 configurations.

Is there something else I've overlooked?

Thanks,
Mark
L
L
Ludovic Courtès wrote on 20 Jul 2019 15:47
(name . Mark H Weaver)(address . mhw@netris.org)
87pnm495t3.fsf@gnu.org
Hi Mark,

Mark H Weaver <mhw@netris.org> skribis:

Toggle quote (4 lines)
> Ludovic Courtès <ludo@gnu.org> wrote:
>
>> Robert Vollmert <rob@vllmrt.net> skribis:

[...]

Toggle quote (23 lines)
>>> Great find! Indeed, lspci lists
>>>
>>> 00:02.0 VGA compatible controller: Cirrus Logic GD 5446
>>>
>>> Is this something that could be fixed by including a driver for that
>>> card in the kernel?
>>
>> I suppose so.
>>
>> Mark, WDYT about adding support for Cirrus VGA cards to the kernel?
>> What would it take to do so?
>
> I know of two kernel configuration options for Cirrus video cards:
>
> CONFIG_DRM_CIRRUS_QEMU: Cirrus driver for QEMU emulated device
> CONFIG_FB_CIRRUS: Cirrus Logic support
>
> CONFIG_DRM_CIRRUS_QEMU is enabled as a module in all of our
> configurations except for 5.2-arm-veyron.conf. CONFIG_FB_CIRRUS is
> enabled as a module in all of our x86_64 and i686 configurations.
>
> Is there something else I've overlooked?

Oh, I see.

Robert and Björn, could you check if adding the ‘cirrus’ and possibly
the ‘cirrusfb’ module(s) to ‘initrd-modules’ in the image you run at
your VPS solves the issue?

TIA,
Ludo’.
R
R
Robert Vollmert wrote on 20 Jul 2019 17:17
(name . Ludovic Courtès)(address . ludo@gnu.org)
7F8DEC16-76B6-483B-A657-D9E30B46F779@vllmrt.net
Toggle quote (41 lines)
> On 20. Jul 2019, at 15:47, Ludovic Courtès <ludo@gnu.org> wrote:
>
> Hi Mark,
>
> Mark H Weaver <mhw@netris.org> skribis:
>
>> Ludovic Courtès <ludo@gnu.org> wrote:
>>
>>> Robert Vollmert <rob@vllmrt.net> skribis:
>
> [...]
>
>>>> Great find! Indeed, lspci lists
>>>>
>>>> 00:02.0 VGA compatible controller: Cirrus Logic GD 5446
>>>>
>>>> Is this something that could be fixed by including a driver for that
>>>> card in the kernel?
>>>
>>> I suppose so.
>>>
>>> Mark, WDYT about adding support for Cirrus VGA cards to the kernel?
>>> What would it take to do so?
>>
>> I know of two kernel configuration options for Cirrus video cards:
>>
>> CONFIG_DRM_CIRRUS_QEMU: Cirrus driver for QEMU emulated device
>> CONFIG_FB_CIRRUS: Cirrus Logic support
>>
>> CONFIG_DRM_CIRRUS_QEMU is enabled as a module in all of our
>> configurations except for 5.2-arm-veyron.conf. CONFIG_FB_CIRRUS is
>> enabled as a module in all of our x86_64 and i686 configurations.
>>
>> Is there something else I've overlooked?
>
> Oh, I see.
>
> Robert and Björn, could you check if adding the ‘cirrus’ and possibly
> the ‘cirrusfb’ module(s) to ‘initrd-modules’ in the image you run at
> your VPS solves the issue?

It would need to be added to the installer. Is there a way to add it
via grub command line? Alternatively, is there a way to test this from
a regular guix system console?

(I’m not sure to what extent I’ll be able to do that — my VPS is now
serving “important” things. Note that the bug is reproducible on QEMU
by passing “-vga cirrus”.)
B
B
Björn Höfling wrote on 22 Jul 2019 11:25
(name . Robert Vollmert)(address . rob@vllmrt.net)
20190722112518.46e817d0@alma-ubu
On Sat, 20 Jul 2019 17:17:21 +0200
Robert Vollmert <rob@vllmrt.net> wrote:

Toggle quote (12 lines)
> > Robert and Björn, could you check if adding the ‘cirrus’ and
> > possibly the ‘cirrusfb’ module(s) to ‘initrd-modules’ in the image
> > you run at your VPS solves the issue?
>
> It would need to be added to the installer. Is there a way to add it
> via grub command line? Alternatively, is there a way to test this from
> a regular guix system console?
>
> (I’m not sure to what extent I’ll be able to do that — my VPS is now
> serving “important” things. Note that the bug is reproducible on QEMU
> by passing “-vga cirrus”.)

Hi Robert,

it is possible to create your own installation-image from sources. If
you are not familar with, check the manual on how to build Guix from
source. Then I did and can confirm locally:

qemu-system-x86_64 -vga cirrus -monitor stdio -m 1024 -smp 1 -enable-kvm -vnc :0 -cdrom /home/bjoern/qemu/installer2/guix-system-install-1.0.1.x86_64-linux.iso

This looks expectedly distorted.

On commit (without any changes):

59f79254bbd2cfe31dd063a6949f94e09308e799

I created the installation image:

[env]$ ./pre-inst-env guix system disk-image --file-system-type=iso9660 gnu/system/install.scm
[..]
/gnu/store/dp9yj0kv20hzwj70b0qkw2yn9vd2h6s4-image.iso

Starting it in QEMU:

qemu-system-x86_64 -vga cirrus -monitor stdio -m 1024 -smp 1 -enable-kvm -vnc :0 -cdrom /gnu/store/dp9yj0kv20hzwj70b0qkw2yn9vd2h6s4-image.iso

This still has the too small view on the installer.

Then I changed the installer code to add the modules:

[env]$ git diff | more
Toggle diff (28 lines)
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 912096027f..3e692a5bdc 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -428,6 +428,8 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m
(target "/dev/sda")))
(label (string-append "GNU Guix installation "
(package-version guix)))
+ (initrd-modules (append (list "cirrus" "cirrusfb")
+ %base-initrd-modules))
;; XXX: The AMD Radeon driver is reportedly broken, which makes kmscon
;; non-functional:


Starting the newly built image:

qemu-system-x86_64 -vga cirrus -monitor stdio -m 1024 -smp 1 -enable-kvm -vnc :0 -cdrom /gnu/store/jxpfiagfscrvzjahixa8cx67c9pbqcka-image.iso

And this looks good now :-)

What I haven't done yet:

1. Use only "cirrus"
2. Use only "cirrusfb"
3. Try it out on my VPS.

Björn
-----BEGIN PGP SIGNATURE-----

iF0EARECAB0WIQQiGUP0np8nb5SZM4K/KGy2WT5f/QUCXTWA/wAKCRC/KGy2WT5f
/YzsAJ9KyapHCujrfnhiU0k6laquwxItjQCgrY7eF7KKPtGUCTSDqzv0jF4o2tw=
=xEub
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 22 Jul 2019 12:25
(name . Björn Höfling)(address . bjoern.hoefling@bjoernhoefling.de)
87ef2i4b93.fsf@gnu.org
Hello!

Björn Höfling <bjoern.hoefling@bjoernhoefling.de> skribis:

Toggle quote (22 lines)
> [env]$ git diff | more
> diff --git a/gnu/system/install.scm b/gnu/system/install.scm
> index 912096027f..3e692a5bdc 100644
> --- a/gnu/system/install.scm
> +++ b/gnu/system/install.scm
> @@ -428,6 +428,8 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m
> (target "/dev/sda")))
> (label (string-append "GNU Guix installation "
> (package-version guix)))
> + (initrd-modules (append (list "cirrus" "cirrusfb")
> + %base-initrd-modules))
>
> ;; XXX: The AMD Radeon driver is reportedly broken, which makes kmscon
> ;; non-functional:
>
>
> Starting the newly built image:
>
> qemu-system-x86_64 -vga cirrus -monitor stdio -m 1024 -smp 1 -enable-kvm -vnc :0 -cdrom /gnu/store/jxpfiagfscrvzjahixa8cx67c9pbqcka-image.iso
>
> And this looks good now :-)

Awesome!

Toggle quote (6 lines)
> What I haven't done yet:
>
> 1. Use only "cirrus"
> 2. Use only "cirrusfb"
> 3. Try it out on my VPS.

Please let us know when you have feedback on these so we can add just
the module that makes sense.

Thank you!

Ludo’.
B
B
Björn Höfling wrote on 2 Sep 2019 15:10
(name . Ludovic Courtès)(address . ludo@gnu.org)
20190902151057.239cd332@alma-ubu
On Mon, 22 Jul 2019 12:25:12 +0200
Ludovic Courtès <ludo@gnu.org> wrote:

Toggle quote (14 lines)
> Hello!
>
> Björn Höfling <bjoern.hoefling@bjoernhoefling.de> skribis:

> > What I haven't done yet:
> >
> > 1. Use only "cirrus"
> > 2. Use only "cirrusfb"
> > 3. Try it out on my VPS.
>
> Please let us know when you have feedback on these so we can add just
> the module that makes sense.


I tried all three combinations and all work with qemu:

1. (initrd-modules (append (list "cirrus" "cirrusfb")
2. (initrd-modules (append (list "cirrusfb")
3. (initrd-modules (append (list "cirrus")

I tried the version with "cirrus" on my VPS and it worked there too.

When I read the comments in the drivers, it looks like the "cirrus" is
implemented for qemu:


That's the result of my tests. I know too few about kernels/drivers to
really decide what the best would be here.

Ludo or Mark, could one of you go on further from here?

Thanks,

Björn
-----BEGIN PGP SIGNATURE-----

iF0EARECAB0WIQQiGUP0np8nb5SZM4K/KGy2WT5f/QUCXW0U4gAKCRC/KGy2WT5f
/dR/AKCAK9kZ18on5txuIjo+clnfiD9DUACgmj1qM6ZicZKd17a5NPe6VzE1RLU=
=hWGw
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 16 Sep 2019 10:00
(name . Björn Höfling)(address . bjoern.hoefling@bjoernhoefling.de)
87zhj4eklm.fsf@gnu.org
Hello Björn,

Björn Höfling <bjoern.hoefling@bjoernhoefling.de> skribis:

Toggle quote (25 lines)
> On Mon, 22 Jul 2019 12:25:12 +0200
> Ludovic Courtès <ludo@gnu.org> wrote:
>
>> Hello!
>>
>> Björn Höfling <bjoern.hoefling@bjoernhoefling.de> skribis:
>
>> > What I haven't done yet:
>> >
>> > 1. Use only "cirrus"
>> > 2. Use only "cirrusfb"
>> > 3. Try it out on my VPS.
>>
>> Please let us know when you have feedback on these so we can add just
>> the module that makes sense.
>
>
> I tried all three combinations and all work with qemu:
>
> 1. (initrd-modules (append (list "cirrus" "cirrusfb")
> 2. (initrd-modules (append (list "cirrusfb")
> 3. (initrd-modules (append (list "cirrus")
>
> I tried the version with "cirrus" on my VPS and it worked there too.

Cool, thanks for testing.

One easy thing we can do is to arrange so that ‘guix system vm{,-image}’
always include this module in the initrd. I believe that would address
your use case, right?

Patch below.

Thanks,
Ludo’.
Toggle diff (15 lines)
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index ac6e4ded92..73d9b2c0c1 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -850,6 +850,11 @@ environment with the store shared with the host. MAPPINGS is a list of
#:volatile-root? #t
rest)))
+ ;; VPS sometimes expect the "cirrus" graphics driver to be available when
+ ;; the VM is accessed with noVNC; see <https://bugs.gnu.org/36069>.
+ (initrd-modules (cons "cirrus"
+ (operating-system-initrd-modules os)))
+
;; Disable swap.
(swap-devices '())
?