I wanted to install a recent Windows Server version in a bhyve zone, but mouse and keyboard doesn't works in recent Windows versions. LPC is already 31.
Windows 2025 +updates till february 2026: mouse : keyboard doesn't works.
Windows 2022 +updates till february 2026: mouse : keyboard doesn't works.
Windows 2019 : works just fine
It seems BHyve emulates a PS2 mouse + keyboard. Can this be the culprit?
SunOS omnios 5.11 omnios-r151056-1acbca4f5bd i86pc i386 i86pc
Zone config in zadm, where I have attempted to add the "xhci-mouse" node as I have seen in a FreeBSD forum. I think it didn't helps.
acpi="on"
autoboot="false"
bootargs=""
bootrom="BHYVE"
brand="bhyve"
cloud-init="off"
diskif="ahci-hd"
fs-allowed=""
hostbridge="q35"
hostid=""
ip-type="exclusive"
limitpriv="default"
netif="virtio-net"
pool=""
ram="2G"
rng="off"
scheduling-class=""
type="windows"
uefivars="on"
vcpus="1"
xhci="off"
zonename="windows"
zonepath="/zones/windows"
bootorder=[
"cd",
]
cdrom=[
"/mnt/torrent/complete/2026_microsoft_windows_updated_feb/hu-hu_windows_server_2022_updated_feb_2026_x64_dvd_09efea0d.iso",
"/zones/iso/virtio-win.iso",
]
extra=[
"-w",
]
resolvers=[
"10.0.0.2",
"10.0.0.1",
]
[[attr]]
name="xhci-mouse"
type="string"
value="yes"
[[disk]]
blocksize="8K"
path="tank/zones/windows/root"
size="60G"
sparse="false"
[[net]]
allowed-address="10.0.0.13/24"
defrouter="10.0.0.1"
global-nic="e1000g0"
mac-addr="2:8:20:3f:85:9"
physical="z_windows0"
[vnc]
enabled="on"
root@omnios:~# cat /zones/windows/log/zone.log
[Thu Mar 5 15:51:22 CET 2026] Creating VNIC z_windows0/e1000g0 (mac: 2:8:20:3f:85:9, vlan: -)
[Thu Mar 5 15:51:22 CET 2026] BHYVE support z=windows p=/zones/windows c=poststate 2:0
[Thu Mar 5 15:51:22 CET 2026] BHYVE support z=windows p=/zones/windows c=prestate 2:1
INFO:root:Zone name: windows
DEBUG:root:Found custom acpi attribute - "on"
DEBUG:root:Found custom bootorder attribute - "cd"
DEBUG:root: Alias expanded to path0,bootdisk,cdrom0
DEBUG:root:Found custom bootrom attribute - "BHYVE"
DEBUG:root:Found custom cloud-init attribute - "off"
DEBUG:root:Found custom diskif attribute - "ahci-hd"
DEBUG:root:Found custom hostbridge attribute - "q35"
DEBUG:root:Found custom netif attribute - "virtio-net"
DEBUG:root:Found custom ram attribute - "2G"
DEBUG:root:Found custom rng attribute - "off"
DEBUG:root:Found custom type attribute - "windows"
DEBUG:root:Found custom uefivars attribute - "on"
DEBUG:root:Found custom vcpus attribute - "1"
DEBUG:root:Found custom vnc attribute - "on"
DEBUG:root: Alias expanded to unix=/tmp/vm.vnc
DEBUG:root:Found custom xhci attribute - "off"
INFO:root:Adjusting LPC PCI slot for windows
DEBUG:root:Final bootrom: /usr/share/bhyve/firmware/BHYVE.fd
INFO:root:Read zone UUID: 65cd9329-a487-44c1-b43f-e6d3b5cb0def
DEBUG:root:Final uuid: 65cd9329-a487-44c1-b43f-e6d3b5cb0def
DEBUG:root:cdrom list:
{0: '/mnt/torrent/complete/2026_microsoft_windows_updated_feb/hu-hu_windows_server_2022_updated_feb_2026_x64_dvd_09efea0d.iso',
1: '/zones/iso/virtio-win.iso'}
DEBUG:root:disk list:
{0: 'tank/zones/windows/root'}
DEBUG:root:ppt list:
{}
DEBUG:root:virtfs list:
{}
DEBUG:root:extra list:
{0: '-w'}
DEBUG:root:Final bootoptions:
{'cdrom': ('pci', '3.0'),
'cdrom0': ('pci', '3.0'),
'cdrom1': ('pci', '3.1'),
'disk': ('pci', '5.0'),
'disk0': ('pci', '5.0'),
'net': ('pci', '6.0'),
'net0': ('pci', '6.0'),
'shell': ('app', '7c04a583-9e3e-4f1c-ad65-e05268d0b4d1')}
DEBUG:root:Boot0001 - ('pci', '3.0')
DEBUG:root:Boot0002 - ('pci', '3.1')
DEBUG:root:Boot0003 - ('pci', '5.0')
DEBUG:root:Boot0004 - ('app', '7c04a583-9e3e-4f1c-ad65-e05268d0b4d1')
DEBUG:root:Boot0005 - ('path', '\\EFI\\Microsoft\\Boot\\bootmgfw.efi')
DEBUG:root:-----------
DEBUG:root:('pci', '3.0') -> Boot0001
DEBUG:root:('pci', '3.1') -> Boot0002
DEBUG:root:('pci', '5.0') -> Boot0003
DEBUG:root:('app', '7c04a583-9e3e-4f1c-ad65-e05268d0b4d1') -> Boot0004
DEBUG:root:('path', '\\EFI\\Microsoft\\Boot\\bootmgfw.efi') -> Boot0005
DEBUG:root:('boot', 1) -> Boot0001
DEBUG:root:('boot', 2) -> Boot0002
DEBUG:root:('boot', 3) -> Boot0003
DEBUG:root:('boot', 4) -> Boot0004
DEBUG:root:('boot', 5) -> Boot0005
DEBUG:root:('path',) -> Boot0005
DEBUG:root:('path', 0) -> Boot0005
DEBUG:root:For requested bootorder path0,bootdisk,cdrom0
DEBUG:root:... setting to: [('path', 0), ('pci', '3.0')]
DEBUG:root:Final arguments:
['/usr/sbin/bhyve',
'-U',
'65cd9329-a487-44c1-b43f-e6d3b5cb0def',
'-H',
'-B',
'1,manufacturer=OmniOS,product=OmniOS '
'HVM,version=1.0,serial=65cd9329-a487-44c1-b43f-e6d3b5cb0def,sku=001,family=Virtual '
'Machine',
'-c',
'1',
'-m',
'2G',
'-l',
'bootrom,/usr/share/bhyve/firmware/BHYVE.fd,/etc/uefivars',
'-s',
'0,hostbridge,model=q35',
'-s',
'31,lpc',
'-l',
'com1,/dev/zconsole',
'-s',
'3:0,ahci-cd,/mnt/torrent/complete/2026_microsoft_windows_updated_feb/hu-hu_windows_server_2022_updated_feb_2026_x64_dvd_09efea0d.iso,ro',
'-s',
'3:1,ahci-cd,/zones/iso/virtio-win.iso,ro',
'-s',
'5:0,ahci-hd,/dev/zvol/rdsk/tank/zones/windows/root',
'-s',
'6:0,virtio-net,z_windows0',
'-s',
'30:0,fbuf,vga=off,unix=/tmp/vm.vnc',
'-w',
'-o',
'config.dump=1',
'windows']
INFO:root:/usr/sbin/bhyve -U 65cd9329-a487-44c1-b43f-e6d3b5cb0def -H -B "1,manufacturer=OmniOS,product=OmniOS HVM,version=1.0,serial=65cd9329-a487-44c1-b43f-e6d3b5cb0def,sku=001,family=Virtual Machine" -c 1 -m 2G -l bootrom,/usr/share/bhyve/firmware/BHYVE.fd,/etc/uefivars -s 0,hostbridge,model=q35 -s 31,lpc -l com1,/dev/zconsole -s 3:0,ahci-cd,/mnt/torrent/complete/2026_microsoft_windows_updated_feb/hu-hu_windows_server_2022_updated_feb_2026_x64_dvd_09efea0d.iso,ro -s 3:1,ahci-cd,/zones/iso/virtio-win.iso,ro -s 5:0,ahci-hd,/dev/zvol/rdsk/tank/zones/windows/root -s 6:0,virtio-net,z_windows0 -s 30:0,fbuf,vga=off,unix=/tmp/vm.vnc -w -o config.dump=1 windows
DEBUG:root:Created temporary file at /zones/windows/root/etc/bhyve.0tc_3llt
INFO:root:Successfully created /zones/windows/root/etc/bhyve.cfg
[Thu Mar 5 15:51:22 CET 2026] BHYVE support z=windows p=/zones/windows c=poststate 2:1
Hi,
I wanted to install a recent Windows Server version in a bhyve zone, but mouse and keyboard doesn't works in recent Windows versions. LPC is already 31.
Versions I have tested:
It seems BHyve emulates a PS2 mouse + keyboard. Can this be the culprit?
OS:
Zone config in zadm, where I have attempted to add the "xhci-mouse" node as I have seen in a FreeBSD forum. I think it didn't helps.
Zone log: