What is the difference between these two modules? Whoever created them didn't seem to think of including a clear description.

share|improve this question

marked as duplicate by Maythux, David Foerster, Eric Carvalho, Luís de Sousa, Eliah Kagan Apr 29 '15 at 23:58

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

up vote 7 down vote accepted

You can research which Nvidia driver you need at: Unix Drivers | NVIDIA

If you click on the 304 link, you find information about the driver and the Supported Products tab lists the cards that need this driver. Find your card and you will know which driver you need.

If you look up the package names in Software Center or Synaptic, you will find the url to that same Nvidia page in the package description and you will see the driver version that the Ubuntu package is providing.

The difference between nvidia-304 and nvidia-304-updates is the Nvidia version (and perhaps the version of Ubuntu patch of that number) that it points to.

In general, the updates package will point to the newest revision by Nvidia and the package without updates in the name will point to the previous stable version. The exact relationship, however, may vary by Ubuntu release.

For example, at the Nvidia driver page, you can see that 304.108 is called "the Latest Legacy GPU version". It was released August 8, 2013. A link to the archived drivers shows that the previous version was 304.88, released on April 2, 2013.

So, in 13.10, 304-updates currently refers to 304.108 and 304 currently refers to 304.88

In general, you will want the updates version since it will point to the newest driver. But exactly what you need depends on the exact model of your card since the newest features in the driver may not work with your card.

In addition to the Nvidia number, the Ubuntu developers patch the driver, so the actual binary version to install contains the Nvidia number followed by the Ubuntu version number.

In 13.04 and 12.04 both packages refer to 304.88, but to different Ubuntu-patched versions. For example, in 13.04, 304 is 304.88-0ubuntu1 and 304-updates is 304.88-0ubuntu2. Information about the Ubuntu version can be found in Launchpad.

So you see that the actual binary file that the nvidia-304 and nvidia-304-updates packages will provide to your system will change over time. You can see this easily by viewing the changelog. 304 now points to 88, before that to 84, before that 64, etc.

A little research or experimentation may be needed to determine which each driver you need and it may change over time. On my laptop with an older Nvidia card, as the version numbers changed I had to go from 304-updates to 304 because 304-updates began to point to a newer version of the driver that caused problems for my card.

A note based on comments:

These version numbers assume that you are using the versions of 304 and 304-updates provided by the standard Ubuntu repositories. It is possible to replace the standard repository for these packages with PPA's (Personal Package Archives). One commonly used PPA is xorg-edgers, which provides bleeding edge versions of the drivers. Someone may choose to use this PPA if they need or want a version of the driver that is newer than the one offered by the Ubuntu release they are using.

Here's the important point for the meaning of the 304 and 304-update packages (and others) after a PPA like that has been installed: they no longer have the same meaning. If you install 304 from xorg-edgers, 304 will now point to the newest driver provided by xorg-edgers and the relationship built into the package name structure will no longer hold. Additional Drivers will still report the the package name as 304 (because the package name hasn't changed). Nvidia-settings will report the actual version of the binary that it sees, in this case a non-standard 108. It doesn't know (or care) that the binary came from a PPA, not the standard repository.

share|improve this answer
2  
That is not the difference. I use nvidia-304 driver and my NVIDIA Driver Version is 304.108. Look here. – Radu Rădeanu Oct 22 '13 at 16:05
1  
@radu-rdeanu Well, the essential point of the answer was that the difference is which version it points to. I did forget to mention that this may change. Unfortunately, I also looked up the numbers in the Software Center (thinking this is what a new user is most likely to use) and it gives the wrong info. I always appreciate suggestions for improvement and clarification. – chaskes Oct 22 '13 at 16:41
    
@RaduRădeanu, that URL (i.stack.imgur.com) is not self explanatory. Where did you dig it up, what does it mean and how trustworthy is it? – dan3 Oct 22 '13 at 17:19
1  
@radu-rdeanu The standard 304 in 13.10 is 304.88-0ubuntu8. When you installed xorg-edgers, 304 was made to point to 304.108-0ubuntu1~xedgers~saucy1. The Additional Drivers and Nvidia settings only show 304 and 108 (your first image) because that is what they see, but the SC (your later image) package info shows the actual name of the package you installed: a patched 108, which on your system is pointed to by 304. Btw, on my system SC apt-cache are now showing the same info, so that may have been a momentary glitch. – chaskes Oct 22 '13 at 19:24
1  
@chaskes I think you are confused because of different versions of nvidia-304. Would you say that is the same thing if I use nvidia-304 version 304.108-0ubuntu1 (which is the last version of nvidia-304) and if I use nvidia-304-updates version 304.108-0ubuntu1? If yes, than there is no difference. If no, which is the difference? That's the question. – Radu Rădeanu Oct 22 '13 at 21:11

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