The solution is to increment the memory limit for an user process:
ulimit -l $(( 8*1048576+100000 ))
For 8GB of RAM passed to the VM.
Note: This is already addressed in the scripts and only happens when -runas $VM_USER is present.
QEMU/libvirt starts but there is no output
Check dmesg, the output of QEMU/libvirt and other system logs like journalctl. With the default QEMU scripts the output is written to a file; to see it in the terminal (while logged in from another computer over ssh) you have to remove >> $LOG 2>&1 & from the script.
Check all the paths are valid.
Check the VBIOS. sudo ./nvflash_linux --verify <file>. For this to work the GPU must be detached.
Maybe your card does not require a modified VBIOS. Or a VBIOS to be passed at all.
Make sure your GPU is using the vfio-pci drivers lspci -nk.