I have a situation with RHEL 7.9 and an RTX 2070 in an Alienware M15 that I haven't made much progress on lately. I downloaded the latest compatible driver from Nvidia (file name: NVIDIA-Linux-x86_64-510.60.02.run), blacklisted the nouveau driver, and then dropped to init level 3, and successfully installed the driver (lsmod shows it is loaded). But during the guided prompts in the install process it asks if you want it to build an xorg.conf file for you and I selected "yes" but it essentially is non-functional, and would only get so far upon a reboot with displaying the RHEL 7 gray wallpaper but never load the rest of X11 / GDM. The logs showed why.
>>Nvidia Driver Loads but Xorg finds no Available Screens<<
The Xorg logs have shown that it is attempting to enumerate various output screen devices like DP-0, -1, -2, etc. (apparently in xorg speak DP (or DFP) = digital flat panel screens) but is failing to connect and then it eventually stops or fails to load X. Since the X11 boot screen would hang at displaying the RHEL 7 wallpaper, I've been having to interact with the OS in one of the alternate text terminals (<Ctrl><Alt><Fn> (n=1..6)) and I discovered X11 was not actually running (despite something graphical being on terminal 1) when xrandr kept erroring saying it couldn't connect to anything.
After much googling about how to build xorg.conf files from scratch I tried building a config file specifying the BusID for the RTX 2070 card and specified the nvidia driver, but got the same "blank screen" (wall paper only) result.
So (following a troubleshooting thread I found online) I deleted my xorg.conf, ran startx (I wasn't expecting this to work, but miraculously I finally got a full desktop!), then could run xrandr to see the DP and other monitors attached. I finally saw the screen ID for the local laptop screen (see below).
(Quick note: The Alienware M15 does have a built-in Intel card which I believe it is using the driver for to display that though, so this is not a success for working with the nvidia driver.)
>>What I'm Looking For<<
Here's a sneak peek of where I'm going with this question: How do I specify specific monitors I've detected with xrandr in xorg.conf?
So here's the thing. This is a laptop and I wasn't intending on hooking it up initially to an external monitor. With a desktop GUI up and running xrandr a new device that had not so much as been named or detected in the Xorg logs prior called eDP-1 (note the additional e prefix) apparently is the name for the local laptop screen.
In addition, today I decided to hook it up to an external HDMI screen and xrandr showed its device name as well. So here is my question: Armed with this information from xrandr, how do I build my xorg.conf to use those screen and use the nvidia driver for the RTX2070 to handle them?
Also, assumption check here: Am I wrong in thinking that when the Alienware M15 is not hooked up to any monitors that the RTX 2070 can be used to render things on the local screen? Is it a card that can only handle external monitors? If the RTX 2070 can't control the local/builtin laptop screen then no wonder my nvidia driver can't display to it. At this point though I don't even know how to get it to display to the external hdmi connected monitor either (even with the intel driver the external monitor is detected at a signal level, but is totally black for some reason).
Update: Interesting. I removed the nouveau driver blacklisting and updated the grub settings, rebooted, then blacklisted it again, and rebooted (with lsmod showing that the nvidia driver loaded) and with no xorg.conf present (it may be descending into xorg.conf.d and pulling some default config) I did get a GUI this time, just like I do if I manually launch startx. Not sure what changed other than that there is no xorg.conf file present at all. However I really doubt it's using the nvidia driver to do so / display on my local laptop screen, and is instead using the intel driver). Here are some outputs from various commands. Let me know if I should include anything else please.
I'm seeing something new in /var/log/messages which I think is happening when I plug in my HP Envy monitor via HDMI:
Mar 31 11:23:06 kernel: ACPI Exception: AE_NOT_FOUND, Evaluating _DOD (20130517/video-1257) Mar 31 11:23:12 kernel: ACPI Exception: AE_NOT_FOUND, Evaluating _DOD (20130517/video-1257) Mar 31 11:23:18 kernel: ACPI Exception: AE_NOT_FOUND, Evaluating _DOD (20130517/video-1257) Mar 31 11:23:20 kernel: ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130517/nsarguments-95) Mar 31 11:23:20 kernel: ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130517/nsarguments-95) Mar 31 11:23:20 kernel: ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130517/nsarguments-95)
# lspci | egrep "VGA|3D" 00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Mobile) 01:00.0 VGA compatible controller: NVIDIA Corporation TU106M [GeForce RTX 2070 Mobile] (rev a1)
# xrandr Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192 eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm 1920x1080 60.01*+ 60.01 59.97 59.96 48.01 59.93 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 DP-1 disconnected (normal left inverted right x axis y axis) HDMI-1 disconnected (normal left inverted right x axis y axis) DP-2 disconnected (normal left inverted right x axis y axis) HDMI-2 disconnected (normal left inverted right x axis y axis)
# nvidia-xconfig --query-gpu-info Number of GPUs: 1 GPU #0: Name : NVIDIA GeForce RTX 2070 with Max-Q Design UUID : GPU-ccc50115-935f-364f-d0a5-46e1799a9092 PCI BusID : PCI:1:0:0 Number of Display Devices: 1 Display Device 0 (TV-0): EDID Name : HPN HP ENVY 27 Minimum HorizSync : 135.000 kHz Maximum HorizSync : 135.000 kHz Minimum VertRefresh : 40 Hz Maximum VertRefresh : 60 Hz Maximum PixelClock : 600.000 MHz Maximum Width : 3840 pixels Maximum Height : 2160 pixels Preferred Width : 3840 pixels Preferred Height : 2160 pixels Preferred VertRefresh : 60 Hz Physical Width : 600 mm Physical Height : 340 mm
Note how xrandr detects eDP-1 (the laptop screen) but the nvidia command only detects my external HP Envy Monitor.
Here also is a previous attempt at an xorg.conf which was renamed as a backup file. Since this did not work though I deleted xorg.conf, which is its current state.
# nvidia-xconfig: version 510.60.02 Section "ServerLayout" Identifier "Layout0" Screen 0 "Screen0" 0 0 Inactive "IntelDevice" # InputDevice "Keyboard0" "CoreKeyboard" # InputDevice "Mouse0" "CorePointer" EndSection Section "Monitor" Identifier "Monitor0" VendorName "Unknown" ModelName "Unknown" # Option "DPMS" EndSection Section "Device" Identifier "NvidiaDevice" Driver "nvidia" VendorName "NVIDIA Corporation" BusID "PCI:1:0:0" EndSection Section "Device" Identifier "IntelDevice" VendorName "Intel Corporation" BusID "PCI:0:2:0" EndSection Section "Screen" Identifier "Screen0" Device "NvidiaDevice" Monitor "Monitor0" Option "UseDisplayDevice" "None" # DefaultDepth 24 # SubSection "Display" # Depth 24 # EndSubSection EndSection