On Wed, Nov 19, 2025 at 06:54:26PM +0100, Roman Bogorodskiy wrote:
Bhyve supports the 'wait' option for the VNC device configuration. When enabled, VM boots only upon a VNC connection.Sample device configuration looks like this: -s 29,fbuf,tcp=0.0.0.0:5900,w=800,h=600,wait Signed-off-by: Roman Bogorodskiy <[email protected]> --- src/bhyve/bhyve_command.c | 3 ++ .../bhyvexml2argv-vnc-wait-no.args | 13 ++++++ .../bhyvexml2argv-vnc-wait-no.ldargs | 1 + .../bhyvexml2argv-vnc-wait-no.xml | 26 +++++++++++ .../bhyvexml2argv-vnc-wait.args | 13 ++++++ .../bhyvexml2argv-vnc-wait.ldargs | 1 + .../bhyvexml2argv-vnc-wait.xml | 26 +++++++++++ tests/bhyvexml2argvtest.c | 2 + .../bhyvexml2xmlout-vnc-wait-no.xml | 44 +++++++++++++++++++ .../bhyvexml2xmlout-vnc-wait.xml | 44 +++++++++++++++++++ tests/bhyvexml2xmltest.c | 2 + 11 files changed, 175 insertions(+) create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait-no.args create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait-no.ldargs create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait-no.xml create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait.args create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait.ldargs create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait.xml create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc-wait-no.xml create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc-wait.xml diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c index 8bfd5a6f93..057715102e 100644 --- a/src/bhyve/bhyve_command.c +++ b/src/bhyve/bhyve_command.c @@ -651,6 +651,9 @@ bhyveBuildGraphicsArgStr(const virDomainDef *def, virBufferAsprintf(&opt, ",vga=%s", virDomainVideoVGAConfTypeToString(video->driver->vgaconf)); + if (graphics->data.vnc.wait)
If you agree with my suggestion from PATCH 1/2, this should be changed to: `if (graphics->data.vnc.wait != VIR_TRISTATE_BOOL_YES)` But if you don't (which also makes sense since bhyve only has a way to enable the wait and not explicitly disable it) then PATCH 1/2 needs an adjustment. To elaborate on this a bit, using any tristate gives us the ability to keep some setting around even when it is the default, just in case it changes in the future or the default is different in some other driver. Since both of the scenarios are highly unlikely with respect to VNC server's `wait` parameter, I guess I am fine with both. Either way, if adjusted along with tests: Reviewed-by: Martin Kletzander <[email protected]>
diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc-wait-no.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc-wait-no.xml new file mode 100644 index 0000000000..58e71282e7 --- /dev/null +++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc-wait-no.xml @@ -0,0 +1,44 @@
[...]
+ <graphics type='vnc' port='5904' autoport='no' listen='127.0.0.1'>
See ^^ =)
signature.asc
Description: PGP signature
