8

I would like to verify what driver is used currently for NVIDIA and then switch the driver to nvidia-331-updates if necessary.

How do I accomplish that?

sudo ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00000FFBsv00001462sd000010DBbc03sc00i00
model    : GK107GLM [Quadro K2000M]
vendor   : NVIDIA Corporation
driver   : nvidia-331-updates - distro non-free
driver   : nvidia-304 - distro non-free
driver   : nvidia-304-updates - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

sudo ubuntu-drivers list
nvidia-304
nvidia-331
nvidia-331-updates
nvidia-304-updates

(I tried sudo ubuntu-drivers autoinstall and sudo ubuntu-drivers autoinstall nvidia-331-updates - desperatly, in lack of a useful help text - to no avail)

A similar question has been asked recently (How do you use ubuntu-drivers-common or software-properties in the command line to change graphics drivers?) but the asker accepted an answer which doesn't really answer the question. That's why I want to give it another try.

The reason why I am interested in this in the first place is because after fiddling around trying to set up a second monitor suddenly the graphical "additional drivers"-tool stopped working.

Raffael
  • 3,771
  • 7
  • 26
  • 39

1 Answers1

2

No, you can't. At least no with that tool. There isn't a command that would help you to install different drivers:

list: Show all driver packages which apply to the current system.
debug: Print all available information and debug data about drivers.
devices: Show all devices which need drivers, and which packages apply to them.
autoinstall: Install drivers that are appropriate for automatic installation.

list doesn't install, but lists. debug just prints more information. devices is informative. autoinstall doesn't allow other parameters:

def command_autoinstall(args):
    '''Install drivers that are appropriate for automatic installation.'''

    cache = apt.Cache()

    packages = UbuntuDrivers.detect.system_driver_packages(cache)
    packages = UbuntuDrivers.detect.auto_install_filter(packages)
    if not packages:
        print('No drivers found for automatic installation.')
        return

    # ignore packages which are already installed
    to_install = []
    for p in packages:
        if not cache[p].installed:
            to_install.append(p)

    if not packages:
        print('All drivers for automatic installation are already installed.')
        return

    ret = subprocess.call(['apt-get', 'install', '-o',
        'DPkg::options::=--force-confnew', '-y'] + to_install)

    # create package list
    if ret == 0 and args.package_list:
        with open(args.package_list, 'a') as f:
            f.write('\n'.join(to_install))
            f.write('\n')

    return ret

You could just ignore the tool and install manually the package yourself using apt following the output you got. Just remove one package and install the other:

sudo apt-get install nvidia-331-updates
Braiam
  • 67,791
  • 32
  • 179
  • 269