[SOLVED] PIKVM - TC358743XBG video capture, how to set proxmox resolution+refresh rate?

eeloo

New Member
May 24, 2024
5
1
3
Im using a DIYv2 PIKVM which has a refresh capture rate limit of 50Hz. On boot I get video output on the BIOS and into the boot-loader (systemd-boot - zfs on root) but once proxmox starts the video output changes and I no longer get video on my PIKVM (it appears to be 1920x1080@60fps). How can I limit proxmox resolution (more importantly refresh rate) lower?

I have tried editing /etc/kernel/cmdline to contain the video argument: root=ZFS=rpool/ROOT/pve-1 boot=zfs video=800x600@30 but this did nothing. Was going to try the vga argument but thought to ask here first. I spoke to pikvm support, and am using their recommended hw. Tested hdmi on a windows machine so I know it works.

This is running on a supermicro H11, and a SFF Lenovo both using vga output. Both boot with UEFI.

My setup looks like this: [host pc vga] -> [vga to hdmi adapter] -> [hdmi to csi]

Code:
proxmox-ve: 8.2.0 (running kernel: 6.8.4-3-pve)
pve-manager: 8.2.2 (running version: 8.2.2/9355359cd7afbae4)
proxmox-kernel-helper: 8.1.0
pve-kernel-6.2: 8.0.5
proxmox-kernel-6.8: 6.8.4-3
proxmox-kernel-6.8.4-3-pve-signed: 6.8.4-3
proxmox-kernel-6.8.4-2-pve-signed: 6.8.4-2
proxmox-kernel-6.5.13-5-pve-signed: 6.5.13-5
proxmox-kernel-6.5: 6.5.13-5
proxmox-kernel-6.2.16-20-pve: 6.2.16-20
proxmox-kernel-6.2: 6.2.16-20
pve-kernel-6.2.16-3-pve: 6.2.16-3
ceph-fuse: 17.2.7-pve3
corosync: 3.1.7-pve3
criu: 3.17.1-2
glusterfs-client: 10.3-5
ifupdown2: 3.2.0-1+pmx8
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-4
libknet1: 1.28-pve1
libproxmox-acme-perl: 1.5.1
libproxmox-backup-qemu0: 1.4.1
libproxmox-rs-perl: 0.3.3
libpve-access-control: 8.1.4
libpve-apiclient-perl: 3.3.2
libpve-cluster-api-perl: 8.0.6
libpve-cluster-perl: 8.0.6
libpve-common-perl: 8.2.1
libpve-guest-common-perl: 5.1.1
libpve-http-server-perl: 5.1.0
libpve-network-perl: 0.9.8
libpve-rs-perl: 0.8.8
libpve-storage-perl: 8.2.1
libspice-server1: 0.15.1-1
lvm2: 2.03.16-2
lxc-pve: 6.0.0-1
lxcfs: 6.0.0-pve2
novnc-pve: 1.4.0-3
proxmox-backup-client: 3.2.2-1
proxmox-backup-file-restore: 3.2.2-1
proxmox-kernel-helper: 8.1.0
proxmox-mail-forward: 0.2.3
proxmox-mini-journalreader: 1.4.0
proxmox-widget-toolkit: 4.2.3
pve-cluster: 8.0.6
pve-container: 5.1.10
pve-docs: 8.2.2
pve-edk2-firmware: 4.2023.08-4
pve-esxi-import-tools: 0.7.0
pve-firewall: 5.0.7
pve-firmware: 3.11-1
pve-ha-manager: 4.0.4
pve-i18n: 3.2.2
pve-qemu-kvm: 8.1.5-6
pve-xtermjs: 5.3.0-3
qemu-server: 8.2.1
smartmontools: 7.3-pve1
spiceterm: 3.3.0
swtpm: 0.8.0+pve1
vncterm: 1.8.0
zfsutils-linux: 2.2.3-pve2
 
Do you know if this will cause you to not be able to pass the iGPU to a VM for something like hardware transcoding?
No, blacklisting the gpu driver from the host is a step in doing passthrough to a vm. But if you to passthrough to your vm, keep in mind the host has no access to the gpu, so your pikvm doesn't really provide the benefit since it can't view the output from the host, just the vm.

The real solution here is to get a better IPKVM that does not have this stupid 50hz limitation. nanokvm, jetkvm, or I think even the official pikvm all support 60hz. And use an LXC for plex/jelly/transcoding, not a vm.
 
No, blacklisting the gpu driver from the host is a step in doing passthrough to a vm. But if you to passthrough to your vm, keep in mind the host has no access to the gpu, so your pikvm doesn't really provide the benefit since it can't view the output from the host, just the vm.

The real solution here is to get a better IPKVM that does not have this stupid 50hz limitation. nanokvm, jetkvm, or I think even the official pikvm all support 60hz. And use an LXC for plex/jelly/transcoding, not a vm.

Well, this was absolutely it. Removing the iGPU reference from the hardware was the solution for me after all. I don't really think a different PiKVM will change my problem though since it works just fine now with that.

As you say, I think I have to look into LXC if I want to do this. That's uncharted territory for me.