• Stars
    star
    367
  • Rank 112,049 (Top 3 %)
  • Language
    C++
  • License
    Other
  • Created about 2 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The third-party lightweight XAML-based out-of-box-experience oriented Hyper-V virtualization software based on Host Compute System API, Remote Desktop ActiveX control and XAML Islands.

NanaBox NanaBox

GitHub Actions Build Status Total Downloads

Windows Store - Release Channel Windows Store - Preview Channel

Latest Version - Release Channel Latest Version - Preview Channel

Latest Release Downloads - Release Channel Latest Release Downloads - Preview Channel

Screenshot 1

Screenshot 2

Screenshot 3

NanaBox is a third-party lightweight XAML-based out-of-box-experience oriented Hyper-V virtualization software based on Host Compute System API, Remote Desktop ActiveX control and XAML Islands.

NanaBox is not a Hyper-V client because Host Compute System API is low-level API of Hyper-V WMI Providers which used in Hyper-V Manager, and Host Compute System API is stateless which not available to manage virtual machines listed in Hyper-V Manager.

NanaBox chooses Host Compute System API instead of Hyper-V WMI Providers because the author (Kenji Mouri) wants to have portable virtual machine configurations and feels disgusting for registering virtual machine configurations into system.

NanaBox chooses define own JSON-based virtual machine configurations format because Hyper-V's VMCX is a binary format and no documented format definitions from Microsoft.

All kinds of contributions will be appreciated. All suggestions, pull requests and issues are welcome.

Features

  • Based on Host Compute System API as virtualization backend.
  • Support Hyper-V Enhanced Session Mode for Windows Guests.
  • Support Hyper-V Nested Virtualization.
  • Support Hyper-V GPU paravirtualization solution a.k.a GPU-PV.
  • Support expose COM ports and physical drives to the virtual machine.
  • Support enables Secure Boot for virtual machine.
  • Use JSON based format to support portable virtual machine.
  • Packaging with MSIX for modern deployment experience.
  • Modernize the UI with XAML Islands with dark and light mode support. (Dynamic dark and light mode switching is supported for Windows 11 and later.)
  • Full High DPI and partial Accessibility support.
  • Support full screen mode.
  • Multi-language Support: English and Simplified Chinese.

System Requirements

  • Supported OS: Windows 10 Version 2004 (Build 19041) or later
  • Supported Platforms: x64 and ARM64

Known issues

  • Due to Host Compute System API and Host Compute Network API limitations, there are some limitations from them also applied to NanaBox:
    • NanaBox only supports create UEFI Class 3 or UEFI without CSM or Hyper-V Gen 2 virtual machines.
    • TPM support for virtual machines created by NanaBox is not available.
    • NanaBox needs elevated privilege via UAC.
    • The automatic switch between Enhanced Session Mode and Basic Session Mode won't be implemented.
  • The virtual machine creation UI and settings UI is not implemented.
  • You may meet the UI frozen when lost the focus from the Settings menu in the NanaBox main window (the popup windows created by XAML Islands) unless switch to another application windows before switch back to the NanaBox main window, may caused by the design of XAML Islands and Remote Desktop ActiveX control.

Reference documents for known issues:

Development Roadmap

  • 1.0 (July 16, 2023)
    • Based on Host Compute System API as virtualization backend.
    • Add Hyper-V Enhanced Session Mode support for Windows Guests.
    • Add Hyper-V GPU paravirtualization solution a.k.a GPU-PV support.
    • Add expose COM ports and physical drives to the virtual machine support.
    • Add enable Secure Boot for virtual machine support.
    • Add JSON based format to support portable virtual machine.
    • Packaging with MSIX for modern deployment experience.
    • Modernize the UI with XAML Islands with dark and light mode support. (Dynamic dark and light mode switching is supported for Windows 11 and later.)
    • Add full High DPI and partial Accessibility support.
    • Add full screen support. (Suggested by Belleve.)
    • Add localization for the NanaBox UI.
    • Submit to the Windows Store.
  • 1.x Series (Late 2023)
    • Add virtual machine creation UI and settings UI.
    • Provide tool for Hyper-V vmcx migration. (Suggested by Belleve.)
    • Add support for setting RDP options with .rdp file. (Suggested by awakecoding.)
    • Add support for connecting virtual machine with MsRdpEx from Devolutions. (Suggested by awakecoding.)
  • Future Series (T.B.D.)
    • Currently no new feature plans for this series.

Documents