Arc-Compute/LibVF.IO

Is DisplayStreamCompression (DSC) supported?

dmayle opened this issue · 5 comments

In order to use higher resolutions and frame rates like 8k60 or 4k120, DSC must be enabled in the driver so that the link between the GPU and the monitor will compress the signal.

When you boot into Windows native, or use GPU passthrough, DSC is enabled and you can output 8k@60 Hz.

If you boot into linux with the nvidia driver, or use GPU passthrough, DSC is disabled, and you are limited to 8k@30Hz.

Does the use of Libvf.io allow DSC to work?

Depends on how things are setup, would you mind giving me more information as to what you want to accomplish?

I'm currently using Proxmox as host, and do all of my computing in either Windows or linux, passing an nvidia GPU (RTX3080) from one VM to the other. In my windows host, I run the machine at 8k60, and I use that for gaming, and general browsing. When I want to do software development, I bring down the Windows VM, bring up the linux Vm, but in linux, display stream compression doesn't work, so I'm limited to 8k30.

Based on the video of your tech, I'd love to keep the windows VM always running in 4k, have a host that can multiplex multiple VMs, and either do development in the host, or in another linux VM, but running it all at 30hz isn't ideal.

I guess I'm asking if everything is going to be limited by the host's usage of the GPU resources, or if in the hybrid model, you're getting the benefits of the full driver you're running in the guest VMs.

Someone else asked this not long ago but I think I forgot to respond:
https://news.ycombinator.com/item?id=28954227

Our default graphics pipe is introspect: "looking-glass" which creates an IVSHMEM (inter-vm shared memory device) in order to provide copyless transfer of frames from guest to host. That necessitates the DOM0 graphics driver having control of the display connector so that it may draw the host desktop environment and the guest desktop environment via shared memory simultaneously.
I took a look into DSC support in the Linux driver for Nvidia users and unfortunately I don't know if Nvidia has provided support for that yet outside of Windows. I found this post from 3 days ago asking for Linux support:
https://forums.developer.nvidia.com/t/request-for-display-stream-compression-dsc-support-in-the-linux-drivers/198363

There might be something undocumented in the driver perhaps that could be enabled to allow for use of DSC but we haven't looked at that quite yet. If Nvidia does include this functionality in the Linux driver we'll be sure to do our best to support it!

@dmayle Do you have any pve configuration code published anywhere? I don't care how rough. I'd like to try this out in Proxmox as well.

That means that until Linux supports DSC under Nvidia, the answer is no.