Laptop Display not Detected

I was using two external monitors and the laptop display for a total of three monitors until a kernel and Nvidia driver update caused a series of issues. Currently only external monitors are detected and work fine, the laptop display doesn’t.

  • Distribution & Version
    Fedora 31 and Gnome 3.34.1 on System76 Oryx Pro 5 (Nvidia GeForce RTX 2060 - Nvidia Driver 440.36)
  • Kernel information
    Linux oryx 5.3.13-300.fc31.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
  • When did the issue start happening?
  • Did anything change that caused it? (hardware change, upgrade)
  • What steps do you take that cause the problem?
    After a kernel and Nvidia Driver update on Fedora 30, the system was booting to Intel Driver only.
    I updated to Fedora 31, no change.
    After another kernel update, the system would not boot into graphical user mode, I received the error “NVIDIA kernel module missing, falling back to nouveau” but system was stuck there, all I could do was ctrl+alt+del to reboot. I booted into runlevel 3 and updated the kernel again and I was able to boot into graphical mode again now. But the laptop’s display is not working. During boot the laptop display works, I enter luks password, see grub menu, see Fedora logo and spinning wheel, but once it is time for the OS login, the screen goes black with a cursor in the top left corner. If I connect an external display the login prompt is there waiting to login.
    output from xrandr with my two external monitors connected:
    $ xrandr
    Screen 0: minimum 8 x 8, current 3360 x 1080, maximum 32767 x 32767
    DP-0 disconnected (normal left inverted right x axis y axis)
    DP-1 disconnected (normal left inverted right x axis y axis)
    HDMI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 509mm x 286mm
    1920x1080 60.00*+
    1680x1050 59.95
    1440x900 59.89
    1280x1024 60.02
    1280x800 59.81
    1280x720 60.00
    1152x864 75.00
    1024x768 70.07 60.00
    800x600 60.32 56.25
    640x480 59.94
    DP-2 disconnected (normal left inverted right x axis y axis)
    DP-3 connected 1440x900+1920+0 (normal left inverted right x axis y axis) 408mm x 255mm
    1440x900 59.89*+
    1280x1024 75.02 60.02
    1280x960 60.00
    1152x864 75.00
    1024x768 75.03 70.07 60.00
    800x600 75.00 60.32 56.25
    640x480 75.00 59.94

Personally, I’d just contact System76 support. I’d help, but I can’t replicate your setup so that would be your best bet. Let us know what the solution is, in case anyone else runs into this issue.

1 Like

I am not an expert with graphics but I would try to login with an external monitor and when you are at the login screen I would select the Gnome session using Xorg rather than the default Wayland and then try it with the laptop display. You can find that option in the cog wheel from the login screen under the user name.

They only support PopOS and Ubuntu unfortunately.

The options I have are Gnome and Gnome Classic, I tried both but had the same result with each.

Also not a graphics expert but interested if you get laptop display if you start the system from a PopOS live USB, maybe worth comparing kernel modules loaded etc between working and not working. :man_shrugging:

Could be that on Fedora the X session is no longer available. But in your case it seems it would not make any real difference. I think the problem here is more serious.

The screen is detected on a Pop live usb as well as a Fedora 31 live usb.
How would I go about comparing the kernel modules?

Sorry for the late response, you could try ‘lsmod’ on both systems, I can’t guarantee that it’ll be helpful information but worth a go perhaps.

Looking at the bootup logs it seems to still be failing back to nouveau? (bold line)
Dec 17 19:54:25 oryx kernel: Command line: BOOT_IMAGE=(hd0,gpt2)/vmlinuz-5.3.16-300.fc31.x86_64 root=/dev/mapper/luks-80b40500-d0a8-4fe6-82b0-1f837e3f860c ro crashkernel=128M resume=/dev/mapper/samsungpro-swap rd.luks.uuid=luks-28a349b9-d708-484d-94e5-56dca66531a1 rd.luks.uuid=luks-80b40500-d0a8-4fe6-82b0-1f837e3f860c rd.lvm.lv=samsungpro/root rd.lvm.lv=samsungpro/swap rhgb quiet rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1
Dec 17 19:54:25 oryx kernel: Kernel command line: BOOT_IMAGE=(hd0,gpt2)/vmlinuz-5.3.16-300.fc31.x86_64 root=/dev/mapper/luks-80b40500-d0a8-4fe6-82b0-1f837e3f860c ro crashkernel=128M resume=/dev/mapper/samsungpro-swap rd.luks.uuid=luks-28a349b9-d708-484d-94e5-56dca66531a1 rd.luks.uuid=luks-80b40500-d0a8-4fe6-82b0-1f837e3f860c rd.lvm.lv=samsungpro/root rd.lvm.lv=samsungpro/swap rhgb quiet rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1
Dec 17 19:54:25 oryx dracut-cmdline[363]: Using kernel command line parameters: BOOT_IMAGE=(hd0,gpt2)/vmlinuz-5.3.16-300.fc31.x86_64 root=/dev/mapper/luks-80b40500-d0a8-4fe6-82b0-1f837e3f860c ro crashkernel=128M resume=/dev/mapper/samsungpro-swap rd.luks.uuid=luks-28a349b9-d708-484d-94e5-56dca66531a1 rd.luks.uuid=luks-80b40500-d0a8-4fe6-82b0-1f837e3f860c rd.lvm.lv=samsungpro/root rd.lvm.lv=samsungpro/swap rhgb quiet rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1
Dec 17 19:55:07 oryx kernel: nvidia: loading out-of-tree module taints kernel.
Dec 17 19:55:07 oryx kernel: nvidia: module license ‘NVIDIA’ taints kernel.
Dec 17 19:55:07 oryx kernel: nvidia: module verification failed: signature and/or required key missing - tainting kernel
Dec 17 19:55:07 oryx kernel: nvidia-nvlink: Nvlink Core is being initialized, major device number 237
Dec 17 19:55:07 oryx kernel: nvidia 0000:01:00.0: enabling device (0106 → 0107)
Dec 17 19:55:07 oryx kernel: nvidia 0000:01:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=none
Dec 17 19:55:07 oryx kernel: nvidia-uvm: Loaded the UVM driver, major device number 235.
Dec 17 19:55:07 oryx systemd-udevd[1012]: nvidia: Process ‘/usr/bin/bash -c ‘/usr/bin/mknod -Z -m 666 /dev/nvidiactl c 195 255’’ failed with exit code 1.
Dec 17 19:55:07 oryx systemd-udevd[1012]: nvidia: Process ‘/usr/bin/bash -c ‘for i in $(cat /proc/driver/nvidia/gpus/*/information | grep Minor | cut -d \ -f 4); do /usr/bin/mknod -Z -m 666 /dev/nvidia${i} c 195 ${i}; done’’ failed with exit code 1.
Dec 17 19:55:07 oryx kernel: nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 440.44 Sun Dec 8 03:29:48 UTC 2019
Dec 17 19:55:07 oryx kernel: [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
Dec 17 19:55:08 oryx kernel: [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 1
Dec 17 19:55:09 oryx audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg=‘unit=abrt-xorg comm=“systemd” exe=“/usr/lib/systemd/systemd” hostname=? addr=? terminal=? res=success’
Dec 17 19:55:10 oryx systemd[1]: Condition check resulted in Fallback to nouveau as nvidia did not load being skipped.
Dec 17 19:55:10 oryx /usr/libexec/gdm-x-session[1579]: (–) Log file renamed from “/var/lib/gdm/.local/share/xorg/Xorg.pid-1582.log” to “/var/lib/gdm/.local/share/xorg/Xorg.0.log”
Dec 17 19:55:10 oryx /usr/libexec/gdm-x-session[1579]: Kernel command line: BOOT_IMAGE=(hd0,gpt2)/vmlinuz-5.3.16-300.fc31.x86_64 root=/dev/mapper/luks-80b40500-d0a8-4fe6-82b0-1f837e3f860c ro crashkernel=128M resume=/dev/mapper/samsungpro-swap rd.luks.uuid=luks-28a349b9-d708-484d-94e5-56dca66531a1 rd.luks.uuid=luks-80b40500-d0a8-4fe6-82b0-1f837e3f860c rd.lvm.lv=samsungpro/root rd.lvm.lv=samsungpro/swap rhgb quiet rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1
Dec 17 19:55:10 oryx /usr/libexec/gdm-x-session[1579]: Build ID: xorg-x11-server 1.20.6-1.fc31
Dec 17 19:55:10 oryx /usr/libexec/gdm-x-session[1579]: (==) Log file: “/var/lib/gdm/.local/share/xorg/Xorg.0.log”, Time: Tue Dec 17 19:55:10 2019
Dec 17 19:55:10 oryx /usr/libexec/gdm-x-session[1579]: (==) Using config file: “/etc/X11/xorg.conf”
Dec 17 19:55:10 oryx /usr/libexec/gdm-x-session[1579]: (==) Using config directory: “/etc/X11/xorg.conf.d”
Dec 17 19:55:10 oryx /usr/libexec/gdm-x-session[1579]: (==) Using system config directory “/usr/share/X11/xorg.conf.d”
Dec 17 19:55:10 oryx /usr/libexec/gdm-x-session[1579]: (==) ModulePath set to “/usr/lib64/xorg/modules”
Dec 17 19:55:10 oryx /usr/libexec/gdm-x-session[1579]: (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
Dec 17 19:55:10 oryx /usr/libexec/gdm-x-session[1579]: (II) LoadModule: “nvidia”
Dec 17 19:55:10 oryx /usr/libexec/gdm-x-session[1579]: (II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so
Dec 17 19:55:10 oryx /usr/libexec/gdm-x-session[1579]: (II) Module nvidia: vendor=“NVIDIA Corporation”
Dec 17 19:55:11 oryx /usr/libexec/gdm-x-session[1579]: (II) Loading /usr/lib64/xorg/modules/libfb.so
Dec 17 19:55:11 oryx /usr/libexec/gdm-x-session[1579]: (II) Loading /usr/lib64/xorg/modules/libwfb.so
Dec 17 19:55:11 oryx /usr/libexec/gdm-x-session[1579]: (II) Applying OutputClass “nvidia” options to /dev/dri/card1
Dec 17 19:55:11 oryx /usr/libexec/gdm-x-session[1579]: (II) Loading sub module “glxserver_nvidia”
Dec 17 19:55:11 oryx /usr/libexec/gdm-x-session[1579]: (II) LoadModule: “glxserver_nvidia”
Dec 17 19:55:11 oryx /usr/libexec/gdm-x-session[1579]: (II) Loading /usr/lib64/xorg/modules/extensions/libglxserver_nvidia.so
Dec 17 19:55:11 oryx /usr/libexec/gdm-x-session[1579]: (II) Module glxserver_nvidia: vendor=“NVIDIA Corporation”
Dec 17 19:55:11 oryx /usr/libexec/gdm-x-session[1579]: (==) NVIDIA(0): No modes were requested; the default mode “nvidia-auto-select”
Dec 17 19:55:11 oryx /usr/libexec/gdm-x-session[1579]: (II) NVIDIA(0): “DFP-4:nvidia-auto-select,DFP-2:nvidia-auto-select”
Dec 17 19:55:11 oryx /usr/libexec/gdm-x-session[1579]: (WW) NVIDIA: ‘/var/run/nvidia-xdriver-5ac29685’ Permission denied
Dec 17 19:55:11 oryx /usr/libexec/gdm-x-session[1579]: (II) NVIDIA(0): Setting mode “DFP-4:nvidia-auto-select,DFP-2:nvidia-auto-select”
Dec 17 19:55:11 oryx /usr/libexec/gdm-x-session[1579]: (II) NVIDIA(0): [DRI2] VDPAU driver: nvidia
Dec 17 19:55:11 oryx /usr/libexec/gdm-x-session[1579]: (II) Loading /usr/lib64/xorg/modules/input/libinput_drv.so
Dec 17 19:55:11 oryx /usr/libexec/gdm-x-session[1579]: (II) NVIDIA(0): Setting mode “DP-3: nvidia-auto-select @1440x900 +0+0 {ViewPortIn=1440x900, ViewPortOut=1440x900+0+0}, HDMI-0: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}”
Dec 17 19:55:11 oryx /usr/libexec/gdm-x-session[1579]: (II) NVIDIA(0): Setting mode “DP-3: nvidia-auto-select @1440x900 +1920+0 {ViewPortIn=1440x900, ViewPortOut=1440x900+0+0}, HDMI-0: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}”
Dec 17 19:55:23 oryx /usr/libexec/gdm-x-session[2336]: (–) Log file renamed from “/home/jared/.local/share/xorg/Xorg.pid-2339.log” to “/home/jared/.local/share/xorg/Xorg.1.log”
Dec 17 19:55:23 oryx /usr/libexec/gdm-x-session[2336]: Kernel command line: BOOT_IMAGE=(hd0,gpt2)/vmlinuz-5.3.16-300.fc31.x86_64 root=/dev/mapper/luks-80b40500-d0a8-4fe6-82b0-1f837e3f860c ro crashkernel=128M resume=/dev/mapper/samsungpro-swap rd.luks.uuid=luks-28a349b9-d708-484d-94e5-56dca66531a1 rd.luks.uuid=luks-80b40500-d0a8-4fe6-82b0-1f837e3f860c rd.lvm.lv=samsungpro/root rd.lvm.lv=samsungpro/swap rhgb quiet rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1
Dec 17 19:55:23 oryx /usr/libexec/gdm-x-session[2336]: Build ID: xorg-x11-server 1.20.6-1.fc31
Dec 17 19:55:23 oryx /usr/libexec/gdm-x-session[2336]: (==) Log file: “/home/jared/.local/share/xorg/Xorg.1.log”, Time: Tue Dec 17 19:55:23 2019
Dec 17 19:55:23 oryx /usr/libexec/gdm-x-session[2336]: (==) Using config file: “/etc/X11/xorg.conf”
Dec 17 19:55:23 oryx /usr/libexec/gdm-x-session[2336]: (==) Using config directory: “/etc/X11/xorg.conf.d”
Dec 17 19:55:23 oryx /usr/libexec/gdm-x-session[2336]: (==) Using system config directory “/usr/share/X11/xorg.conf.d”
Dec 17 19:55:23 oryx /usr/libexec/gdm-x-session[2336]: (==) ModulePath set to “/usr/lib64/xorg/modules”
Dec 17 19:55:23 oryx /usr/libexec/gdm-x-session[2336]: (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
Dec 17 19:55:23 oryx /usr/libexec/gdm-x-session[2336]: (II) LoadModule: “nvidia”
Dec 17 19:55:23 oryx /usr/libexec/gdm-x-session[2336]: (II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so
Dec 17 19:55:23 oryx /usr/libexec/gdm-x-session[2336]: (II) Module nvidia: vendor=“NVIDIA Corporation”
Dec 17 19:55:24 oryx /usr/libexec/gdm-x-session[2336]: (II) Loading /usr/lib64/xorg/modules/libfb.so
Dec 17 19:55:24 oryx /usr/libexec/gdm-x-session[2336]: (II) Loading /usr/lib64/xorg/modules/libwfb.so
Dec 17 19:55:24 oryx /usr/libexec/gdm-x-session[2336]: (II) Applying OutputClass “nvidia” options to /dev/dri/card1
Dec 17 19:55:24 oryx /usr/libexec/gdm-x-session[2336]: (II) Loading sub module “glxserver_nvidia”
Dec 17 19:55:24 oryx /usr/libexec/gdm-x-session[2336]: (II) LoadModule: “glxserver_nvidia”
Dec 17 19:55:24 oryx /usr/libexec/gdm-x-session[2336]: (II) Loading /usr/lib64/xorg/modules/extensions/libglxserver_nvidia.so
Dec 17 19:55:24 oryx /usr/libexec/gdm-x-session[2336]: (II) Module glxserver_nvidia: vendor=“NVIDIA Corporation”
Dec 17 19:55:24 oryx /usr/libexec/gdm-x-session[2336]: (==) NVIDIA(0): No modes were requested; the default mode “nvidia-auto-select”
Dec 17 19:55:24 oryx /usr/libexec/gdm-x-session[2336]: (II) NVIDIA(0): “DFP-4:nvidia-auto-select,DFP-2:nvidia-auto-select”
Dec 17 19:55:24 oryx /usr/libexec/gdm-x-session[2336]: (WW) NVIDIA: ‘/var/run/nvidia-xdriver-a4e6dd2f’ Permission denied
Dec 17 19:55:24 oryx /usr/libexec/gdm-x-session[2336]: (II) NVIDIA(0): Setting mode “DFP-4:nvidia-auto-select,DFP-2:nvidia-auto-select”
Dec 17 19:55:24 oryx /usr/libexec/gdm-x-session[2336]: (II) NVIDIA(0): [DRI2] VDPAU driver: nvidia
Dec 17 19:55:24 oryx /usr/libexec/gdm-x-session[2336]: (II) Loading /usr/lib64/xorg/modules/input/libinput_drv.so
Dec 17 19:55:24 oryx /usr/libexec/gdm-x-session[2336]: (II) NVIDIA(0): Setting mode “DP-3: nvidia-auto-select @1440x900 +0+0 {ViewPortIn=1440x900, ViewPortOut=1440x900+0+0}, HDMI-0: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}”
Dec 17 19:55:24 oryx /usr/libexec/gdm-x-session[2336]: (II) NVIDIA(0): Setting mode “DP-3: nvidia-auto-select @1440x900 +1920+0 {ViewPortIn=1440x900, ViewPortOut=1440x900+0+0}, HDMI-0: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}”
Dec 17 19:57:32 oryx kernel: Modules linked in: rfcomm ccm xt_CHECKSUM xt_MASQUERADE nf_nat_tftp nf_conntrack_tftp tun bridge stp llc nf_conntrack_netbios_ns nf_conntrack_broadcast xt_CT ip6t_REJECT nf_reject_ipv6 ip6t_rpfilter ipt_REJECT nf_reject_ipv4 xt_conntrack ebtable_nat ebtable_broute ip6table_nat ip6table_mangle ip6table_raw ip6table_security iptable_nat nf_nat iptable_mangle iptable_raw iptable_security nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c ip_set nfnetlink ebtable_filter ebtables ip6table_filter ip6_tables iptable_filter cmac bnep sunrpc vfat fat snd_soc_skl snd_soc_hdac_hda snd_hda_ext_core snd_soc_skl_ipc snd_soc_sst_ipc snd_soc_sst_dsp snd_soc_acpi_intel_match x86_pkg_temp_thermal snd_soc_acpi iwlmvm snd_hda_codec_realtek intel_powerclamp snd_hda_codec_hdmi snd_soc_core iTCO_wdt coretemp snd_hda_codec_generic nvidia_drm(POE) mac80211 iTCO_vendor_support nvidia_modeset(POE) ledtrig_audio intel_rapl_msr snd_compress kvm_intel ac97_bus snd_pcm_dmaengine snd_hda_intel system76(OE)
Dec 17 19:57:32 oryx kernel: libarc4 snd_hda_codec kvm nvidia_uvm(OE) uvcvideo snd_hda_core btusb videobuf2_vmalloc irqbypass videobuf2_memops btrtl intel_cstate iwlwifi snd_hwdep videobuf2_v4l2 btbcm snd_seq intel_uncore btintel videobuf2_common snd_seq_device bluetooth snd_pcm intel_rapl_perf nvidia(POE) videodev wmi_bmof rtsx_pci_ms snd_timer cfg80211 joydev memstick mc ecdh_generic i2c_i801 snd ecc ipmi_devintf soundcore idma64 ipmi_msghandler processor_thermal_device intel_rapl_common intel_lpss_pci rfkill intel_lpss int3403_thermal intel_soc_dts_iosf intel_pch_thermal int340x_thermal_zone int3400_thermal acpi_thermal_rel acpi_pad intel_hid sparse_keymap ip_tables dm_crypt hid_logitech_hidpp i915 rtsx_pci_sdmmc mmc_core i2c_algo_bit crct10dif_pclmul drm_kms_helper crc32_pclmul crc32c_intel mxm_wmi nvme drm nvme_core r8169 rtsx_pci serio_raw ghash_clmulni_intel hid_logitech_dj pinctrl_cannonlake wmi video pinctrl_intel fuse

Here is the installed Fedora 31 lsmod (screen doesn’t work)
lsmod | egrep nvidia|nouveau|intel
snd_soc_acpi_intel_match 28672 1 snd_soc_skl
snd_soc_acpi 16384 2 snd_soc_acpi_intel_match,snd_soc_skl
intel_powerclamp 20480 0
nvidia_drm 57344 8
nvidia_modeset 1118208 13 nvidia_drm
intel_rapl_msr 20480 0
kvm_intel 299008 0
snd_hda_intel 57344 6
snd_hda_codec 159744 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_hdac_hda
kvm 770048 1 kvm_intel
nvidia_uvm 1081344 0
snd_hda_core 102400 8 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_soc_hdac_hda,snd_soc_skl
intel_cstate 20480 0
intel_uncore 147456 0
btintel 28672 1 btusb
bluetooth 626688 41 btrtl,btintel,btbcm,bnep,btusb,rfcomm
snd_pcm 114688 8 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_soc_core,snd_soc_skl,snd_hda_core,snd_pcm_dmaengine
intel_rapl_perf 16384 0
nvidia 20443136 581 nvidia_uvm,nvidia_modeset
snd 98304 24 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm
ipmi_msghandler 73728 2 ipmi_devintf,nvidia
intel_rapl_common 28672 2 intel_rapl_msr,processor_thermal_device
intel_lpss_pci 20480 0
intel_lpss 16384 1 intel_lpss_pci
intel_soc_dts_iosf 20480 1 processor_thermal_device
intel_pch_thermal 16384 0
intel_hid 20480 0
sparse_keymap 16384 1 intel_hid
drm_kms_helper 212992 2 nvidia_drm,i915
crc32c_intel 24576 7
drm 512000 14 drm_kms_helper,nvidia_drm,i915
ghash_clmulni_intel 16384 0
pinctrl_intel 32768 1 pinctrl_cannonlake

Ah, yeah, see anything systemd gets involved with goes to pieces :smile:

I’m not at a computer at the moment but that mknod failure (creating a /dev entry for the device) seems like the culprit for sure. I just don’t know enough about boot time device management.

I wonder if adding debug to kernel options would give some more info.