Black Screen on boot after Nvidia Driver Installation

This is a long thread. This answer is meant to compile all the knowledge that contributed to the solution. My laptop is a Dell Inspiron 7580. Here is the output to inxi -Fxxxa --no-host

System:    Kernel: 5.9.2-arch1-1 x86_64 bits: 64 compiler: gcc v: 10.2.0 
           parameters: BOOT_IMAGE=/boot/vmlinuz-linux root=UUID=53c54b8c-e290-47cb-8f68-4db61e0db4af rw 
           "acpi_osi=Windows 2018" resume=UUID=e85efed0-5a4b-42ad-9746-a276a48be4e9 loglevel=3 nowatchdog 
           Desktop: i3 4.18.3 info: i3bar dm: LightDM 1.30.0 Distro: EndeavourOS 
Machine:   Type: Laptop System: Dell product: Inspiron 7580 v: N/A serial: <superuser/root required> Chassis: 
           type: 10 serial: <superuser/root required> 
           Mobo: Dell model: 04K0W3 v: A00 serial: <superuser/root required> UEFI: Dell v: 1.6.0 
           date: 03/24/2019 
Battery:   ID-1: BAT0 charge: 27.5 Wh condition: 40.1/42.0 Wh (96%) volts: 11.1/11.4 model: SMP DELL Y3F7Y6B 
           type: Li-ion serial: 19118 status: Charging 
CPU:       Info: Quad Core model: Intel Core i7-8565U bits: 64 type: MT MCP arch: Kaby Lake family: 6 
           model-id: 8E (142) stepping: B (11) microcode: D6 L2 cache: 8192 KiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 32012 
           Speed: 900 MHz min/max: 400/4600 MHz Core speeds (MHz): 1: 900 2: 900 3: 900 4: 900 5: 900 6: 900 
           7: 901 8: 900 
           Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
           Type: l1tf status: Not affected 
           Type: mds mitigation: Clear CPU buffers; SMT vulnerable 
           Type: meltdown status: Not affected 
           Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl and seccomp 
           Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization 
           Type: spectre_v2 
           mitigation: Full generic retpoline, IBPB: conditional, IBRS_FW, STIBP: conditional, RSB filling 
           Type: srbds mitigation: Microcode 
           Type: tsx_async_abort status: Not affected 
Graphics:  Device-1: Intel UHD Graphics 620 vendor: Dell driver: i915 v: kernel bus ID: 00:02.0 
           chip ID: 8086:3ea0 
           Device-2: NVIDIA GP108M [GeForce MX250] vendor: Dell driver: nvidia v: 455.38 
           alternate: nouveau,nvidia_drm bus ID: 01:00.0 chip ID: 10de:1d13 
           Device-3: Microdia Integrated_Webcam_HD type: USB driver: uvcvideo bus ID: 1-6:4 chip ID: 0c45:671f 
           Display: x11 server: X.org 1.20.9 compositor: xcompmgr driver: modesetting,nvidia 
           resolution: <xdpyinfo missing> 
           OpenGL: renderer: GeForce MX250/PCIe/SSE2 v: 4.6.0 NVIDIA 455.38 direct render: Yes 
Audio:     Device-1: Intel Cannon Point-LP High Definition Audio vendor: Dell driver: snd_hda_intel v: kernel 
           alternate: snd_soc_skl,snd_sof_pci bus ID: 00:1f.3 chip ID: 8086:9dc8 
           Sound Server: ALSA v: k5.9.2-arch1-1 
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Dell driver: r8169 
           v: kernel modules: r8168 port: 3000 bus ID: 02:00.0 chip ID: 10ec:8168 
           IF: enp2s0 state: up speed: 100 Mbps duplex: full mac: 6c:2b:59:70:7c:d0 
           Device-2: Intel Wireless-AC 9260 driver: iwlwifi v: kernel port: 3000 bus ID: 03:00.0 
           chip ID: 8086:2526 
           IF: wlan0 state: down mac: c6:e8:d1:69:32:52 
           Device-3: Intel Wireless-AC 9260 Bluetooth Adapter type: USB driver: btusb bus ID: 1-10:5 
           chip ID: 8087:0025 
Drives:    Local Storage: total: 535.67 GiB used: 7.18 GiB (1.3%) 
           SMART Message: Unable to run smartctl. Root privileges required. 
           ID-1: /dev/nvme0n1 model: PC SN520 NVMe WDC 512GB size: 476.94 GiB block size: physical: 512 B 
           logical: 512 B speed: 15.8 Gb/s lanes: 2 serial: 184353447702 rev: 20200012 scheme: GPT 
           ID-2: /dev/sda type: USB vendor: SanDisk model: Cruzer Glide size: 58.73 GiB block size: 
           physical: 512 B logical: 512 B serial: 4C530000091008117410 rev: 1.00 scheme: MBR 
           SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure? 
Partition: ID-1: / raw size: 467.84 GiB size: 459.50 GiB (98.22%) used: 7.18 GiB (1.6%) fs: ext4 
           dev: /dev/nvme0n1p2 
Swap:      Kernel: swappiness: 60 (default) cache pressure: 100 (default) 
           ID-1: swap-1 type: partition size: 8.80 GiB used: 0 KiB (0.0%) priority: -2 dev: /dev/nvme0n1p3 
Sensors:   System Temperatures: cpu: 60.0 C mobo: N/A gpu: nvidia temp: 62 C 
           Fan Speeds (RPM): cpu: 0 
Info:      Processes: 228 Uptime: 2h 15m Memory: 7.49 GiB used: 1.74 GiB (23.3%) Init: systemd v: 246 
           Compilers: gcc: 10.2.0 Packages: pacman: 826 lib: 244 Shell: Bash v: 5.0.18 
           running in: xfce4-terminal inxi: 3.1.08 

To filter out the graphics settings, I’ll seperately run inxi -Gxxxa

Graphics:  Device-1: Intel UHD Graphics 620 vendor: Dell driver: i915 v: kernel bus ID: 00:02.0 
           chip ID: 8086:3ea0 
           Device-2: NVIDIA GP108M [GeForce MX250] vendor: Dell driver: nvidia v: 455.38 
           alternate: nouveau,nvidia_drm bus ID: 01:00.0 chip ID: 10de:1d13 
           Device-3: Microdia Integrated_Webcam_HD type: USB driver: uvcvideo bus ID: 1-6:4 chip ID: 0c45:671f 
           Display: x11 server: X.org 1.20.9 compositor: xcompmgr driver: modesetting,nvidia 
           resolution: <xdpyinfo missing> 
           OpenGL: renderer: GeForce MX250/PCIe/SSE2 v: 4.6.0 NVIDIA 455.38 direct render: Yes 

My system has a hybrid card, namely the Intel UHD Graphics 620 and NVIDIA GP108M. This hybrid is heart of a lot of anguish, and stopped a simple install of the nvidia drivers from working.

Solution:

  • Re-install EndeavourOS w/ XFCE and Nvidia tools. Do not reboot!
  • Run lsblk -p to find the home parition. In my case, that partition was /dev/nvme0n1p2. Mount that partition using sudo mount /dev/nvme0n1p2 /mnt and sudo arch-chroot /mnt.
  • Install Optimus-Switch for your display manager. I installed XFCE, which defaulted to LightDM. The guide can be found here. Note: I did not do the steps for the Powering down the nVidia card in Intel Mode or Installing the GUI Indicator/ Switcher Optimus-Indicator as these are for quality of life. I plan on doing these later.
  • Run sudo nano /etc/default/grub. Find the line that says GRUB_CMDLINE_LINUX_DEFAULT. On that line, replace quiet with apci_osi='Windows 2018'. Note: The single ticks on this line are important!
  • Reboot.

While I did these steps with EOS’s default install of XFCE, I do not know how critical that step is; this is the setup that worked for me. After that, I installed i3-gaps and everything was working well.

2 Likes