You are not logged in.
Dear Community,
I am running a Lenovo P15 Gen 1 with hybrid graphics (i7-10750H, Quadro T2000) using PRIME render offload. When I try:
xrandr:
Screen 0: minimum 320 x 200, current 3840 x 2160, maximum 16384 x 16384
eDP-1 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
3840x2160 60.00*+ 59.98 59.97
3200x1800 59.96 59.94
2880x1620 59.96 59.97
2560x1600 59.99 59.97
2560x1440 59.99 59.99 59.96 59.95
2048x1536 60.00
1920x1440 60.00
1856x1392 60.01
1792x1344 60.01
2048x1152 59.99 59.98 59.90 59.91
1920x1200 59.88 59.95
1920x1080 60.01 59.97 59.96 59.93
1600x1200 60.00
1680x1050 59.95 59.88
1400x1050 59.98
1600x900 59.99 59.94 59.95 59.82
1280x1024 60.02
1400x900 59.96 59.88
1280x960 60.00
1440x810 60.00 59.97
1368x768 59.88 59.85
1280x800 59.99 59.97 59.81 59.91
1280x720 60.00 59.99 59.86 59.74
1024x768 60.04 60.00
960x720 60.00
928x696 60.05
896x672 60.01
1024x576 59.95 59.96 59.90 59.82
960x600 59.93 60.00
960x540 59.96 59.99 59.63 59.82
800x600 60.00 60.32 56.25
840x525 60.01 59.88
864x486 59.92 59.57
700x525 59.98
800x450 59.95 59.82
640x512 60.02
700x450 59.96 59.88
640x480 60.00 59.94
720x405 59.51 58.99
684x384 59.88 59.85
640x400 59.88 59.98
640x360 59.86 59.83 59.84 59.32
512x384 60.00
512x288 60.00 59.92
480x270 59.63 59.82
400x300 60.32 56.34
432x243 59.92 59.57
320x240 60.05
360x202 59.51 59.13
320x180 59.84 59.32
HDMI-1-0 connected
1920x1080 60.00 + 59.94 50.00 23.98
1440x900 119.85
1280x1024 75.02
1280x720 60.00 59.94 50.00
1024x768 119.99 100.00 75.03 60.00
800x600 119.97 100.00 75.00 60.32
720x576 50.00
720x480 59.94
640x480 120.01 99.99 75.00 59.93 59.94
and run:
xrandr --output "eDP-1" --auto --output "HDMI-1-0" --auto --above "eDP-1"
I get an error:
xrandr: Configure crtc 3 failed
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: 21 (RRSetCrtcConfig)
Value in failed request: 0x0
Serial number of failed request: 63
Current serial number in output stream: 63
I wasn't sure how to interpret this error. I am just guessing that maybe only the dGPU is connected to the HDMI port. Is there a command to see which GPU is connected to which port?
Also I thought maybe it is necessary to activate PRIME Synchronization to connect a second monitor. So I enabled modesetting on my nvidia GPU after checking some xrandr outputs
> 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: 1 name:modesetting
Provider 1: id: 0x2b5 cap: 0x2, Sink Output crtcs: 4 outputs: 5 associated providers: 1 name:NVIDIA-G0
> xrandr --prop
Screen 0: minimum 320 x 200, current 3840 x 2160, maximum 16384 x 16384
eDP-1 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
EDID:
00ffffffffffff000e6f001500000000
001d0104b522137803c13da85335b726
114f5700000001010101010101010101
01010101010140ce00a0f07028803020
350058c2100000180000000000000000
00000000000000000018000000fe0043
534f542054330a2020202020000000fe
004d4e463630314541312d310a200148
02030f00e3058000e606050173732100
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
0000000000000000000000000000008b
scaling mode: Full aspect
supported: Full, Center, Full aspect
Colorspace: Default
supported: Default, RGB_Wide_Gamut_Fixed_Point, RGB_Wide_Gamut_Floating_Point, opRGB, DCI-P3_RGB_D65, BT2020_RGB, BT601_YCC, BT709_YCC, XVYCC_601, XVYCC_709, SYCC_601, opYCC_601, BT2020_CYCC, BT2020_YCC
max bpc: 12
range: (6, 12)
Broadcast RGB: Automatic
supported: Automatic, Full, Limited 16:235
panel orientation: Normal
supported: Normal, Upside Down, Left Side Up, Right Side Up
link-status: Good
supported: Good, Bad
CONNECTOR_ID: 95
supported: 95
non-desktop: 0
range: (0, 1)
HDMI-1-0 connected
EDID:
00ffffffffffff0009d1147f45540000
21170103803c22782e3dc1a4564e9e28
0f5054a56b80d1c0317c4568457c6168
617c953c3168023a801871382d40582c
450055502100001e000000ff004c3844
3034393735534c300a20000000fd0018
780f8711000a202020202020000000fc
0042656e5120584c32373230540a0187
020323f1509005040302011112131406
0715161f202309070765030c00200083
010000023a801871382d40582c450055
502100001f011d8018711c1620582c25
0055502100009f011d007251d01e206e
28550055502100001f8c0ad08a20e02d
10103e96005550210000190000000000
00000000000000000000000000000017
PRIME Synchronization: 1
supported: 0, 1
CTM: 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
0 1
CscMatrix: 65536 0 0 0 0 65536 0 0 0 0 65536 0
BorderDimensions: 4
supported: 4
Border: 0 0 0 0
range: (0, 65535)
SignalFormat: TMDS
supported: TMDS
ConnectorType: HDMI
ConnectorNumber: 1
_ConnectorLocation: 1
non-desktop: 0
supported: 0, 1
and rebooted. Now I tried:
xrandr --output "eDP-1" --auto --output "HDMI-1-0" --set "PRIME Synchronization" 1 --auto --above "eDP-1"
and
xrandr --output "eDP-1" --set "PRIME Synchronization" 1 --auto --output "HDMI-1-0" --auto --above "eDP-1" --set "PRIME Synchronization" 1
since I wasn't sure about the command order. Both led to
X Error of failed request: BadName (named color or font does not exist)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 11 (RRQueryOutputProperty)
Serial number of failed request: 50
Current serial number in output stream: 50
So I am not even sure whether or not PRIME Synchronization is the answer to my problem. I am also not sure if my problem is that the iGPU is not connected to the external HDMI output but the dGPU is since I don't know how to check this property. I would be very happy if you could tell me how to find an optimal solution for my problem. (When I connect an external display to my notebook I am almost always connected to a power source.)
Thank you very much in advance for your time and help!
Offline
X Error of failed request: BadValue (integer parameter out of range for operation)
The last time I saw this it error was due to a conflict in driver and configuration files, and the "solution" was to remove all NVIDIA packages and related config files (see e.g. `lostfiles`), then start over.
Last edited by jonathon (2021-01-14 22:32:51)
Offline
Tried to remove all nvidia config files in /usr/share/X11/** and removed all nvidia related files in /etc/X11/xorg.conf.d as well as /etc/X11/xorg.conf is now an empty file.
Also tried to reboot and reinstall nvidia drivers but since I wasn't able to get a working setup I reset everything to the without any driver state. Now atm I only have the "mesa" package and
xrandr prints now:
Screen 0: minimum 320 x 200, current 3840 x 2160, maximum 16384 x 16384
eDP-1 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
3840x2160 60.00*+ 59.98 59.97
3200x1800 59.96 59.94
2880x1620 59.96 59.97
2560x1600 59.99 59.97
2560x1440 59.99 59.99 59.96 59.95
2048x1536 60.00
1920x1440 60.00
1856x1392 60.01
1792x1344 60.01
2048x1152 59.99 59.98 59.90 59.91
1920x1200 59.88 59.95
1920x1080 60.01 59.97 59.96 59.93
1600x1200 60.00
1680x1050 59.95 59.88
1400x1050 59.98
1600x900 59.99 59.94 59.95 59.82
1280x1024 60.02
1400x900 59.96 59.88
1280x960 60.00
1440x810 60.00 59.97
1368x768 59.88 59.85
1280x800 59.99 59.97 59.81 59.91
1280x720 60.00 59.99 59.86 59.74
1024x768 60.04 60.00
960x720 60.00
928x696 60.05
896x672 60.01
1024x576 59.95 59.96 59.90 59.82
960x600 59.93 60.00
960x540 59.96 59.99 59.63 59.82
800x600 60.00 60.32 56.25
840x525 60.01 59.88
864x486 59.92 59.57
700x525 59.98
800x450 59.95 59.82
640x512 60.02
700x450 59.96 59.88
640x480 60.00 59.94
720x405 59.51 58.99
684x384 59.88 59.85
640x400 59.88 59.98
640x360 59.86 59.83 59.84 59.32
512x384 60.00
512x288 60.00 59.92
480x270 59.63 59.82
400x300 60.32 56.34
432x243 59.92 59.57
320x240 60.05
360x202 59.51 59.13
320x180 59.84 59.32
and xrandr --listproviders shows:
Providers: number : 1
Provider 0: id: 0x43 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 1 associated providers: 0 name:modesetting
lspci | grep VGA shows:
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics (rev 05)
01:00.0 VGA compatible controller: NVIDIA Corporation TU117GLM [Quadro T2000 Mobile / Max-Q] (rev a1)
Could you maybe tell me how to exactly get a working setup?
1 - My intention would be to be able to detect and determine to which GPU my HDMI and DP ports are connected
2 - Choose a proper setup based on my findings e.g. PRIME render offload
3 - Install it in a way that it works
(I already tried it before - but as it seems it didn't work out quite so well https://bbs.archlinux.org/viewtopic.php?id=261934 in this thread I also got the default hint you always got here "follow the guides" - therefore to show them I tried to I explained in detail which steps I followed in which order and that it still didn't work out for me - maybe I am especially stupid - but still I at least was able to aquire 1.0 masters degree in computer science (maybe more on the theoretical/mathematical path) but I can't be that stupid)
Last edited by Komisch (2021-01-15 00:51:51)
Offline
By removing the nvidia file (... hopefully just the nvidia file?) under /usr/share/X11 (this is a package provided location you usually don't want to muck around there manually) you've broken the nvidia driver integration with xorg.
To fix that, reinstall nvidia-utils. Adding another monitor is a different goal from what your other thread talked about, and requires one additional step in xrandr, which is mentioned in https://wiki.archlinux.org/index.php/PR … erse_PRIME (... and for an initial test just this small section).
So given you've restored the setup to a point as it was in your original post, you need to run
xrandr --setprovideroutputsource NVIDIA-G0 modesetting
xrandr --auto
Verify this works first, worry about proper alignment later.
Offline
Hi V1del,
had to completely reinstall Archlinux took me some time.
Prime render offload seemd to work now by simple installing the nvidia package and the nvidia-prime and rebooting the system. No further adjustments. Could check with glxinfo. Anyways I added both xrandr commands to my .xinitrc even so the first one still throws a badvalue error (when executed manually with a running xserver).
Afterwards I installed the optimus-manager and the optimus-manager-qt. I enabled the systemctl service (optimus-manager.service) and added the qt to my .xinitrc script:
xrandr --setprovideroutputsource NVIDIA-G0 modesetting
xrandr --auto
# stuff
./usr/bin/primeoffload &
optimus-manager-qt &
exec i3
then in https://github.com/Askannz/optimus-manager , since I run startx directly from terminal there was this guide telling me how to run a command after the xserver has stopped (by adding the following to my .zshrc):
if systemctl -q is-active graphical.target && [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]];
then
sudo /usr/bin/prime-switch
exec startx
fi
and added to /etc/sudoers
myUsername ALL = NOPASSWD: /usr/bin/prime-switch
but I can't get the optimus-manager to work. It somehow defaulted to shutting down the Nvidia GPU and only run on intel. Which would be nice when I would know how to change the mode again (I mean not the command but making the command actually work.).
When I execute the
optimus-manager --switch hybrid
from terminal I get:
ERROR: a GPU setup was initiated but Xorg post-start hook did not run.
Log at /var/log/optimus-manager/switch/switch-20210117T192606.log
If your login manager is GDM, make sure to follow those instructions:
https://github.com/Askannz/optimus-manager#important--gnome-and-gdm-users
If your display manager is neither GDM, SDDM nor LightDM, or if you don't use one, read the wiki:
https://github.com/Askannz/optimus-manager/wiki/FAQ,-common-issues,-troubleshooting
The referenced log shows:
[23] INFO: # Xorg pre-start hook
[23] INFO: Previous state was: {'type': 'pending_pre_xorg_start', 'requested_mode': 'intel', 'current_mode': None}
[23] INFO: Requested mode is: intel
[23] INFO: Checking for GDM display servers
[1209] INFO: Available modules: ['nouveau', 'acpi_call', 'nvidia', 'nvidia_drm', 'nvidia_modeset', 'nvidia_uvm']
[1209] INFO: Unloading modules ['nvidia_drm', 'nvidia_modeset', 'nvidia_uvm', 'nvidia'] (if loaded)
[1213] INFO: Setting Nvidia PCI power state to auto
[1269] INFO: Loaded extra Intel Xorg options (0 lines)
[1269] INFO: Loaded extra Intel Xorg options (0 lines)
[1269] INFO: Writing to /etc/X11/xorg.conf.d/10-optimus-manager.conf
[1269] INFO: Writing state {'type': 'pending_post_xorg_start', 'switch_id': '20210117T195210', 'requested_mode': 'intel'}
[1269] INFO: Xorg pre-start hook completed successfully.
Even so the tray (optimus-manager-qt) as well as xrandr --listproviders now shows again that I am in intel only mode:
Providers: number : 1
Provider 0: id: 0x43 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 1 associated providers: 0 name:modesetting
So I am guessing I am almost where I would like to get with my setup but still a very small step away...
@Edit
noticed that the . in ./usr/bin/primeoffload & is most likely idiocy and removed it - rebooted and checked again - everything as before - same errors (just to fix this error before somebody mentions it)
@Edit
Solved the problem missing dash in prime-offload ....
Still have another problem that is only indirectly linked with this one - will create a separate thread (autostart apps in i3wm - ofc I know the guide and a lot of different approaches but the official ones all seem not to work).
Last edited by Komisch (2021-01-17 20:50:58)
Offline