Help improving windows vm performance with youtube and plex?

rakali

Active Member
Jan 2, 2020
42
5
28
42
I have a windows VM that is used for playback of youtube and plex and it drops frames and audio gets out of sync. I would like to resolve this if I can. I am wondering if there is a tweak, or a driver for windows that is necessary?

VM is stored on an a ssd. AMD RX580 GPU is pci passthrough connected to a 1080@60 monitor vis hdmi.

CPU is i5-8400 and 6 cores are assigned to this vm. Windows reports this is as 2.81GHz but proxmox shows running at 3800MHz when monitoring with watch grep \"cpu MHz\" /proc/cpuinfo

In windows, cpu and gpu utilisation never shows above 30%. I ran geekbench and it seemed to give a result expected of this cpu.

any advice on tweaks that might improve the experience?

Code:
# cat /etc/pve/qemu-server/101.conf
agent: 1
args: -machine type=q35,kernel_irqchip=on
balloon: 0
bios: ovmf
boot: c
bootdisk: scsi0
cores: 6
cpu: host,hidden=1
efidisk0: local-zfs:vm-101-disk-1,size=128K
hookscript: local:snippets/hackintosh.sh
hostpci0: 01:00,pcie=1,x-vga=on
hostpci1: 00:14.0,pcie=1
hostpci2: 00:1f.3
machine: q35
memory: 8192
name: windows
net0: virtio=,bridge=vmbr1
numa: 1
onboot: 1
ostype: win10
scsi0: local-zfs:vm-101-disk-0,cache=writeback,iothread=1,replicate=0,size=256G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=
sockets: 1
startup: order=3,up=60
vga: none
vmgenid:

Code:
# cat /var/lib/vz/snippets/hackintosh.sh
#!/usr/bin/env bash

if [ "$2" == "pre-start" ]
then
# First release devices from their current driver (by their PCI bus IDs)
echo 0000:00:14.0 > /sys/bus/pci/devices/0000:00:14.0/driver/unbind

# Then attach them by ID to VFIO
echo 8086 a2af > /sys/bus/pci/drivers/vfio-pci/new_id
fi

Code:
# pveversion -v
proxmox-ve: 6.1-2 (running kernel: 5.3.13-1-pve)
pve-manager: 6.1-5 (running version: 6.1-5/9bf06119)
pve-kernel-5.3: 6.1-1
pve-kernel-helper: 6.1-1
pve-kernel-5.0: 6.0-11
pve-kernel-5.3.13-1-pve: 5.3.13-1
pve-kernel-5.0.21-5-pve: 5.0.21-10
pve-kernel-5.0.21-2-pve: 5.0.21-7
pve-kernel-5.0.15-1-pve: 5.0.15-1
ceph-fuse: 12.2.11+dfsg1-2.1+b1
corosync: 3.0.2-pve4
criu: 3.11-3
glusterfs-client: 5.5-3
ifupdown: 0.8.35+pve1
ksm-control-daemon: 1.3-1
libjs-extjs: 6.0.1-10
libknet1: 1.13-pve1
libpve-access-control: 6.0-5
libpve-apiclient-perl: 3.0-2
libpve-common-perl: 6.0-10
libpve-guest-common-perl: 3.0-3
libpve-http-server-perl: 3.0-3
libpve-storage-perl: 6.1-3
libqb0: 1.0.5-1
libspice-server1: 0.14.2-4~pve6+1
lvm2: 2.03.02-pve3
lxc-pve: 3.2.1-1
lxcfs: 3.0.3-pve60
novnc-pve: 1.1.0-1
proxmox-mini-journalreader: 1.1-1
proxmox-widget-toolkit: 2.1-2
pve-cluster: 6.1-3
pve-container: 3.0-16
pve-docs: 6.1-3
pve-edk2-firmware: 2.20190614-1
pve-firewall: 4.0-9
pve-firmware: 3.0-4
pve-ha-manager: 3.0-8
pve-i18n: 2.0-3
pve-qemu-kvm: 4.1.1-2
pve-xtermjs: 3.13.2-1
qemu-server: 6.1-4
smartmontools: 7.1-pve1
spiceterm: 3.1-1
vncterm: 1.6-1
zfsutils-linux: 0.8.2-pve2
 
Last edited:
for comparison, i created an ubuntu vm without virtually the same config. pci passthrough, etc.

performance is as expected. no dropped frames or out of sync audio.
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!