GeForce 980Ti recognized from proxmox passthrough but ports are not found

Hello, I have a proxmox installation on my old gaming computer with a Kali linux VM. I did passthrough the video card to the VM and the VM is able to see it but I can’t get 3D acceleration to work for sunshine/moonlight and hooking a display up to the card doesn’t work (no input).

I followed the guide to install the nvidia drivers for Kali (Install NVIDIA GPU Drivers | Kali Linux Documentation) and the card is able to be seen:

┌──(smoochii㉿kali)-[~]
└─$ lspci | grep -i vga
00:01.0 VGA compatible controller: Red Hat, Inc. Virtio 1.0 GPU (rev 01)
01:00.0 VGA compatible controller: NVIDIA Corporation GM200 [GeForce GTX 980 Ti] (rev a1)
┌──(smoochii㉿kali)-[~]
└─$ lspci -s 01:00.0 -v
01:00.0 VGA compatible controller: NVIDIA Corporation GM200 [GeForce GTX 980 Ti] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: eVga.com. Corp. Device 1996
        Physical Slot: 0
        Flags: bus master, fast devsel, latency 0, IRQ 50
        Memory at 80000000 (32-bit, non-prefetchable) [size=16M]
        Memory at 800000000 (64-bit, prefetchable) [size=256M]
        Memory at 810000000 (64-bit, prefetchable) [size=32M]
        I/O ports at 8000 [size=128]
        Expansion ROM at 81020000 [virtual] [disabled] [size=128K]
        Capabilities: <access denied>
        Kernel driver in use: nvidia
        Kernel modules: nvidia
┌──(smoochii㉿kali)-[~]
└─$ nvidia-smi -i 0 -q

==============NVSMI LOG==============

Timestamp                                 : Sun Jun 16 10:45:23 2024
Driver Version                            : 535.161.08
CUDA Version                              : 12.2

Attached GPUs                             : 1
GPU 00000000:01:00.0
    Product Name                          : NVIDIA GeForce GTX 980 Ti
    Product Brand                         : GeForce
    Product Architecture                  : Maxwell
    Display Mode                          : Enabled
    Display Active                        : Disabled
    Persistence Mode                      : Disabled

But when I run inxi -Gxx, I don’t see any ports for the video card.

┌──(smoochii㉿kali)-[~]
└─$ inxi -Gxx
Graphics:
  Device-1: Red Hat Virtio 1.0 GPU driver: virtio-pci v: 1 ports: active: Virtual-1 empty: none
    bus-ID: 00:01.0 chip-ID: 1af4:1050
  Device-2: NVIDIA GM200 [GeForce GTX 980 Ti] vendor: eVga.com. driver: nvidia v: 535.161.08
    arch: Maxwell pcie: speed: 2.5 GT/s lanes: 16 bus-ID: 01:00.0 chip-ID: 10de:17c8
  Display: server: X.org v: 1.21.1.11 compositor: xfwm4 driver: X: loaded: modesetting,nvidia
    unloaded: fbdev,nouveau,vesa alternate: nv gpu: virtio-pci,nvidia tty: 165x40
  Monitor-1: Virtual-1 model: QEMU Monitor res: 1280x800 dpi: 100 diag: 383mm (15.1")
  API: EGL v: 1.5 platforms: device: 0 drv: nvidia device: 1 drv: kms_swrast device: 3
    drv: swrast gbm: drv: kms_swrast surfaceless: drv: nvidia inactive: wayland,x11,device-2
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: mesa v: 24.0.8-1 note: console (EGL sourced)
    renderer: llvmpipe (LLVM 17.0.6 128 bits), NVIDIA GeForce GTX 980 Ti/PCIe/SSE2

I do have a virtual display added to the VM which I can use to VNC but when I go to settings I only see that “fake” monitor and don’t see the HDMI dummy plug that is connected or my portable monitor connected. What can I do to fix this or what is the issue here?

Please let me know any further information that I can provide.

nvidia-bug-report.log.gz (376.5 KB)

The nvidia gpu and driver are working fine. The issue is that the virtual graphics doesn’t support prime. Two options:
either create an nvidia-only xorg.conf so the graphics will run on the external monitor or use render offload to render on the nvidia gpu and display on the virtual graphics console. https://http.download.nvidia.com/XFree86/Linux-x86_64/555.52.04/README/primerenderoffload.html

Thank you so much for the reply! I don’t plan on permanently having a monitor hooked up to this box since it just sits in the basement and I mostly remote into it. Is either of these options better/easier if I don’t actually plan on having a physical display? Thanks so much again!

Also, FWIW, I don’t actually want to use the virtual display either, that’s the only way I can get visual access to the system for now. I’m trying to use a dummy HDMI plug to trick the system that a monitor is enabled so that the output can be used for sunshine.

The I guess you should take the xorg.conf route, create /etc/X11/xorg.conf

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    BusID          "PCI:1:0:0"
EndSection

Then hook up a monitor to the nvidia gpu and reboot the VM. Afterwards, the desktop should be running on the nvidia monitor. Set up sunshine for remote access, then swap to the dummy plug.

Hmm that doesn’t seem to work :( I still get a lot of errors when starting sunshine and I don’t get a display on the monitor.

[2024:06:20:23:55:36]: Info: Sunshine version: v0.23.1
[2024:06:20:23:55:36]: Warning: Failed to create system tray
[2024:06:20:23:55:39]: Error: Couldn't find any of the following libraries: [libnvidia-fbc.so.1, libnvidia-fbc.so]
[2024:06:20:23:55:39]: Info: /dev/dri/card0 -> nvidia-drm
[2024:06:20:23:55:39]: Warning: Couldn't open render node: /dev/dri/renderD128: Permission denied
[2024:06:20:23:55:39]: Error: GPU driver doesn't support universal planes: /dev/dri/card0
[2024:06:20:23:55:39]: Error: Environment variable WAYLAND_DISPLAY has not been defined
[2024:06:20:23:55:39]: Error: Unable to initialize capture method
[2024:06:20:23:55:39]: Error: Platform failed to initialize
[2024:06:20:23:55:39]: Error: Could not create Sunshine Mouse (Relative): Permission denied
[2024:06:20:23:55:39]: Error: Could not create Sunshine Mouse (Absolute): Permission denied
[2024:06:20:23:55:39]: Error: Could not create Sunshine Keyboard: Permission denied
[2024:06:20:23:55:39]: Error: Falling back to XTest for virtual input! Are you a member of the 'input' group?
[2024:06:20:23:55:39]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
[2024:06:20:23:55:39]: Info: Trying encoder [nvenc]
[2024:06:20:23:55:39]: Info: Encoder [nvenc] failed
[2024:06:20:23:55:39]: Info: Trying encoder [vaapi]
[2024:06:20:23:55:39]: Info: Encoder [vaapi] failed
[2024:06:20:23:55:39]: Info: Trying encoder [software]
[2024:06:20:23:55:40]: Info: Encoder [software] failed
[2024:06:20:23:55:40]: Fatal: Unable to find display or encoder during startup.
[2024:06:20:23:55:40]: Fatal: Please ensure your manually chosen GPU and monitor are connected and powered on.
[2024:06:20:23:55:40]: Error: Video failed to find working encoder
[2024:06:20:23:55:40]: Error: Failed to create client: Daemon not running
[2024:06:20:23:55:40]: Info: Configuration UI available at [https://localhost:47990]

Please create a new nvidia-bug-report.log with the xorg.conf in place and a monitor hooked up.

Hello!

I’ve attached the new log, this is with the monitor plugged in using an xorg.conf like:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    BusID          "PCI:1:0:0"
EndSection

nvidia-bug-report.log.gz (334.7 KB)

How do I install these?

Couldn't find any of the following libraries: [libnvidia-fbc.so.1, libnvidia-fbc.so]

Edit: I got these to install but for some reason the xserver cannot see my video card or monitor. The weird thing is that if I just remove /etx/x11/xorg.conf, I can VNC in and open the settings for Nvidia X Server Settings and I can see the videocard and the display that is plugged in!


When the 980ti is set as primary gpu, the Xorg driver freezes right on Xserver startup. Unfortunately, no error messages.

What could that mean? Do you have any suggestions for next steps to try and resolve this?