Fedora 26 with Nvidia proprietary drivers and Wayland running (Part 2)
First of all let’s use a repository which of which the user has some experience with Nvidia Cards on Fedora in general.
http://negativo17.org/nvidia-driver/
Add his repository by executing following command as super user:
dnf config-manager --add-repo=http://negativo17.org/repos/fedora-nvidia.repo
Open the Software and choose Nvidia drivers. You might have to reload meta-data.
I clicked on „install“ and the driver got magically installed. When it was finished, the GUI started to glitch very badly. Now I had no chance but to coldboot (Reset button). This time Gnome-Shell started with the otehr Nvidia drivers correctly. The bad news are, X returned back to its place. We are not going to give up aren’t we?
For some odd reason, nouveau was disabled, I think the installation did that or the system know that we don’t want to use that driver when a proprietary driver is installed. Not sure…
Let’s try to get Wayland using.
Become super user and create a file where more modules of nvidia are loaded at boot time:
sudo gedit /etc/dracut.conf.d/nvidia.conf
Here we add these two lines:
add_drivers+="nvidia nvidia_modeset nvidia_uvm nvidia_drm" install_items+="/etc/modprobe.d/nvidia.conf"
Now create a modprobe config file:
sudo gedit /etc/modprobe.d/nvidia.conf
And add this line to the empty file:
options nvidia_drm modeset=1
Also we should not omit drm drivers:
gedit /usr/lib/dracut.conf.d/99-nvidia-dracut.conf
Comment the section where it tries to omit the drm module.
Now let dracut prepare the boot options for the kernel appriopiately:
dracut --regenerate-all --force
I found out that I had an unsupported Kernel installed. Dracut would complain. If you are using a newer kernel you can remove older ones.
Now let the system remove all the older kernels:
package-cleanup --oldkernels --count=1
And rerun dracut. You should not get any errors. That is important, otherwise Wayland won’t work on the system:
dracut --regenerate-all --force
Now reboot your system normally and let’s see how well it runs…
Troubleshoot
Well, on my system runs but very slow. I had to choose Gnome-Shell with X to have my smooth experience back.
To make this sluggish behavior go away open the file /etc/gdm/custom.conf and disable wayland:
[daemon] # Uncoment the line below to force the login screen to use Xorg WaylandEnable=false
Now I have X running everywhere. I will investigate why Wayland is that slow here. You might have different experience. Good Luck!
If some update happen to fix your problem, just again by re-enabling Wayland from /etc/gdm/custom.conf file. Everything else is setup so far.
Unfortunately on Fedora 26 it did not help in my case. Hope the update will fix it. I’ll believe that Wayland with Nvidia propietary will work and keep you and the developers informed.
Conclusion
What can I say, Fedora distros have become very solid in the last years. Besides the strange installation everything runs just fine. Still I would wait for official release. It is planned by end of June.
What do you think? Do you have the same issue as me? Or is there a better idea in how to tackle this small left issue. Let me know in the comments below.
Troubleshooting
I recently had problems after some updates that nouveau driver got enabled somehow. I would blacklist it. Do not try to uninstall it:gedit /usr/lib/modprobe.d/nvidia.conf
There should be the entry
blacklist nouveau
add that line, if it is missing and run
dracut --regenerate-all --force
i’ve tried to perform your steps – still not able to load a wayland session. with a nvidia gtx970 card. selecting GNOME just kicks back to X :/
Hard to trace your problem. Is nouveau disabled? Are you using the Fedora 26 with the latest updates. Do the propietary driver really work? Try to open nvidia-settings in order to see if the card was detected correctly.
also try to paste the output of journalctl -b into https://pastebin.com/ and let me take a look
Hello,
sorry but these instructions are all wrong, so please if you link to my web post at least make them correct. A few points:
1) „yumex“ and „yumex-dnf“ are deprecated and obsolete in Fedora. They are not complete and they do not work properly.
https://admin.fedoraproject.org/pkgdb/package/rpms/yumex-dnf/
https://admin.fedoraproject.org/pkgdb/package/rpms/yumex/
„yum-utils“ is obsolete as well. The „package-cleanup“ command has been replaced with dnf subcommands. Please see the „yum2dnf“ man page.
2) You should absolutely NOT include the nvidia modules in the initrd. In fact, in the packages in the repository there’s a dracut configuration file that explicitly disables the inclusion of them.
Installing new drivers requires matching modules, if they are in the initrd you also require to rebuild the initrd every time.
3) Having the modules in the initrd is not beneficial at all, the modules do not provide any KMS console. Setting „options nvidia_drm modeset=1“ enables KMS, but that’s only for Wayland, and not for the console itself. There is NO KMS console in the Nvidia drivers; it’s clearly written in the Nvidia driver documentation.
On EFI systems, the plymouth screen will still be on the efifb driver. So again, no point in including them in the initrd.
4) Don’t add the Mesa copr repository.
The Mesa version in Fedora 25 and above is perfectly ok for running GLVND desktops, and if you actually run just the proprietary NVIDIA driver or the Nvidia driver + the OSS intel driver on an Optimus enabled system, the rendering is all done on the Nvidia card and Mesa is not needed at all.
Hi Negativo17,
thanks for clarifying that. I will take a closer look on that and improve the post. Just give some time for better understanding how the Wayland Nvidia architecture etc. all works together, because I see that I still have to learn more about it…
Great repository btw. I like it.
system is fully updated (just got the mesa 17.1 update yesterday if that matters) nvidia driver from negativo17 is activated, if i look at the boot parameters i see: rd.driver.blacklist=nouveau so i hope nouveau is disabled. output exceeded the free pastebin size so here: https://drive.google.com/open?id=0B4TCIx_oxNIXUy1DUGRhUlBoUjg
thank you for having a look!
máj 28 12:37:03 user1 kernel: NVRM: API mismatch: the client has the version 378.13, but
NVRM: this kernel module has the version 381.22. Please
NVRM: make sure that this kernel module and all NVIDIA driver
NVRM: components have the same version.
Can you have a look at that. Maybe update or reinstall the drivers. Other than that, everything looks good. did you check the /etc/gdm/custom.conf file?
thank you, i got a bit further with reinstalling, installing kernel-modules and re-doing the steps. So the above mentioned error is gone, but still the same results. now i don’t see the screen ‚flickering‘ black 4 times trying to initialize wayland, i just see the mouse cursor on a black screen for a couple of seconds, then i get a X session. in the /etc/gdm/custom.conf file the row that says false for wayland is commented out, so that should be ok.
the output again after an auto-login attempt, followed by a logout and login on GNOME: https://drive.google.com/open?id=0B4TCIx_oxNIXOVY3Y2U2MXpObW8
máj 29 21:52:22 user1 gdm-password][3510]: GdmSessionWorker: Set PAM environment variable: ‚XDG_SESSION_TYPE=x11‘
I think something in your system is forcing X. Try to set wayland to enable in /etc/gdm/custom.conf and check your environment variables. I don’t see any problem here so far. It should work.