Hi!
Sorry for the late reply. CCing rpmfusion-developers and full-quoting
message, as this discussion is relevant for RPM Fusion. Two eearlier
replies to this mail can be found in the freeworld archives and in the
attachment:
http://livna.org/pipermail/freeworld/2008-July/003115.html
http://livna.org/pipermail/freeworld/2008-July/003116.html
On 19.07.2008 18:24, Stewart Adam wrote:
Hi,
Thorsten, Nicolas and I discussed this briefly in IRC but it would be
great to have your opinion on it. The problem we're having is that
nVidia now has the "normal" mainstream driver along with 3 other drivers
which are considered "legacy", each supporting a different set of GPUs.
According to nVidia's driver selection on its website, the 177 series is
recommended only for the new GeForce 200 series GPUs. The GeForce 9000
to 5000FX series are to be used with the 173 driver, while GeForce 2/4
are to be used with the 96.* series driver and the 71.* driver is for
any older cards like Riva or TNT.
If we choose a named scheme, such as kmod-nvidia-newest and
kmod-nvidia-legacy, the problem is when nVidia releases a new driver
that drops support for older cards, those users will receive updates to
"kmod-nvidia-newest" and will be left without X.
If we choose versioned names, for example "kmod-nvidia-173", then it
would be simple to create "kmod-nvidia-177" and it would only
"Obsoletes: kmod-nvidia-173" if it retained compatibility with the same
cards. The disadvantage to this is that if a driver does drop support
for old cards, the people with new cards have to manually install the
new driver. One possibility I was thinking of was including GPU
detection in livna-config-display so that it would be able to suggest
users of the newer GPUs to upgrade.
How do you think we should name the drivers? It doesn't have to be one
of the two I mentioned above, those are just the option we had thought
of on IRC.
Some general thoughts:
* For the legacy drivers I'd like to see "legacy" in the package name
(nvidia-legacy-73xx, nvidia-legacy-96xx), as that makes things like "I'm
using legacy stuff that (1) might not support all Features and (2) might
be dropped sooner or later" obvious to the user. That is a quite
important detail IMHO.
On the other hand it has some appeal to use the same scheme for all
driver packages (nvidia-71xx, nvidia-96xx, nvidia-173, nvidia-177)
* some users in the past asked us to maintain a stable branch that is
not updated immediately when nvidia releases a new version
* other users always want the latest and greatest; they even asked us
to ship beta drivers
* some people were unhappy that we used the xorg-x11-drv prefix for
our drivers; are those people still unhappy? Should we consider to get
rid of that prefix again?
* making the driver parallel installable would be really nice for
live-media
* updates don't work for all the drivers -- users need to restart; we
need to find a way to unload the module during X-restart after a nvidia
update; that should be easy; fglrx did something like that in the past
* I don't like the GUI livna-config-display much at all; cluttered
interface and some of the things (like the Xgl stuff) are totally
irrelevant for 99,9 % of our users; that needs a major cleanup!
So maybe something like this could work to solve some of the problems:
* we ship all the driver packages with a versioned name nvidia-73xx,
nvidia-96xx, nvidia-173, nvidia-177
* make those packages parallel installable
* create a init script/app that chooses the "best" driver on bootup;
that app could even have a settings file where the user could say "use
beta drivers; prefer 177 series" or something like that; it also could
yell thinks like "you have the 173 series of drivers installed but need
the legacy drivers from the 96xx series".
But that app should never ever call yum, as network might not be
accessible during start. A lot of people also dislike if packages get
installed behind their back, so we should avoid to do that.
* create two meta packages "nvidia-all" and "nvidia" to the repo;
"nvidia-all" could track in all the drivers we offer and everything will
"just work" -- the easiest solution for ordinary users. "nvidia" could
track in the driver that is considered the "standard" one (173 now) and
all newer ones (177 right now). That could be the solution for those
users that want to avoid useless downloads for the legacy driver. The
decision which driver to use would be left up to the init script;
* having a GUI app that says "you need nvidia-73xx, nvidia-96xx or
nvidia" would be nice. It IMHO should not offer the standard and newest
drivers (173, 177), as their meaning and usage might change over time;
the script can handle that better, even if that means some useless downloads
But that GUI app IMHO should not be specific to nvidia or graphics
drivers. It would be way better if it would a bit like the proprietary
driver install and configure tool Ubuntu has. Even better: make that app
able to suggest and install add-on packages like gstreamer-plugins or
xine-lib-extras-monfree for the packages it finds installed on the
system; that would be a really cool feature :-)
* users that want to avoid useless downloads can just install
nvidia-173; they can keep both pieces if it breaks because they tried to
be smart and but are not. Of course we use proper obsoletes in newer
drivers where it makes sense to not break stuff on purpose ;-)
Does that sound like a solution that fixes some of todays and tomorrows
problems?
CU
knurd