For some users VM’s audio slows down/starts stuttering/becomes demonic after a while when it is pumped through HDMI on the video card. This usually also slows down graphics. A possible solution consists of enabling MSI (Message Signaled-Based Interrupts) instead of the default (Line-Based Interrupts).
In order to check whether MSI is supported or enabled, run the following command as root:
lspci -vs $device | grep 'MSI:'
$device is the card’s address (e.g.
The output should be similar to:
Capabilities:  MSI: Enable
Count=1/1 Maskable- 64bit+
A – after Enable means MSI is supported, but not used by the VM, while a + says that the VM is using it.
Checking for PCI devices working in MSI-mode.
Go to Device Manager. Click in menu “View -> Resources by type”. Expand “Interrupt request (IRQ)” node of the tree. Scroll down to “(PCI) 0x… (…) device name” device nodes. Devices with positive number for IRQ (like “(PCI) 0x00000011 (17) …”) are in Line-based interrupts-mode. Devices with negative number for IRQ (like “(PCI) 0xFFFFFFFA (-6) …”) are in Message Signaled-based Interrupts-mode.
Trying to switch device to MSI-mode.
You must locate device`s registry key. Invoke device properties dialog. Switch to “Details” tab. Select “Device Instance Path” in “Property” combo-box. Write down “Value” (for example “PCI\VEN_1002&DEV_4397&SUBSYS_1609103C&REV_00\3&11583659&0&B0”). This is relative registry path under the key “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\”.
Go to that device`s registry key (“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\VEN_1002&DEV_4397&SUBSYS_1609103C&REV_00\3&11583659&0&B0”) and locate down the subkey “Device Parameters\Interrupt Management”. For devices working in MSI-mode there will be subkey “Device Parameters\Interrupt Management\MessageSignaledInterruptProperties” and in that subkey there will be DWORD value “MSISupported” equals to “0x00000001”. To switch device from legacy- to MSI-mode just add these subkey and value.
Before adding these key and value (or changing “MSISupported” to “0x00000001” in case subkey and value already exist) you have to perform safety steps like doing backup (creating system restore point at least).
Do tweak one device -> reboot and check (1) if it is displayed in Device Manager as correctly working device; (2) if its IRQ became negative -> if no (1) and no (2) then either remove subkey “MessageSignaledInterruptProperties” (if you added it) or change “MSISupported” to “0x00000000” and reboot.
Theoretically if device driver (and platform = chipset) unable to perform in MSI-mode it should ignore mentioned subkey and value.