CentOS 7, Systemd, And Nvidia Drivers

Home » CentOS » CentOS 7, Systemd, And Nvidia Drivers
CentOS 6 Comments

Or, another rant against systemd. Moderators, put up with it – this is an issue.

I tried systemctl start multi-user.target. I tried systemctl stop graphical.target. I finally had to set the multi-user.target as the default, and reboot, to get rid of the nouveau drivers.

Note that I tried to modprobe -r, and rmmod with all the modules using nouveau, and couldn’t – I kept getting “in use” – it seemed like a circular reference.

As I said, I rebooted. Then I ran the proprietary build, ran fine. I try starting the graphical target, no joy. I changed the default target back to graphical, and rebooted. Still no xorg. Googling (yahooing?), I added rdblacklist=nouveau in grub.conf, *then* had to rebuild the grub2 (grub2
must *die*).

Still wouldn’t see the nvidia drivers on reboot. Finally, I rebuild the initramfs, which got the now-built and installed nvidia drivers (and I’d yum uninstalled nouveau), and finally, it came up.

Oh, and for some reason, without the reboot, the Xorg.0.log wasn’t renewed, as though it hadn’t actually restarted X. Plus, it appears that
is disabled….

Then all I had to do was fight and hand-edit the xorg.conf, which *MUST*
be in /etc/X11/sorg.conf.d to be even seen…. But what I had to do is beyond this – my user’s got three monitors, on two cards, and two are for
3D, and so nothing to do with my issues with trying to get systemd to load and xorg to use the nvidia drivers.

mark, incredibly frustrated

6 thoughts on - CentOS 7, Systemd, And Nvidia Drivers

  • Of course, none of this had anything to do with systemd, other than the commands you had to change runlevels. It’d be the same problem with Upstart in CentOS6, just different commands. The kernel modesetting stuff is at fault here. But who needs facts to get in the way of a good rant?

    I suggest looking at http://elrepo.org/tiki/kmod-nvidia

    The nvidia RPMs at elrepo sets up the kernel arguments and the xorg.conf.d files. Pretty simple.


    Jonathan Billings

  • Really? In CentOS 6, if I do an init 3, it shuts down X; none of the above did that,

    I’m familiar with elrepo.

    mark

  • You ran “systemctl start multi-user” when you meant to “systemctl isolate multi-user”.

    The man page describes isolate: “This is similar to changing the runlevel in a traditional init system.”

    Aside from the fact that you use the same command, systemctl, to “start”
    a service and “isolate” a runlevel, none of the problems you described had anything to do with systemd.

    In fact, even switching runlevels/targets is unrelated to the video modules. You always have to blacklist the video driver, or boot with
    “nomodeset” to remove the video card’s kernel module (Actually, you might be able to “echo 0000:” > /sys/bus/pci/devices/0000:/driver/unbind” sometimes. Some drivers might cause a kernel panic, though.) because even in multi-user mode with no X.org, the kernel is still using the module for its console.

  • Note that you can actually do ‘telinit 3′ and telinit 5’ with systemd. I do, even though the documentation is a little complainy about it. This maps to `systemctl isolate runlevel3.target` or `systemctl isolate runlevel2.target` (which in turn are symlinks to multi-user.target and graphical.target), and is a lot less typing. :)