OS-6630: bhyve should support vnc

Details

Issue Type:Improvement
Priority:4 - Normal
Status:Resolved
Created at:2018-02-15T14:47:16.202Z
Updated at:2018-06-20T17:21:33.798Z

People

Created by:Mike Gerdts [X]
Reported by:Mike Gerdts [X]
Assigned to:Mike Gerdts [X]

Resolution

Fixed: A fix for this issue is checked into the tree and tested.
(Resolution Date: 2018-05-14T21:55:25.968Z)

Fix Versions

2018-05-24 Sector 7 (Release Date: 2018-05-24)

Related Issues

Related Links

Labels

bhyve

Description

andyf reports that in OmniOS the vnc console works with

-s 5,fbuf,vga=off,rfb=10.0.0.111:5900

To get this to work with the bhyve brand we will need to connect to a unix domain socket and proxy it out of the zone.

Comments

Comment by Mike Gerdts [X]
Created at 2018-04-26T20:31:46.637Z

bhyve(8) says vga=off should be used with uefi guests.  It looks like we need vga=on, which leads to a SEGV at:

fffffc7fed5ffc00 pci_fbuf_write+0x8c(66a5c0, 0, 67c180, 0, 4, 2)
fffffc7fed5ffca0 pci_emul_mem_handler+0x19d(66a5c0, 0, 2, c0000404, 2, fffffc7fed5ffcc8)
fffffc7fed5ffd00 mem_write+0x47(66a5c0, 0, c0000404, 320, 2, 67d0f0)
fffffc7fed5ffd90 emulate_mov+0xb2(66a5c0, 0, c0000404, 461148, 41f5c0, 41f610)
fffffc7fed5ffde0 vmm_emulate_instruction+0x6c(66a5c0, 0, c0000404, 461148, 461130, 41f5c0)
fffffc7fed5ffe80 emulate_mem+0x11c(66a5c0, 0, c0000404, 461148, 461130)
fffffc7fed5ffee0 vmexit_inst_emul+0x48(66a5c0, 461100, fffffc7fed5ffefc)
fffffc7fed5fff60 vm_loop+0xcf(66a5c0, 0, fff0)
fffffc7fed5fffb0 fbsdrun_start_thread+0x4f(665380)
fffffc7fed5fffe0 libc.so.1`_thrp_setup+0x8a(fffffc7fef114240)
fffffc7fed5ffff0 libc.so.1`_lwp_start()

By adding the wait option, there's a flash of output before grub starts to load. If bhyve is started without a disk, the uefi shell works fine via vnc with vga=off.


Comment by Mike Gerdts [X]
Created at 2018-04-27T15:26:59.432Z

Things are not all that rosy with FreeBSD or SmartOS. In particular, vnc + uefi_csm is a broken combination everywhere. Details in a spreadsheet. A snapshot of that spreadsheet is attached.
[^bhyve vnc.pdf]


Comment by Mike Gerdts [X]
Created at 2018-05-14T19:10:25.048Z
Updated at 2018-05-14T20:43:43.544Z

The fix for this ticket include:

This fix does not address problems with csm firmware with vnc. In particular, this means that this fix is only useful with an image that boots via uefi and with non-CSM uefi firmware.

Tests:


Comment by Jira Bot
Created at 2018-05-14T21:46:59.092Z

illumos-joyent commit 5f7e4160c0e83ee07bed904fb119988351eac739 (branch master, by Mike Gerdts)

OS-6630 bhyve should support vnc
Reviewed by: Jorge Schrauwen <sjorge@blackdot.be>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Approved by: Jerry Jelinek <jerry.jelinek@joyent.com>


Comment by Jira Bot
Created at 2018-05-14T21:55:21.138Z

smartos-live commit 012e0c245eb6c4255215e302a376b4a358a53e6f (branch master, by Mike Gerdts)

OS-6630 bhyve should support vnc
Reviewed by: Jorge Schrauwen <sjorge@blackdot.be>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Josh Wilsdon <jwilsdon@joyent.com>
Approved by: Josh Wilsdon <jwilsdon@joyent.com>


Comment by Jira Bot
Created at 2018-05-16T20:41:16.513Z

smartos-live commit bf116697c55c7c6a199782252f179f90b34a7072 (branch master, by Mike Gerdts)

OS-6958 bad comparison introduced with OS-6630
Reviewed by: John Levon <john.levon@joyent.com>
Reviewed by: Josh Wilsdon <jwilsdon@joyent.com>
Approved by: Josh Wilsdon <jwilsdon@joyent.com>