OpenSuse – why older nvidia drivers are not provided in the repository?

Can someone summarize for me why openSuse keeps only the latest in their nvidia repository?

It is not for lack of interest from users, isn’t it?
Issues with drivers are common and requests for comfortable are natural and frequent:
and many others.

Can someone summarize for me and other so I don’t have to go through 30+ pages of old, not so related, discussions?
Please help me solve this dark mystery of this otherwise very good distribution.
Well appreciated!

Technical issues? Like matching the kernel version with the driver version?
Legal reasons? Really? Why new drivers are allowed but same older not? The older versions were made public once too and published and kept that . Call it cashing if you want.

Advices like to keep old versions of nvidia driver are useless to me and hundreds of others. This version is the only one I had and installed. They just serve to divert attention to only true solution - openSuse should keep them. Officially, unofficially, OBS or Packman, not important.

Well the second best solution, the ultimate best solution is to have bugfree system but let’s be realistic :wink:

The other advice – DIY – alias the “hard way” is kind of hard even for me, and I am an IT person. Unnecessary hard. Unnecessary wast of time. Distribution is supposed to do that for you. Well appreciated again.

Such advices, as built it yourself, be it kernel or driver, Xorg or core software, should not be mentioned in distributions targeted to a wider audience. My impression is that Suse/openSuse is, isn’t it?

I recently have an issue with Flash. All videos were quite blue. Searched discussions, found some advice, downgraded two versions back and problem solved. Downgrade occasionally

I am coming from Java world. A wonderful tool Maven keeps older versions years back.
It would be great to have similar, standard in distributions too.
At least for a tricky packages like kernel or drivers.

Any distribution maintainer listening here?
Be it Stefan Dirsch, the maintainer of nvidia driver for Suse, and many other Xorg packages, that would be awesome.

Best Regards
Your humble user

openSUSE doesn’t provide the proprietary NVIDIA drivers, NVIDIA does. It’s really their decision how long to maintain legacy drivers.

Keep in mind that Open Source is often community driven.
A majority of development occurs from volunteers.

All the old NVIDIA drivers can be retrieved easily (but not as an RPM). Here is the 64-bit NVIDIA driver archive.

The hard-way is not that hard at all.
It’s one of the first things I learned to do when I transitioned to linux.

I’ve even got it committed to memory now as it’s the my preferred way to stay up to date as the nvidia community maintained repo can fall behind sometimes.

  1. Blacklist nouveau driver, as superuser: $(echo “blacklist nouveau” >/etc/modprobe.d/nouveau.conf) #only do this once, not everytime you install NVIDIA driver
  2. Open yast and configure Boot by adding “nomodeset” and a “3” to the end of the ‘Additional Boot Parameters’.
    a) See this image, where you select your boot device, and press the “Edit” button.
    b) Create a script and run it as sudo with these contents, KMS can also be disabled through Yast > Sysconfig and set KMS to “no” if it isn’t already:


if grep -q NO_KMS_IN_INITRD=\"no\" /etc/sysconfig/kernel; then
   sed -i 's/NO_KMS_IN_INITRD.*/NO_KMS_IN_INITRD="yes"/g' /etc/sysconfig/kernel

3) Restart, which should lead you to a terminal, so login with your user credentials.
4) As root, remove the nvidia module if it’s loaded: $(modprobe -rv nvidia)
5) As root, install the new nvidia driver from the run file: $(sudo sh NVIDIA.<version info>.run)
a) During install you will be asked to install the optional 32-bit libraries, this is often a good thing to do as some applications are 32-bit only.
b) You may also want to allow the installer to automatically generate the nvidia configuration file so that it becomes the default driver, you will be prompted for this.
6) As root enable runlevel 5 via init command: $(init 5) #this will start up your GUI desktop like KDE or GNOME
7) Start up Yast and configure the boot again, but this time, simply remove that ‘3’ from the end of the additional boot parameter.
8) Restart openSUSE

Reference for 64-bit, scroll to top to find 32-bit instructions: Nvidia Installer HOWTO for openSUSE users

The only annoying thing about this is that for every major kernel update, it has to be re-installed!
When you run the .run file for re-installation you can just add the ‘-k’ flag to the end like so:
$(sudo sh NVIDIA.<version here>.run -k)
This is suppose to compile the kernel module so that it can be found again at boot time.
I’ve never had this run successfully so I just end up re-installing without the -k flag.

On Mon, 07 May 2012 19:06:02 GMT saultdon wrote:

> I’ve never had this run successfully so I just end up re-installing
> without the -k flag.

I run this to compile at example the module for the kernel-desktop
without any problems:


sh NVIDIA-Linux-x86-*
–kernel-module-only --kernel-name=$MYKERNEL
–tmpdir=/home/install/nvidia/tmp --accept-license --ui=none

The installer of nvdidia works well from my experience.

I am a volunteer too. Beeing a volunteer is not an excuse for not testing packages (especially drivers) before updating them in a repo.


You can wait for the next driver 295.49.1 - which fixed those bugs - to be available in the repo, or install this version “the hard way” as described in the previous post and in many threads, or downgrade to 290.10 - which appears to be still available here: Index of /opensuse/nvidia/12.1. Once you have a working nvidia driver, you might want to disable the nvidia repo.

> openSUSE doesn’t provide the proprietary NVIDIA drivers, NVIDIA does.

Nvidia provides a source code and the binary core (blob). For current, beta and several older versions.
Package is provided by Suse. By packager Stefan Dirsch to be precise.

> It’s really their [Nvidia] decision how long to maintain legacy drivers.

How does that affect Suse not to keep older versions themselves?
Once they released the package, for previous OS versions, why they just don’t keep them somewhere.
Smells like excuses to me.

> A majority of development occurs from volunteers.

Let’s be concrete. Nvidia package is created by Stefan Dirsch. Check the official driver package changelog.
Stefan Dirsch is a Novell employee. From December 1999, 12+ years!. Check his LinkedIn profile :wink:
So, not exactly a volunteer, isn’t he?

> It’s one of the first things I learned to do when I transitioned to linux.

To make think more difficult even if it can be done much easily?
Joking. Sorry.
I cannot imagine to show your steps to my girlfriend (who also uses, albeit not so voluntarily, openSuse).
After years with linux, I have to admit, I got quite disappointed with the progress in the accessibility of this OS to a general user, beyond of a handful of IT professionals.

The main news is - I found an excellent repo, providing latest current, latest beta (!) and several older drivers. It DOES exists. It is just a bit masquerading.
Index of /repositories/home:/Bumblebee-Project:/nVidia:
Index of /repositories/home:/Bumblebee-Project:/nVidia:/290.10/openSUSE_12.1/i586

Everything a few clicks away.
And it is DKMS driver. it will fit any kernel, even a custom made.
Suse guys, ditch you effort and adopt this project as official source!
Everyone else - spread the word!

The search was not an easy one. Webpin is not working. Both web and Yast module. Google eventually helped.
The project is focused on providing support for Primus technology for linux. Providing nvidia driver is a king of a side job.
That is quite confusing too. They also provide packages for other mayor distributions too.
Hope, they keep their excellent job!

does not contain Nvidia tools. You have to add them from Pacman repo. Nvidia tools are essential to detect and configure an external screen.

I agree with you (it sucks). But here’s a few tricks you can use to prevent this from happening again:

Find out the ID, name or alias of the nvidia repo:

# zypper lr
#  | Alias                              | Name                               | Enabled | Refresh
 1 | PTA                                | PTA                                | Yes     | Yes    
 2 | Updates-for-openSUSE-12.1-12.1-1.4 | Updates for openSUSE 12.1 12.1-1.4 | Yes     | Yes    
 3 | google-earth                       | google-earth                       | Yes     | Yes    
 4 | nvidia                             | nvidia                             | No      | No     
 5 | openSUSE-12.1-12.1-1.4             | openSUSE-12.1-12.1-1.4             | Yes     | No     
 6 | openSUSE:Cinnamon                  | openSUSE:Cinnamon                  | No      | No     
 7 | openSUSE:Education                 | openSUSE:Education                 | No      | No     
 8 | openSUSE:Education:Factory         | openSUSE:Education:Factory         | No      | No     
 9 | openSUSE:Factory:Contrib           | openSUSE:Factory:Contrib           | No      | No     
10 | openSUSE:Factory:Contrib:standard  | openSUSE:Factory:Contrib:standard  | No      | No     
11 | openSUSE:Games                     | openSUSE:Games                     | No      | No     
12 | openSUSE:Gnome:Community           | openSUSE:Gnome:Community           | No      | No     
13 | openSUSE:Network:utilities         | openSUSE:Network:utilities         | No      | No     
14 | openSUSE:Utilities                 | openSUSE:Utilities                 | No      | No     
15 | packman                            | packman                            | Yes     | No     
16 | repo-debug                         | openSUSE-12.1-Debug                | No      | Yes    
17 | repo-debug-update                  | openSUSE-12.1-Update-Debug         | No      | Yes    
18 | repo-non-oss                       | openSUSE-12.1-Non-Oss              | Yes     | Yes    
19 | repo-oss                           | openSUSE-12.1-Oss                  | Yes     | Yes    
20 | repo-source                        | openSUSE-12.1-Source               | No      | Yes    
21 | virtualbox                         | virtualbox                         | Yes     | No     

Either keep nvidia packages locally in you rpm cache, so you can easily downgrade the driver. You have to modify the nvidia repo with the option -k (or --keep-packages).

zypper mr -k nvidia

Or, once you have a working nvidia driver, don’t update it automatically by preventing the nvidia repo from beeing refreshed:

zypper mr -d nvidia

You have the explanation. Volunteers usually try to do a good job (for their own reasons). Other just do their job (for monney).