Problem with nvidia-installer-dkms on hybrid graphics booting to black screen

I noticed a problem with nvidia-installer-dkms script on hybrid card laptops. If that helps, here is my hardware and boot log https://clbin.com/se9jO. I installed lts and new kernel, but right now I am in lts.

  • When I try installing eos via online install and selecting Nvidia at boot failed the installation (recent iso from August), including kde plasma and cinnamon. The step that fails reported in the pacman log is the nvidia-installer-dkms. Installation of eos via nouveau driver works without problem.

  • After boot in nouveau, when I install the Nvidia driver via pacman nvidia-install-dkms and reboot, it boots to a black screen and hangs.

I saw now a couple of posts with similar issues in the forum, and like to provide what worked. For newbies, if you boot into black screen, here is how I fixed this:

  1. click Ctrl+Alt,+F2 keys to tty and login
  2. sudo nvidia-installer-dkms -n (remove the driver)
  3. sudo pacman -S nvidia-dkms nvidia-settings (install driver from repository)
  4. sudo reboot now

You can check whether your graphics card is installed via inxi -Fxxxza and second try to connect and external monitor. It should only work and switch on the nvidia gpu if you successfully installed the nvidia driver.

I also wrote a “in a nutshell” how hybrid card works in a recent post, please have a look if you need clarification about what how hybrid card work and what optimus is, and whether you want to install it. High cpu usage when playing video in firefox - #15 by Zircon34

BTW, nvidia is a :poop: show

nvidia-installer-dkms is not a driver package it is only a script helping to install nvidia-dkms driver.

But without logs hard to say why it fails to install.

Personally i think Hybrid graphics hardware is to blame but more so the manufacturers because ALL or most of these laptops are designed to work around Windows. Plus if they do say it’s has Linux support again it’s usually Ubuntu … and yes Nvidia is awesome. When it works! What i thinks we need here is EndeavourOS designed and built laptops. :wink: on the purple side!

1 Like

I know it’s a script but something goes wrong when the script directs the command to install the Nvidia driver on both live iso or when I do it via command line after install and reboot. Which is really odd :man_shrugging:

I actually posted a link above first paragraph with hardware and journal log since last boot. Let me know if I can post anything else if that helps…

Well Lenovo ships with Ubuntu on these laptops but their install instructions say to disable the Intel card in bios and only run discrete Nvidia for optimal performance.

That works too on eos, once the drivers are installed first…

https://download.lenovo.com › …PDF
Lenovo ThinkPad P15, P17, P1 Gen 3 Ubuntu 20.04 LTS Installation

Link doesn’t work.

Lenovo is one of the better manufacturers for Linux support both for Ubuntu and Fedora. I’m just saying a lot of consumer laptops are built around Windows and there are a lot of cheap consumer laptops that aren’t that great to begin with even on Windows. Having the ability to turn off Intel is good if you want to run dedicated Graphics. I don’t know how they have it setup other than that to work with Hybrid Graphics set up on Linux. I’ve never owned many laptops and none have been Hybrid and never will be i might add.

Strange on my phone it works.

Edits:

this downloads their pdf directly

https://www.google.com/url?sa=t&source=web&rct=j&url=https://download.lenovo.com/pccbbs/mobiles_pdf/tp_p15_p17_p1_gen3_ubuntu_20.04_lts_installation_v1.0.pdf&ved=2ahUKEwiHlrCmyJP0AhXL6J4KHTg5C-cQFnoECAcQAQ&usg=AOvVaw0vEEy1FzNc7jwu5GgXg2OK

1 Like

Not that link. The pdf link!

Not sure out of the box, since the first thing I generally do is nuke Ubuntu and install eos. :grin:

I don’t think they use Optimus.

1 Like

They have a Hybrid setting so that is probably what i would use if i was going to try the hybrid setup. Otherwise you set it to discrete and you get Nvidia all the time.

Edit: You don’t necessarily have to use optimus-manager if it’s not an optimus laptop.

What’s the best way to inspect the script? File on eos git?

I tried this yesterday and it works well. Just drains the battery very fast. Doing it in bios avoids some hassle.

Just need to also blacklist nouveau on boot, else it goes to black screen.

My curent research on propritary Nvidia Driver and optimus hybrid (nvidia/intel) systems is that the default is to boot on intel, but to have this working it is needed to boot with modesetting DRM module enabled on early boot.
This is now implemented into nvidia-installer-dkms per default as the package from arch do not apply that option (it is needed different configs on different boot loaders so not easy possible for pure arch but we have grub used p.d.) it is done by adding nvidia-drm.modeset=1 to grub kernel line.

2 Likes

Could be that this creates some kind of conflict. Just installing sudo pacman -S nvidia-dkms nvidia-settings and rebooting works and the laptop uses Intel. The Nvidia switches on when I connect an external screen and works as expected.

Using the nvidia-installer-dkms script to I install my driver instead goes black screen. I could try to redo this step and change the grub or inspect at least what’s in there for the sake of bug fix.

What also concerns me is that the live iso goes through all downloads and installation process, but for the last steps it wants to use the nvidia-installer script and then fails. I therefore have to install via nouveau and not Nvidia option. The Nvidia option worked relatively recently, August/September.

I will link to at least the message I get when install fails.

Do you have it set on hybrid for what you are reporting?

Edit: I think if i was installing it using the nvidia-installer-dkms i would do the install and before i rebooted i would do all the optional enhancements and add the nvidia-drm.modeset=1 and update grub and then reboot after doing all those modifications as per the wiki including adding the hooks package.

I just installed eos cinnamon last night. Hybrid mode is still on. Currently everything works but because I installed via sudo pacman -S nvidia-dkms nvidia-settings mentioned above.

I would have to deinstall that driver and retry via nvidia-installer-dkms. But would have to do that tomorrow during the weekend. I would do that only if you guys think it would help fix the script. I would basically make my system non working for the sake of troubleshooting the issue.

My understanding is that the nvidia-installer script was meant in the first place to help install the driver and make life easier for beginners I assume. Perhaps we can make a poll to check how many people really experience that issue. If it’s only me, may not be worth it.

this is a known BUG inlast release as the timeout is simply to short … and nvidia-installer-dkms is not used on install process we do install nvidia-dkms and nvidia-utils via pacman after detecting if live-session runs on nvidia drivers.

So i would say failed install is not related to nvidia drivers it is timing out on try to fetch the packages…
But we do try to replicate this with the same ISO after your report and none of us have this issue.

Would be interesting to see your /etc/grub/default if the DRM modesetting nvidia option is there or not.
And nvidia-installer-dkms is not doing any huge magic to configs aside from adding the kernel parameter.
It could be that the initramfs images where not rebuilded correctly…

You can check script also in testing mode what will not do any changes but gives output on what exactly it would do: nvidia-installer-dkms -t

Another thing that comes to my mind is that it could be possible that your firmware is set to use Nvidia GPU per default?

2 Likes

Thanks for all this! Let me check when back from from work…

i am always interested in optimus/nvidia related issues… as we do not have such systems available for testing out … so we need community to give us the needed info :wink:

2 Likes

I’m assuming when you set it for Hybrid it should be booting on Intel and as you say when you hook another monitor to it, it runs on Nvidia? Also if you set dedicated it should only run on Nvidia?

On my desktop card the installer works as it’s supposed to. I have no issues with it.Tonight i added all the enhancements back to it that i had before although some of them have changed since then. I have reinstalled doing some testing on the Nvidia. It’s all working fine with the additional enhancements.