-
Notifications
You must be signed in to change notification settings - Fork 82
Description
Version
7.2.4
Host OS Type
Windows
Host OS name + version
Windows 11 Version 25H2 Build 26200.6899
Host Architecture
ARM
Guest OS Type
Linux
Guest Architecture
ARM
Guest OS name + version
Parrot OS Version 6.4 Lorikeet
Component
Audio
What happened?
When running an ARM64 Linux guest (Parrot OS 6.0) on a Windows 11 ARM64 host (Surface Pro) using VirtualBox 7.2.4, a distinct high-pitched chirping or coil whine noise occurs. This noise is present even when the guest OS is completely idle at the desktop or under very light graphical load (e.g., open and empty terminal window).
Interestingly, the noise does not occur when the guest CPU is under a full, stable load (tested using stress --cpu 2). The noise also stops immediately and abruptly if the VM execution is paused, such as when the "Close Virtual Machine" dialog box appears after clicking the close button on the VM window.
Initial troubleshooting involved ensuring 2D/3D acceleration was disabled and reducing the vCPU count from the default/higher number down to 2. While reducing vCPUs improved general stability, it did not stop the idle chirping noise.
The noise completely stopped only after disabling the virtual audio controller for the VM (Settings > Audio > Uncheck "Enable Audio"). This suggests the audio emulation on the experimental ARM64 host support is causing high-frequency load fluctuations or interrupts, leading to audible coil whine from the host hardware, particularly during idle or low-load states.
Expected Behavior:
I expected the virtual machine to run without causing audible electronic noise like coil whine from the host machine, especially when the guest OS is idle or under minimal load. The host CPU usage should remain low and stable when the guest is idle, similar to how it behaves when the virtual audio device is disabled.
How can we reproduce this?
- Host Machine Setup:
Use a computer running Windows 11 ARM64 (e.g., a Microsoft Surface Pro with an ARM processor).
Install Oracle VirtualBox version 7.2.4 (using the universal Windows installer which includes ARM64 support).
Download the official Parrot OS Security ARM64 "VMware" image from the Parrot Security website. Extract the archive to get the .vmdk virtual disk file. Note its location.
NOTE: It says it supports VirtualBox but when we click download there is only the Mac and .vmdk version available. So we will have to import this .vmdk into VirtualBox.
- Create the Virtual Machine (Attaching Existing Disk):
In VirtualBox Manager, start the New Virtual Machine wizard (Machine > New... or click the "New" button).
Name: Give it a name (e.g., "Parrot ARM").
ISO Image: Leave this as .
Type: Select Linux.
Version: Select Debian (64-bit) or Other Linux (64-bit).
Skip Unattended Installation: Ensure this is checked if the option appears.
Hardware:
Allocate RAM (e.g., 4096 MB).
Crucially, assign more than 2 vCPUs initially (e.g., 4 vCPUs or leave at default if higher).
Hard Disk:
Select "Use an existing virtual hard disk file".
Click the small folder icon next to the dropdown.
In the "Hard Disk Selector" window, click "Add".
Browse to and select the Parrot OS ARM64 .vmdk file you extracted in Step 1.
Click "Choose" to confirm the selection.
Review the summary and click "Finish". (The VM is now created in the list with the correct disk attached).
- Verify/Adjust Initial VM Configuration:
Select the newly created VM ("Parrot ARM") in the VirtualBox Manager list.
Click Settings.
Go to System > Motherboard: Ensure "Enable EFI" is likely checked. Ensure the Boot Order prioritizes the Hard Disk.
Go to System > Processor: Confirm the VM is set to use more than 2 processors.
Go to Display > Screen: Ensure "Enable 3D Acceleration" is unchecked. (Also ensure 2D is unchecked if visible).
Go to Audio: Ensure "Enable Audio" is checked (this is the default state needed to reproduce the bug).
Click OK.
- Reproduce the Noise:
Start the VM ("Parrot ARM").
Log in to the Parrot OS desktop environment.
Do nothing. Let the VM sit idle at the desktop. Or perform minimal actions like opening a terminal window, navigating menus, or opening the display settings panel.
Listen closely to the host machine (Surface Pro). The high-pitched chirping/coil whine noise should become audible during these idle or very light load states.
(Optional Confirmation): Click the close (X) button on the VM window. When the "Close Virtual Machine" dialog appears, the noise should stop immediately.
- (Demonstrate Workaround):
Shut down the VM completely.
Go back into the VM's Settings > Audio.
Uncheck the box for "Enable Audio".
Click OK.
Start the VM again and let it idle at the desktop. The chirping noise should now be absent.
Did you upload all of your necessary log files, screenshots, etc.?
- Yes, I've uploaded all pertinent files to this issue.