[ { type: install message: <<EOM VirtualBox was installed. You need to load the vboxdrv kernel module via /boot/loader.conf: vboxdrv_load="YES" You also have to add all users to your vboxusers group in order to use vbox. % pw groupmod vboxusers -m jerry Reboot the machine to load the needed kernel modules. Bridging Support: ================= For bridged networking please add the following line to your /etc/rc.conf: vboxnet_enable="YES" USB Support: ============ For USB support your user needs to be in the operator group and needs read and write permissions to the USB device. % pw groupmod operator -m jerry Add the following to /etc/devfs.rules (create if it doesn't exist): [system=10] add path 'usb/*' mode 0660 group operator To load these new rule add the following to /etc/rc.conf: devfs_system_ruleset="system" Then restart devfs to load the new rules: % /etc/rc.d/devfs restart Troubleshooting: ================ Running VirtualBox as non-root user may fail with a fatal error NS_ERROR_FACTORY_NOT_REGISTERED. In this case delete /tmp/.vbox-*-ipc file. If you experience "Network: write Failed: Cannot allocate memory" errors try to increase net.graph.maxdata in /boot/loader.conf If you are using AIO, then increase these limits (https://bugs.freebsd.org/168298): vfs.aio.max_buf_aio=8192 vfs.aio.max_aio_queue_per_proc=65536 vfs.aio.max_aio_per_proc=8192 vfs.aio.max_aio_queue=65536 To check if AIO is used use: kldstat -v | grep aio If you are experiencing VMs freezes with an error in VBox.log such as: " 00:01:29.590192 AssertLogRel /usr/ports/emulators/virtualbox-ose/work/VirtualBox-6.1.44 /src/VBox/VMM/VMMR3/PGMPhys.cpp(5148) int PGMR3PhysAllocateHandyPages(PVM): RT_SUCCESS(rc) 00:01:29.590221 87/128: idPage=0x3d400 HCPhysGCPhys=000000027eaed000 rc=VERR_NO_MEMORY 00:01:29.590247 Changing the VM state from 'RUNNING' to 'GURU_MEDITATION' 00:01:29.590261 Console: Machine state changed to 'GuruMeditation' 00:01:29.590695 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 00:01:29.590696 !! 00:01:29.590697 !! VCPU0: Guru Meditation -8 (VERR_NO_MEMORY) " and see a lot of free RAM, then increase sysctl vm.max_user_wired (https://bugs.freebsd.org/252227). For dedicated VM servers, a good start is: ("RAM in GB" - max(1, "RAM in GB" / 32)) * 1024*1024*1024 / PAGE_SIZE PAGE_SIZE on x86 is 4096. Examples with different RAM sizes in GB: 16: ( 16-max(1, 16/32)*1024*1024*1024/4096 = 3932160 => 15GB 32: ( 32-max(1, 32/32)*1024*1024*1024/4096 = 8126464 => 31GB 48: ( 48-max(1, 48/32)*1024*1024*1024/4096 = 12189696 => 46.5GB 64: ( 64-max(1, 64/32)*1024*1024*1024/4096 = 16252928 => 62GB 128: (128-max(1,128/32)*1024*1024*1024/4096 = 32505856 => 124GB 256: (256-max(1,256/32)*1024*1024*1024/4096 = 65011712 => 248GB When assigning IP addresses in host-only mode from ranges outside of VirtualBox's defaults, the respective ranges need to be listed in %%VBOX_ETC%%/networks.conf (https://bugs.freebsd.org/259399). Check the wiki page for known issues and troubleshooting: https://wiki.freebsd.org/VirtualBox Please report any problems to emulation@. Thanks! EOM } { type: upgrade maximum_version: 6.1.22 message: <<EOM The PULSEAUDIO option has been forcibly disabled since VirtualBox version 6.1.24 due to a bug in it preventing virtual machines configured to use it from starting. When upgrading from a previous version please reconfigure any virtual machines using the Pulseaudio host audio driver to use another supported one. EOM } { type: upgrade minimum_version: 6.1.26 maximum_version: 6.1.32_1 message: <<EOM To comply to hier(7) requirements, networks.conf's location changed to %%VBOX_ETC%%/networks.conf. In case /etc/vbox/networks.conf exists, it needs to be moved to %%VBOX_ETC%% and /etc/vbox should be deleted. EOM } ]