If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Switching between ATI and Nvidia drivers?

I think this has been posted before but I wanted something specific and I also had some questions to add.

I was thinking about this because I was looking an option of buying two cards, one from ATI and one from Nvidia.

However, I only have one computer to test it on unless I can squeeze my way in and use a relative's computer.

It would be easiest on my own new build, though. So, there would be some needed configuration changes. It is not worth my while or can this be done without a lot of trouble?

I read that it's simple to uninstall drivers or purge drivers so that you can switch from Nvidia to ATI or vice versa.

Is the process relatively the same of ATI <---> Nvidia? In other words, Nvidia to ATI is harder/the same as ATI to Nvidia?

It would probably be done just once unless was something new to test. Also, if I went for an ATI card and was dissatisfied, I might to do the switch.

My current card is old, X300SE and I'm not sure it'll do what I want. I read of some problems with it in Google Earth and I already have a laptop with an ATI card that gave problems.

I have not invested much in video cards ever and I read of some gamers having three or four cards at one time! It's just an idea and first, I would like to know if switching drivers is a big deal or not. It seems one has to a lot to just install ATI (and Nvidia drivers) so is purging/removing the drivers much easier? Is there a process? Is it well-documented?

Sorry, if this is a boring topic but since Nvidia does a lot of messing up code when it's installed, does Xorg get 'repaired' when you purge it? I suppose it does. Same question with ATI (since some installs eventually use scripts/PPA or compiling etc....)

I read that it's simple to uninstall drivers or purge drivers so that you can switch from Nvidia to ATI or vice versa.

Just curious, where did you read this ?

Originally Posted by Panix

I have not invested much in video cards ever and I read of some gamers having three or four cards at one time! It's just an idea and first, I would like to know if switching drivers is a big deal or not. It seems one has to a lot to just install ATI (and Nvidia drivers) so is purging/removing the drivers much easier? Is there a process? Is it well-documented?

I haven't seen a process - in principle you just uninstall *very* carefully before installing the other driver, but in practice the results will depend in part on what *other* updates you have performed in between. It also depends on whether you installed each driver via package manager or via native installer.

Originally Posted by Panix

Sorry, if this is a boring topic but since Nvidia does a lot of messing up code when it's installed, does Xorg get 'repaired' when you purge it? I suppose it does. Same question with ATI (since some installs eventually use scripts/PPA or compiling etc....)

Both drivers are fairly invasive so doing a complete uninstall is essential. Mixing ATI and NVidia files "sort of works but with big honkin' bugs" in some cases, same for mixing files from old and new versions of the same driver.

When you use ubuntu lucid+ switching can be done on the fly, otherwise you have to uninstall. When you only switch from oss driver to binary no uninstall is needed. I would NEVER run nvidia installers on u lucid+, that will break the system, same applies to ati installers.

Do yourself a favor and use radeon driver for AMD hardware and nouveau driver for nvidia hardware. With this combination, switching the driver is as simple as following this procedure;

1) power off and unplug,
2) yank out amd/nvidia card,
3) press in nvidia/amd card,
4) power on and wait to boot.

And that's it... no weird/special procedures.

Unless you have something a little weirder in mind, like having both cards installed in the machine at the same time. I *believe* that you should be able to use kernel arguments and/or xorg.conf to select which device to activate.... or might it be able to figure that out automatically given which connector it finds connected?

I haven't seen a process - in principle you just uninstall *very* carefully before installing the other driver, but in practice the results will depend in part on what *other* updates you have performed in between. It also depends on whether you installed each driver via package manager or via native installer.

Both drivers are fairly invasive so doing a complete uninstall is essential. Mixing ATI and NVidia files "sort of works but with big honkin' bugs" in some cases, same for mixing files from old and new versions of the same driver.

I won't want to mix files of old and new versions and I don't want to mix ATI and Nvidia files either. I am not surpised that there might be problems when doing so.

I read about claims of it not being too hard on here when I asked practically the same question but it was more or less how to uninstall the drivers. I hope you're not going to ask me to reproduce that thread section.

Thanks for going into detail. I was just curious on what it entails.

Originally Posted by bridgman

It might be easier to have three partitions, one containing your data and the others each containing a separate distro install with the appropriate drivers.

That is also handy for flipping between open source and proprietary drivers for the same HW, or for trying new distro versions.

Well, since I'm usually wary of borking my system since I figure I'm bound to when outside of my realm ... I try to have my data on a separate drive. I was just hoping 'switching drivers' wouldn't require a re-install of the OS. At least, I was hoping that there's a chance to avoid that. So, I could ask on here how to uninstall drivers if that's a situation I wish to undergo or is there good documentation for this? I assume it's a relatively common occurance with people switching from ATI to Nvidia and vice versa from time to time.

What I was particularly wondering about is when the install has a lot of 'additional' modifications or configurations. For e.g., patches or extra scripts in which the install went a bit further beyond the 'How-to' install' one might read on the Nvidia page and ATI/AMD instructional page respectively. I believe there are some methods for uninstalling the drivers, purging everything 'nvidia/ati' that is being utilized (that the user doesn't want used).

Originally Posted by Kano

When you use ubuntu lucid+ switching can be done on the fly, otherwise you have to uninstall. When you only switch from oss driver to binary no uninstall is needed. I would NEVER run nvidia installers on u lucid+, that will break the system, same applies to ati installers.

Can you elaborate or clarify? I understood the first part. Never run 'Nvidia or ATI installers?' You mean don't use the installers to uninstall so you must uninstall manually or? Sorry, if I'm confused. I'm definitely not familiar with switching drivers.

Ubuntu seems to try to have more 'automatic' options whereas other distros leave it up to the user. That could be good in some ways as one is not dependent on the quality of the 'installer/uninstaler.' Also, if one distro hops, it might be good experience to know the process for the uninstall so some advantages there for knowing the process?

Do yourself a favor and use radeon driver for AMD hardware and nouveau driver for nvidia hardware.
I *believe* that you should be able to use kernel arguments and/or xorg.conf to select which device to activate.... or might it be able to figure that out automatically given which connector it finds connected?

Is that really practical, though, in all cases all the time?

I don't know about you but I do like to have 2D and 3D and working in a usable fashion. If both open source drivers do this fine, okay, but I'm not sure.

My other option is to just have a basic install going and try this experiment early on so it won't be such a chore to re-install the entire OS if things get buggy. I'm not worried about losing data or borking it with my data being risked because I'll have it on a separate drive.

Anyway, I find this an interesting topic. I know it's way more convenient to have separate computers for these tests but for a little while, I probably won't have that option unless I can borrow/share the other computer.

three things to keep in mind:
- different kernel modules
- different openGL libraries
- different xorg.conf

both drivers will overwrite the openGL libraries, making a switch difficult. I also don't think it's possible to have both kernel modules loaded at the same time; the ensuing battle may explode your whole kernel.

gentoo has a cool system in place for the openGL libraries. It'll install each driver's openGL libs to a separate location and symlink the one you need. You can then use

Code:

eselect opengl set nvidia
eselect opengl set ati

to switch.

Of course you need two different xorg.conf and a way to pass the correct one to X. Symlink-trickery works, but

Code:

Xorg -config xorg_ati.conf

may be easier.
You may need to modify the init-scripts to only load the correct kernel modules. If you're lucky, Xorg load the correct module automatically (haven't tested that in a while).
You could even write a script to shutdown X, unload the modules, run eselect, load the other ones and restart X with the other config to switch GPUs without rebooting (though I cannot guarantee if that'll work).

If you plan on switching the hardware, simply use $(lspci | grep ...) to detect what's plugged in. Otherwise, add a second runlevel and another grub-entry like

Code:

kernel /vmlinuz root=/dev/sdxx softlevel=default_ati

If you don't want to use gentoo, you could write your own eselect-like scripts to add the symlinks. Install driver, move openGL-libs somewhere safe, install the other driver, move them somewhere else, apply symlinks as needed. Be careful when upgrading drivers. Also, your init-system may or may not understand the softlevel= kernel line, but most init systems should have some parameter with the desired effect.

Or, if all that is way to complicated: do as bridgman said, install the OS twice on separate partitions and switch via grub.

When you use ubuntu lucid+ switching can be done on the fly, otherwise you have to uninstall. When you only switch from oss driver to binary no uninstall is needed. I would NEVER run nvidia installers on u lucid+, that will break the system, same applies to ati installers.

Personally, I would love to be able to run both ATI and Nvidia at the exact same time and have the system work out of the box.... Although this mainly applies to people who have the proper configuration to allow the various cards.

When you would use oss drivers fine, but nvidia has its own libs, ati has got a bit less, but mesa libs are always replaced. U lucid+ handles that with different subdirs and update-alternative -config gl_conf switching (you need ldconfig, update-initramfs -u and xchanged xorg.conf too). On a pure system or say Debian you have to uninstall the one part of the drivers and install the new ones. The Genotoo way must be similar to U technically but i never looked into it.