You are not logged in.
I have a Lenovo P53 laptop, the outputs are wired to an NVIDIA graphics card. I recently set up optimus-manager and have been using hybrid mode with prime render offload. I came across this article about setting up an intel virtual output to display on the second monitor. How can I do that with my current setup? I'm already running Xorg off the NVIDIA GPU.
Last edited by WhyDoWeWonder (2020-03-04 03:47:03)
Offline
Offline
I read through the guide and ending up at http://us.download.nvidia.com/XFree86/L … ndr14.html. I followed the steps and ran into an error I couldn't solve. (Last quote in this post)
My Xorg config.
Section "ServerLayout"
Identifier "layout"
Screen 0 "intel"
Inactive "nvidia"
Option "AllowNVIDIAGPUScreens"
EndSection
Section "Device"
Identifier "intel"
Driver "modesetting"
BusID "PCI:0:2:0"
Option "DRI" "3"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:1:0:0"
Option "Coolbits" "28"
EndSection
Section "Screen"
Identifier "nvidia"
Device "nvidia"
EndSection
xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x43 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 1 associated providers: 0 name:modesetting
Provider 1: id: 0x2b5 cap: 0x0 crtcs: 0 outputs: 0 associated providers: 0 name:NVIDIA-G0
xrandr --setprovideroutputsource NVIDIA-G0 modesetting
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 35 (RRSetProviderOutputSource)
Value in failed request: 0x2b5
Serial number of failed request: 16
Current serial number in output stream: 17
Last edited by WhyDoWeWonder (2020-03-07 15:53:07)
Offline
The provider list does not suggest that anything is wired to the nvidia chip, output of "lspci"?
nb: please use "code" tags, not "quote" tags for file contents and shell I/O
Consider to edit your previous post itr as well.
Offline
Ok.
lspci
00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers (rev 0d)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 0d)
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Mobile) (rev 02)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 0d)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Cannon Lake PCH Thermal Controller (rev 10)
00:14.0 USB controller: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller (rev 10)
00:14.2 RAM memory: Intel Corporation Cannon Lake PCH Shared SRAM (rev 10)
00:15.0 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH Serial IO I2C Controller #0 (rev 10)
00:15.1 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH Serial IO I2C Controller #1 (rev 10)
00:16.0 Communication controller: Intel Corporation Cannon Lake PCH HECI Controller (rev 10)
00:1b.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #17 (rev f0)
00:1b.4 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #21 (rev f0)
00:1c.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #1 (rev f0)
00:1c.5 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #6 (rev f0)
00:1c.6 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #7 (rev f0)
00:1c.7 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #8 (rev f0)
00:1e.0 Communication controller: Intel Corporation Cannon Lake PCH Serial IO UART Host Controller (rev 10)
00:1f.0 ISA bridge: Intel Corporation Device a30e (rev 10)
00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10)
00:1f.4 SMBus: Intel Corporation Cannon Lake PCH SMBus Controller (rev 10)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH SPI Controller (rev 10)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (7) I219-LM (rev 10)
01:00.0 VGA compatible controller: NVIDIA Corporation TU106GLM [Quadro RTX 3000 Mobile / Max-Q] (rev a1)
03:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM951/PM951 (rev 01)
52:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)
53:00.0 Wireless controller [0d40]: Intel Corporation XMM7360 LTE Advanced Modem (rev 01)
54:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader (rev 01)
Offline
'key… it checks in as regular VGA device, but has no crtc and no output
%)
a) did you power down the GPU? What does "nvidia-smi" report?
b) can you configure it in the BIOS/UEFI?
Offline
a) The GPU is powered down dynamically, it's only powered on when I use it. nvidia-smi returns:
Mon Mar 9 16:52:47 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.64 Driver Version: 440.64 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Quadro RTX 3000 Off | 00000000:01:00.0 Off | N/A |
| N/A 44C P8 5W / N/A | 110MiB / 5934MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1093 G /usr/lib/Xorg 108MiB |
+-----------------------------------------------------------------------------+
b) Yes I can, I can select switchable or dedicated graphics. I have it on swichable because I need the battery life.
Offline
The GPU needss to be powered when you seek to use it's output.
Since this is a Turing chip, you can maybe (i don't know whether that works in the reverse PRIME scenario as well) make use if https://download.nvidia.com/XFree86/Lin … ement.html
https://wiki.archlinux.org/index.php/PR … er_offload
But as long as the GPU is actively used as output, it cannot be completely powered down (eg. by bbswitch, I assume optimus-manager is doing this as well)
Offline
As far as I know, Optimus-manager leaves GPU power management (at least for my configuration) to the Nvidia driver which handles it quite well. I've already followed the instructions at https://download.nvidia.com/XFree86/Lin … ement.html and set up the Turing power managment. I just need to figure out how to get external monitors to work. I can keep my GPU powered when I need to, what do I need to do to get my monitors to work after constantly running a program on the GPU?
Last edited by WhyDoWeWonder (2020-03-09 23:46:43)
Offline
Check the output of "xrandr --listproviders", the nvida GPU needs to have a crtc and an output (or some)
I'm not sure whether "constantly running a program on the GPU" will do, please undo the RTD3 PM efforts (any power saving) to establish a functional baseline and increase power saving from there.
Offline
Okay done, what now?
Offline
What's the updated output of "xrandr --listproviders"? Does the nvidia chip present you w/ a crtc and some outputs?
In that case you can try to set the provider output (and it should no longer fail unlike in post #3)
Offline
I removed the 80-nvidia-pm.rules in /lib/udev/rules.d/ and put
options nvidia "NVreg_DynamicPowerManagement=0x00"
in /etc/modprobe.d/nvidia.conf. I have not changed my xorg config and both xrandr --listproviders and --setprovideroutputsource return the same output. Should I try removing optimus-manager?
Offline
I've been able to use the HDMI port in hybrid mode. I used axrand and once it's open click on the screen menu and enable HDMI and then you're set. Only problem I have is it goes past the bottom of the screen on my HDMI. I haven't had time to mess with it but it works for me
Offline