snapcrafters / obs-studio

This is a community-supported modified build of OBS Studio.
https://snapcraft.io/obs-studio
118 stars 35 forks source link

Not using Quadro RTX6000 #138

Closed Pedulla closed 11 months ago

Pedulla commented 2 years ago

nvidia-smi shows no utilization from OBS on the GPU snap obs-studio and snap ffmpeg installed on Mint 20 in a VM (qemu) on proxmox 6.4 with pci passthrough of the card.

Sat Oct  9 20:36:30 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.63.01    Driver Version: 470.63.01    CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Quadro RTX 6000     Off  | 00000000:00:10.0 Off |                    0 |
| N/A   40C    P0    56W / 250W |    190MiB / 22698MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1471      G   /usr/lib/xorg/Xorg                  4MiB |
|    0   N/A  N/A      9111      C   ...s-studio/1258/usr/bin/obs      183MiB |
+-----------------------------------------------------------------------------+

Doesn't change the output if I use the ffmpeg (snap) or the NVIDIA NVENC. CPU utilization is the same between x264 and either of the NVENC encoders.

host grub line: GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"

What am I missing?

Pedulla commented 2 years ago

Spent the weekend tinkering getting the same results: Tried every combination of BIOS and Machine type: OVMF (UEFI) bios, SeaBIOS, i440fx, q35 I was thinking some combination was inhibiting the passthrough. The results were the same, with hardware encoding turned on, I'm only getting 8-10fps and all the work is being done by the system cpu. Does anyone else have a RTX6000 passthrough to a QEMU-VM on EPYC processor and working with OBS?

Pedulla commented 2 years ago

Output from nvidia-smi encodersessions while streaming.

# GPU Session Process Codec H V Average Average # Idx Id Id Type Res Res FPS Latency(us)

   0       -          -       -       -       -       -           -
    0       -          -       -       -       -       -           -
    0       -          -       -       -       -       -           -
    0       -          -       -       -       -       -           -

NVenc is not running on the GPU. So...:

Thank you in advance for any help.

@flexiondotorg I've seen your videos, I know you know a thing or two about this ;)

flexiondotorg commented 2 years ago

Make sure passthrough really is working by running something the works the GPU (not NVENC) like a game. I've never done GPU pass-through, it is a topic I hope to learn more about soon. But I don't have much insight that can help you.

Pedulla commented 2 years ago

So it's definitely working. I loaded up the Phoronix Test Suite and watched with nvidia-smi as the GPU got pegged with utilization while running various compute and graphic tests.

Is there a way to increase the debug level in OBS to look for other clues? This is my first foray into snaps, is there something I should look for there?

Another thought, maybe I could just try ffmpeg directly, Is there a way to determine the options set for the ffmpeg work to stream?

flexiondotorg commented 11 months ago

This should be fixed via #172