Project

General

Profile

Actions

Feature #14495

closed

bhyve VNC server should support alternate pixel formats

Added by Andy Fiddaman 8 months ago. Updated 5 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
bhyve
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:
External Bug:

Description

The popular novnc (https://github.com/novnc/noVNC) client switches to a different pixel format after connection in order to reduce load on the client which is running in a browser.
The bhyve VNC server ignores this and just continues to use its default format, resulting in colours being shifted (quite a pleasing affect - see below - but not what people generally want)


Files

clipboard-202202101409-y1ys3.png (1.38 MB) clipboard-202202101409-y1ys3.png Andy Fiddaman, 2022-02-10 02:09 PM
Actions #1

Updated by Electric Monk 7 months ago

  • Gerrit CR set to 2030
Actions #2

Updated by Andy Fiddaman 5 months ago

This change has been in OmniOS bloody for two months now, being exercised with a variety of VMs and VNC clients. I have personally tested the following clients
(the protocol version is shown, along with whether the client opted for raw or zlib compression and whether it supported extended keyboard events). I predominantly tested these with a Windows VM.

  • TightVNC RFB 003.008 raw
  • UltraVNC RFB 003.008 zlib
  • TigerVNC RFB 003.008 raw QEMU ext kevent
  • noVNC RFB 003.008 raw RGBx pixmap QEMU ext kevent
  • noVNC 1.2 RFB 003.008 raw QEMU ext kevent
  • Macos SS RFB 003.003 zlib
  • Android VNCViewer RFB 003.008 zlib
Actions #3

Updated by Andy Fiddaman 5 months ago

Mike Zeller has also tested this as part of reviewing and said:

I built and tested these bits by booting into a gate onu. I confirmed that I am able to connect to VNC with/without a password and that the wait feature works. Also confirmed that I was able to connect from the MacOS "Screen Sharing" app.

Actions #4

Updated by Electric Monk 5 months ago

  • Status changed from In Progress to Closed
  • % Done changed from 0 to 100

git commit 1aa1f41fe10c6220a7fbef328fac1b72a8355a01

commit  1aa1f41fe10c6220a7fbef328fac1b72a8355a01
Author: Andy Fiddaman <omnios@citrus-it.co.uk>
Date:   2022-04-23T11:02:39.000Z

    14495 bhyve VNC server should support alternate pixel formats
    14494 bhyve VNC server could support multiple connections
    14505 libumem's umem_update thread could be named
    14506 libidspace does not expose id_allocff()
    14640 bhyve VNC authentication fails with openssl3
    Reviewed by: Jason King <jason.brian.king+illumos@gmail.com>
    Reviewed by: Michael Zeller <mike@mikezeller.net>
    Approved by: Robert Mustacchi <rm@fingolfin.org>

Actions

Also available in: Atom PDF