Need help blanking/sleeping host display

JackSpidy

Member
Apr 14, 2023
8
0
6
If it helps, I have an RTX 3080 and RTX 2070 in the system as the only GPUs and display outputs, but I have an OLED display connected to the host machine (my "main" PC) mostly for GPU passthrough, but when not doing that, I can't seem to get the console to blank and allow the display to sleep. I've added "consoleblank=120" and tried using the "setterm -blank" command to no success, though if I add "-force" to the setterm command, it does seem to stop any input, but the display doesn't blank; the console remains. Is this just NVIDIA weirdness, or am I doing something wrong?
 
Hi,

The consoleblank kernel parameter and setterm work on the virtual terminal framebuffer. With NVIDIA's proprietary driver, the driver essentially takes over the display output and bypasses the kernel's VT/framebuffer blanking entirely. The nouveau open-source driver doesn't have this problem because it properly integrates with the kernel framebuffer subsystem. NVIDIA's blob does not.
 
Hi,

The consoleblank kernel parameter and setterm work on the virtual terminal framebuffer. With NVIDIA's proprietary driver, the driver essentially takes over the display output and bypasses the kernel's VT/framebuffer blanking entirely. The nouveau open-source driver doesn't have this problem because it properly integrates with the kernel framebuffer subsystem. NVIDIA's blob does not.
So, I only use the NVIDIA GPUs for passthrough to guests. Could I remove the NVIDIA proprietary driver and just have Nouveau take over on the host? I didn't think the proprietary driver came installed by default on Proxmox.
 
Try removing nvidia driver first to confirm if this is the issue.
Tried uninstalling the nvidia driver the ways I remember from Debian and it didn't find any packages to remove aside from pve-nvidia-vgpu-helper, which I did remove, still doesn't seem to be blanking the display, if it means anything too, I also have both nouveau and nvidia* blacklisted for passthrough as per the wiki.
 
What's this look like?
Bash:
lspci -vnnk | awk '/VGA/{print $0}' RS=
 
What's this look like?
Bash:
lspci -vnnk | awk '/VGA/{print $0}' RS=
Code:
0b:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA102 [GeForce RTX 3080] [10de:2206] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: eVga.com. Corp. Device [3842:3885]
        Flags: fast devsel, IRQ 255, IOMMU group 16
        Memory at fb000000 (32-bit, non-prefetchable) [size=16M]
        Memory at 7800000000 (64-bit, prefetchable) [size=16G]
        Memory at 7c00000000 (64-bit, prefetchable) [size=32M]
        I/O ports at f000 [size=128]
        Expansion ROM at fc000000 [disabled] [size=512K]
        Capabilities: [60] Power Management version 3
        Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [78] Express Legacy Endpoint, IntMsgNum 0
        Capabilities: [b4] Vendor Specific Information: Len=14 <?>
        Capabilities: [100] Virtual Channel
        Capabilities: [250] Latency Tolerance Reporting
        Capabilities: [258] L1 PM Substates
        Capabilities: [128] Power Budgeting <?>
        Capabilities: [420] Advanced Error Reporting
        Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
        Capabilities: [900] Secondary PCI Express
        Capabilities: [bb0] Physical Resizable BAR
        Capabilities: [c1c] Physical Layer 16.0 GT/s <?>
        Capabilities: [d00] Lane Margining at the Receiver
        Capabilities: [e00] Data Link Feature <?>
        Kernel modules: nvidiafb, nouveau