13

I have a headless box that will be used for CUDA computing. I installed Ubuntu server 16.04.1 but when I try to install the nVidia drivers via apt-get it also wants me to install X11 and other GUI components.

How can I just install the driver and CUDA libs without installing X11 and friends?

Ideally without downloading the run file directly from nVidia. I'd like to use debian packages if possible.

9

This worked for me (on Ubuntu 16.04):

# apt-get -y install nvidia-cuda-toolkit lightdm-

lightdm is the windows manager that nvidia-* installs. The dash at the end tells apt-get to uninstall the package but dependency resolution figures out not to install it in the first place. This still installed xserver-common (so you still get some X11 stuff) but it did not enable graphical booting. (Adding xserver-common- resulted in broken dependencies.)

PS. You're probably past this problem but this answer is for future internet generations.

| improve this answer | |
  • Thank you. I can vouch that ligthdm- works, even when installing from the official deb. – rpmcruz May 25 '18 at 11:59
  • Does this work with the official CUDA repo developer.nvidia.com/cuda-downloads on Ubuntu 18.04LTS? – 林正浩 Mar 2 '19 at 21:54
  • Following up with that logic, then installing CUDA on a headless system on Ubuntu 18.04LTS could be accomplished via: apt-get install cuda gdm3-. This would be via the cuda repo for Ubuntu. Test and report back. – 林正浩 Jun 15 '19 at 20:47
  • Skipping the nvidia-settings graphical nVidia tool cuts things down a lot for me (on 19.10). I'd like to also skip the xserver-xorg-video-nvidia-* package, but that's a hard requirement for the driver, which pulls in the X server junk. So, sudo apt install nvidia-driver-435 nvidia-settings- is about the best bet, IMO. Add nvidia-cuda-toolkit onto that package list to get the useful cuda parts. – dannysauer Mar 9 at 6:41
5

sudo apt-get -s install --no-install-recommends nvidia-current seem to be rather sparse with the dependencies on my box, but it already has a full graphical environment.

What you could in theory do is:

  1. Let apt-get download the pkg without install: sudo apt-get -d install nvidia-current
  2. Pick up the desired deb from the cache: ls /var/cache/apt/archives/ | grep nvidia-
  3. Install using dpkg, ignoring relevant dependencies: dpkg -i --ignore-depends=package1,package2 package3.deb

Dependencies are of course there for a reason, if I where in your situation I'd just let apt do its thing. Some X11-software won't hurt you much unless you run it.

| improve this answer | |
1

If running (say, Blender on a headless server, you don't need all those dependencies.

Download the CUDA drivers from as a runfile from: https://developer.nvidia.com/cuda-downloads

Run sudo sh cuda_8.0.44_linux.run (or newer version)

Download the NVIDIA drivers from http://www.nvidia.com/Download/index.aspx?lang=en-us

Run: sudo sh /backup/iso/NVIDIA-Linux-x86_64-367.44.run (or newer version)

Note: Every time you update to a newer kernel, you'll have to reload the driver for that kernel. So you may want to add the "-a" (accept license terms) flag after going through them once.

My setup:

  • headless Xubuntu 16.04
  • dual GeForce 970 cards
  • Blender 2.78

Enjoy!

| improve this answer | |
  • Many unneeded dependencies not installed this way:» apt-get -s install nvidia-current | grep newly 0 upgraded, 65 newly installed, 0 to remove and 0 not upgraded. – OpenPrivacy Oct 21 '16 at 19:25
1

The way to do this on recent versions of Ubuntu:

sudo apt install --no-install-recommends nvidia-cuda-toolkit nvidia-headless-440 nvidia-utils-440

This won't install any X11 packages at all. Replace 440 with the driver version you want. nvidia-utils gives you nvidia-smi which is a CLI tool to show GPU utilization and temperature and other such information.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.