Skip to the content.

All changes

Generated from git by docs/_tools/gen-changes.sh against origin/main. One row per feature branch that is merged into the integration branch. Planned for upstream means the change is written up as a stand-alone contribution that will be sent to VirtualBox; local means it stays in this fork.

Speed on Hyper-V (NEM) hosts

Branch What it does Status
nem-hv-delivers-ints VMM/NEM/win: Let Hyper-V deliver the APIC and PIC interrupts Planned for upstream
nem-win-x2apic VMM/NEM/win: Keep the x2APIC mode when VirtualBox emulates the APIC Planned for upstream
nem-msr-exit-import VMM/NEM/win: Make guest MSR exits cheaper Planned for upstream
vmm-halt-poll VMM: Poll briefly for a wake-up before a halted EMT blocks (halt polling) Planned for upstream
gim-kvm-pv-eoi VMM/GIM/KVM: Offer the guest the paravirtualized EOI Planned for upstream
nem-win-register-shadowing VMM/NEM/win: Skip exporting registers Hyper-V already holds Planned for upstream
nem-win-halt-partial-import VMM/NEM/win: Import only the minimal state when the guest halts Planned for upstream
nem-win-gim-xcpt-narrowing VMM/NEM/win: Intercept #UD and #GP only when needed Planned for upstream
726-nem-timer-kick VMM/NEM/win: Get the timer EMT out of Hyper-V when a timer is due Planned for upstream (targets issue #726)
em-apic-mmio-history VMM/NEM/win: Keep the xAPIC page out of the EM exit history Planned for upstream
em-apic-mmio-fastpath VMM/NEM/win: Do simple xAPIC page accesses without IEM and the page manager Planned for upstream
iprt-win-ecoqos-optout IPRT/win: Opt VM processes out of power throttling (EcoQoS) Planned for upstream
iprt-win-highres-waits IPRT/win: High resolution timed waits for semaphores in VM processes local: the gain was measured only without the kernel driver, so there is no case for official builds (why)

Correctness fixes

Branch What it does Status
861-x2apic-off-keeps-apic Main/PlatformX86Impl.cpp: Don’t disable the APIC when disabling the x2APIC Planned for upstream (targets issue #861)
930-iem-riprel-cbimm Fix RIP-relative memory operand decoding of ADCX/ADOX and VEX imm8 instructions (upstream issue #930), with a test tidy-up Open PR #931
932-nem-tpr-low-nibble Keep the APIC TPR low nibble when syncing CR8 under Hyper-V (upstream issue #932) Open PR #933
iem-vcvt-256-source-reg IEM: vcvtps2pd and vcvtdq2pd (256-bit) converted the wrong source register Planned for upstream
nem-lazy-db-exits VMM/NEM/win: Only intercept #DB while debugging (WIP, xcpt-2 TF stepping hangs) Planned for upstream
nem-win-restore-drx-after-debugging VMM/NEM/win: Reload the guest’s debug registers after debugging Planned for upstream
virtio-core-restore-queue-select VirtIO: Don’t refuse to restore a queue select the guest may validly have written Planned for upstream

Storage and boot

Branch What it does Status
bios-nvme-boot BIOS/NVMe: Boot from NVMe disks with the legacy PC BIOS Planned for upstream (storage page)

Networking

Branch What it does Status
nat-throughput Guest to host TCP over NAT is faster: libslirp writes the data of a burst of guest packets to the host connection in one call instead of one call per packet (on by default, DeferHostWrites=0 turns it off) local: it changes the bundled libslirp, so it would go to libslirp first (speed page)

Graphics

Branch What it does Status
virtio-gpu-device A virtio-gpu graphics device: 2D display and Vulkan 3D (Venus) for Linux guests, with the EFI driver, API, GUI and VBoxManage support (see the virtio-gpu page) local: large and experimental, may be offered later (virtio-gpu page)
vmsvga-dx11-gpu-select Devices/Graphics/VMSVGA: Create the DX11 device on the high performance GPU, selectable with VMSVGA3dAdapter Planned for upstream
devvga-wide-scanline DevVGA: Check all pages of a scanline for changes in wide display modes Planned for upstream

Guest CPU model

Branch What it does Status
cpum-isa-exts VMM/CPUM: Expose GFNI, VAES, VPCLMULQDQ, AVX-VNNI, AVX-IFMA, AVX-NE-CONVERT, XSAVEOPT/XSAVEC and fast strings to guests Planned for upstream
cpum-intel-microarchs VMM/CPUM: Know Intel family 6 models from Raptor Lake to Panther Lake Planned for upstream

macOS guests

Branch What it does Status
macos-guest-types Main/macOS: Add guest OS types for macOS 10.14 to 26 with Mac platform defaults local: unlikely to go upstream, macOS 26 is the last release for Intel (macOS page)
macos-cpum-hooks VMM/CPUM: Add ForceIntelFamilyModelStep and fudge MSR_CORE_THREAD_COUNT local: unlikely to go upstream, macOS 26 is the last release for Intel (macOS page)
macos-smc-fixes Devices/SMC: Fix key enumeration by index and key writes, add MSSP local: unlikely to go upstream, macOS 26 is the last release for Intel (macOS page)
macos-smc-diagnostics Devices/SMC: Warn when a macOS guest lacks the device key or a usable CPU local: unlikely to go upstream, macOS 26 is the last release for Intel (macOS page)
macos-efi-apple-features Devices/EFI: Make the Apple firmware feature bits configurable local: unlikely to go upstream, macOS 26 is the last release for Intel (macOS page)
macos-efi-apple-loader EFI/BootManager: Find the macOS boot loader on APFS volumes local: unlikely to go upstream, macOS 26 is the last release for Intel (macOS page)
macos-efi-appleprop-stubs EFI/VBoxAppleSim: Don’t assert in the device path property protocol stubs local: unlikely to go upstream, macOS 26 is the last release for Intel (macOS page)
efi-msvc-intrinsics EFI/Firmware: Build the X64 firmware with newer MSVC versions local: unlikely to go upstream, macOS 26 is the last release for Intel (macOS page)

Test tooling (VBoxBFE, the stand-alone front end used for testing)

Branch What it does Status
vboxbfe-config-ctor-rc VBoxBFE: Do not fail the CFGM setup when PDM/Drivers already exists local: only used to run the benchmarks and tests of this fork
vboxbfe-numcpus VBoxBFE: Create the VM with the NumCPUs value from the configuration local: only used to run the benchmarks and tests of this fork
vboxbfe-sdl-update-events VBoxBFE/Framebuffer: Always update the SDL surface from the SDL thread local: only used to run the benchmarks and tests of this fork
vboxbfe-update-clip VBoxBFE/Framebuffer: Clip update rectangles to the SDL surface local: only used to run the benchmarks and tests of this fork
vboxbfe-vbva-display VBoxBFE/Display: Support VBVA and render the VGA screen into a per-mode buffer local: only used to run the benchmarks and tests of this fork
vboxbfe-test-hook VBoxBFE: Test hook to reset, save and load the VM from the environment local: only used to run the benchmarks and tests of this fork