Skip to content

Add multi-OS support with platform-specific implementations#11

Merged
virjilakrum merged 7 commits intomainfrom
multiOS
Jan 31, 2025
Merged

Add multi-OS support with platform-specific implementations#11
virjilakrum merged 7 commits intomainfrom
multiOS

Conversation

@virjilakrum
Copy link
Member

  • Implement platform-aware architecture using Rust cfg attributes
  • Add macOS Metal API and Windows DXGI integrations
  • Refactor VM configuration with OS-specific optimizations
  • Fix GPU passthrough handling in test configurations
  • Add CI workflows for Linux/macOS/Windows testing
  • Update error handling for platform-specific edge cases
  • Document platform feature matrix in docs/platform_support.md
  • Add conditional compilation macros for OS-specific features

Special ARM virtualization support for M1/M2 chips in macOS
Limited GPU sharing with WSL2 GPU-P plugin in Windows
Common API endpoints across all platforms
Platform-specific performance optimizations

DanteGPU Cross-Platform Feature Matrix
| Feature | Linux | macOS | Windows |
|--------------------------|--------------------|--------------------|--------------------|
| Native Virtualization | KVM | Hypervisor.framework | Hyper-V |
| GPU Passthrough | ✅ NVIDIA/AMD | ❌ | ⚠️ WSL2 GPU-P |
| Hardware Acceleration | ✅ Full | ✅ M1/M2 Only | ⚠️ Limited |
| Cross-platform Networking| ✅ VirtIO | ✅ VMnet | ✅ Hyper-V Switch |
| Shared Clipboard | ✅ SPICE | ✅ QEMU Cocoa | ✅ Remote Desktop |
| File Sharing | ✅ 9p/VirtFS | ✅ VirtIO-9p | ✅ SMB Direct |
Added gpu_passthrough field to all VMConfig instances
A real GPU ID was used for GPU testing
None value assigned in other tests
@virjilakrum virjilakrum added documentation Improvements or additions to documentation enhancement New feature or request vm Virtual Machine libvirt Libvirt is an open-source API, daemon and management tool for managing platform virtualization test Test Suite of gpu-share-vm-manager vm_test.rs VM test suite validation optimization api API Endpoints OS platform-specific core labels Jan 29, 2025
@virjilakrum virjilakrum requested a review from fybx January 29, 2025 11:26
@virjilakrum virjilakrum self-assigned this Jan 29, 2025
@virjilakrum virjilakrum added the bug Something isn't working label Jan 31, 2025
@virjilakrum virjilakrum merged commit 1be5951 into main Jan 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api API Endpoints bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request libvirt Libvirt is an open-source API, daemon and management tool for managing platform virtualization optimization OS platform-specific core test Test Suite of gpu-share-vm-manager validation vm_test.rs VM test suite vm Virtual Machine

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant