[Solved] What is "Max Frame Size" determined by?

I would like to do a 4K passthrough and have therefore set my IVSHMEM to 64 MB. However my “Max Frame Size” is only 29 MiB and I get the error

Memory frame size of 33177600 bytes exceeds maximum space available

Is the Max Frame Size something that’s limited by my GPU (GT 1030) or can I change this somehow?

That can be changed in Libvirt or QEMU, depending on which one you are using.

I think you have to completely shut down the VM before changes will take effect.

1 Like

I changed it to 64MB in libvirt and it didn’t work, but I now set it to 128 MB and it works flawlessly :slight_smile:

Libvirt first gave me an error after changing the memory to 128 MB but it worked after deleting /dev/shm/looking-glass, recreating it by hitting “Apply” in virtmanager and then using the command from the wiki:
touch /dev/shm/looking-glass && chown <your user name>:kvm /dev/shm/looking-glass && chmod 660 /dev/shm/looking-glass

Maybe this help someone in the future with the same issue

If you are doing 4k, that sounds right.

The formula is:

width x height x 4 x 2 = total bytes 
total bytes / 1024 / 1024 = total megabytes + 2  = final total

So for 4k that would be:

3840 x 2160 x 4 x 2 = total bytes 
total bytes / 1024 / 1024 = 63.28mb + 2mb = 65.28 mb

Note that 65.28mb is larger than 64mb, so you need to round up to a size of 128mb

1 Like

Yeah, I forgot the 2mb… I though the “total megabytes” was the value I’m supposed to enter in libvirt and therefore subtracted 2. Silly mistake

1 Like