? Installing both ATI and NVIDIA drivers together ?
Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
? Installing both ATI and NVIDIA drivers together ?
I have a question about installing both ATI and NVIDIA Graphics drivers together and then having the system detect which to use based on the computer hardware - this is to be used in an external drive that has Scientific Linux installed and is expected to be moved from one computer to another and I need to be able to support having both NVIDIA and ATI hardware.
So here are the questions I have about how to get this to work.
1) Can I install the ATI and NVIDIA drivers together without conflict? I know that the NVIDIA drivers have the following installed filed: http://us.download.nvidia.com/XFree8...omponents.html...I can't find a similar listing for ATI as of yet. From this list I notice that the OpenGL library (/usr/lib/libGL.so) is replaced by NVIDIA and I suspect it would likely conflict with ATI if it does the same type of install. If anyones knows, can you confirm or deny my assumption?
I was hoping that by having both drivers install and no conflicting with each other (i.e. over-writing the same files) I figured to switch between ATI and NVIDIA would be as simple as detecting the current graphics card at boot and then applying the appropriate /etc/X11/xorg.conf that matches the config. This was suggested in the following post I found:
#!/bin/bash
# copy appropriate xorg.conf for your videocard
cp /etc/X11/default.conf /etc/X11/xorg.conf
if lspci | grep "VGA compatible controller: nVidia"
then
# nVidia card
nvidia-xconfig
fi
if lspci | grep "VGA compatible controller: ATI Technologies"
then
# ATI card, loading opensource ati driver
cp /etc/X11/ati.conf /etc/X11/xorg.conf
fi
2) Alternatively I heard mention of drivers called "nouveau" (?) that are not proprietary NVIDIA drivers and could possibly work along side of ATI? I know nothing about this so if you can enlighten me I would appreciate it.
3) FYI: the default Scientific Linux install includes a standard graphics driver and this driver worked when the drive was plugged in both ATI and in NVIDIA systems. BUT the performance under NVIDIA was horrible - some OGRE 3D demos gave me 10 frames/sec. When I installed the proprietary NVIDIA driver this jumped to 500 frames/sec. And since my development involves graphics, I can't get by with 10 fps....so sticking to the default driver is not an option.
4) Lastly, the only other option I thought about was configuring the boot process to reinstall the driver at each boot if it detects a change from the previous driver - i.e. basically add some script that will popup the ATI or NVIDIA installer and ask you to install the driver to match the system. Something like this was suggested for updating the driver when a kernel update occurs ... see this link:
use the opensource ati driver that IS part of the os
and use the open nouveau nividia driver that is also part of the default install in SL6.3
PS. you HAVE TO USE THE NVIDIA nouveau driver that IS built in to the OS for the SL6 boot loader !!!!
the boot loader REQUIRES the DEFAULT nouveau driver to be installed
-- or no fancy boot graphics
if you are going to be moving it around then DO NOT use the proprietary nvidia and AMD-ATI drivers
DO NOT use the " kmod " or .run drivers
I am using SL 6.2 ... the default drivers that were installed (can't say what they were, other than all I see is "vesa" in xorg.conf) were horrible. I had 10 FPS in an OGRE demo...when I added the proprietary drivers it went to 500 FPS!!!! Are you saying that maybe I need to have SL 6.3 or did I miss that 6.2 also has nouveau drivers? Sorry, been a while for me on linux and so I hope I'm making sense now.
Assuming I don't have the nouveau drivers, can I simply uninstall the current NVIDIA one and then download the nouveau and install? I'm guessing that was a stupid question and the answer is probably yes, but do you have any other advice? thanks.
no, you DO have the nouveau driver installed if you have a nvidia card ( you ALSO have the ati open driver also installed
- they are by DEFAULT installed
unless
you installed the .run and rebuilt the boot image
then it is still installed but just not used
the "vesa" driver is a 2d ONLY -- no 3d support in it
you might want to read the man page
Code:
man xorg.conf
-- and ---
man xorg
replace vesa with nouveau as the driver in the "xorg.conf" file
The proprietary AMD and Nvidia drivers will not play together on one system. You can use the free radeon and nouveau drivers (installed by default and automatically chosen if the hardware is detected), but, as you figured out yourself already, performance is (dependent on which video card is in the system) ranging from sub-optimal to horrible yet.
I would recommend to set up a dual boot system, one SL install with the AMD drivers (where you launch amdconfig --initial in rc.local to detect the actual video card) and one install with the Nvidia drivers (where you launch nvidia-xconfig in rc.local to detect the video hardware). To make things easier configure the systems in the same way and set up a shared /home partition.
1) Since I've already installed the NVIDIA proprietary drivers will I have to first uninstall those and then switch my xorg.conf to the "nouveau" drivers? I ask because I know 3D stuff is typically OpenGL and the NVIDIA driver installs its own copy of libGL.so - wouldn't anything needing libGL be pointing to the proprietary NVIDIA driver I had even though I may have nouveau selected in xorg now?
1.5) If I didn't uninstall the NVIDIA driver and just wanted to test the nouveau driver by changing the 'xorg.conf' would it work or do I have to do an uninstall? Also, does the uninstall get me back to my pre-install state (I mean, will it return any of the .so files it may have overwritten)?
2) Clearly my 10 FPS demo was running through the "vesa" driver - do you think I'll get even half the performance of the NVIDIA drivers (it was 500 FPS) if I simply switch to the nouveau? I guess the answer is just to try it.
3) How do I check if I truly have the nouveau and open source ATI drivers installed - just to make sure?
4) Say I try the dual OS setup - besides sharing my /home, can I share my /usr/local as well and install my software just once and have it work across both - I'm guessing yes because there isn't some crazy registry like in Windows.
1 + 1.5) Yes, you need to have to uninstall the Nvidia driver. There should be an uninstall script somewhere, but I currently don't have a Nvidia card, so I don't know how it is named and where it is located.
2) The vesa driver doesn't support any kind of acceleration, so most likely you were using the nouveau driver. The nouveau driver currently has problems on newer cards to set thei GPU frequency to its nominal value and lacks performance in general. Which performance you get is highly dependent on the used video card and the software.
So I did the uninstall using the .run file and adding the '--uninstall' flag ... did this from run level 3. It says it completed but then I looked at the log file and there were some warnings, etc that had me a bit worried.
Here are a couple examples:
Quote:
-> The previously installed file '/usr/lib64/libGL.so.304.37' has a different checksum (3360028061) than when it was installed (1935444666). /usr/lib64/libGL.so.304.37 will not be uninstalled.
There were a few more like this for nvidia-xconfig, nvidia-settings, etc, etc. I know why this happened but I'm not sure it even matters. It happened because the driver was initially installed on a different NVIDIA based machine and it was uninstalled on a second NVIDIA machine - hence the checksums fail.
Ok, so now that it was uninstalled I decided to try the 'nouveau' drivers but the boot didn't detect any devices and failed. Here is what the Xorg.0.log says about it:
Quote:
[ 35.828] (II) LoadModule: "nouveau"
[ 35.828] (II) Loading /usr/lib64/xorg/modules/drivers/nouveau_drv.so
[ 35.828] (II) Module nouveau: vendor="X.Org Foundation"
[ 35.828] compiled for 1.10.4, module version = 0.0.16
[ 35.828] Module class: X.Org Video Driver
[ 35.828] ABI class: X.Org Video Driver, version 10.0
[ 35.828] (II) NOUVEAU driver
[ 35.828] (II) NOUVEAU driver for NVIDIA chipset families :
[ 35.828] RIVA TNT (NV04)
[ 35.828] RIVA TNT2 (NV05)
[ 35.828] GeForce 256 (NV10)
[ 35.828] GeForce 2 (NV11, NV15)
[ 35.828] GeForce 4MX (NV17, NV18)
[ 35.828] GeForce 3 (NV20)
[ 35.828] GeForce 4Ti (NV25, NV28)
[ 35.828] GeForce FX (NV3x)
[ 35.828] GeForce 6 (NV4x)
[ 35.828] GeForce 7 (G7x)
[ 35.829] GeForce 8 (G8x)
[ 35.829] GeForce GTX 200 (NVA0)
[ 35.829] GeForce GTX 400 (NVC0)
[ 35.829] (--) using VT number 7
[ 35.846] drmOpenDevice: node name is /dev/dri/card0
[ 35.857] drmOpenByBusid: Searching for BusID pci:0000:01:00.0
[ 35.857] drmOpenDevice: node name is /dev/dri/card0
[ 35.862] drmOpenByBusid: drmOpenMinor returns -1
[ 35.862] drmOpenDevice: node name is /dev/dri/card1
[ 35.868] drmOpenByBusid: drmOpenMinor returns -1
[ 35.941] drmOpenDevice: node name is /dev/dri/card0
[ 35.949] drmOpenDevice: node name is /dev/dri/card0
[ 35.955] drmOpenDevice: node name is /dev/dri/card1
[ 35.961] drmOpenDevice: node name is /dev/dri/card2
[ 35.968] drmOpenDevice: node name is /dev/dri/card3
[ 35.974] drmOpenDevice: node name is /dev/dri/card4
[ 35.980] drmOpenDevice: node name is /dev/dri/card5
[ 35.987] drmOpenDevice: node name is /dev/dri/card6
[ 35.993] drmOpenDevice: node name is /dev/dri/card7
[ 35.999] drmOpenDevice: node name is /dev/dri/card8
[ 36.005] drmOpenDevice: node name is /dev/dri/card9
[ 36.012] drmOpenDevice: node name is /dev/dri/card10
[ 36.018] drmOpenDevice: node name is /dev/dri/card11
[ 36.024] drmOpenDevice: node name is /dev/dri/card12
[ 36.030] drmOpenDevice: node name is /dev/dri/card13
[ 36.036] drmOpenDevice: node name is /dev/dri/card14
[ 36.042] drmOpenDevice: node name is /dev/dri/card15
[ 36.048] (EE) [drm] failed to open device
[ 36.051] (EE) No devices detected.
[ 36.051]
Fatal server error:
[ 36.051] no screens found
[ 36.052]
Please consult the Scientific Linux support
at https://www.scientificlinux.org/maillists
So, it hung at the boot screen and I had to ctrl-alt-F2 to log in and switch back to 'vesa'.
Do you think the cause was the possible incomplete uninstall that that nvidia-installer.log is telling me - ie that the checksums didn't match so certain files were not uninstalled? I guess I should be able to repeat the uninstall process by going back to the original NVIDIA machine where the checksums should match - maybe. sigh.
The checksums shouldn't change on different machines. I would recommend to re-install all packages that contain files that the Nvidia installer does not uninstall.
I could see why the checksums were different - I guess I assume they base the checksum on the hardware signature because nothing else has changed on this system. I literally only installed the proprietary NVIDIA driver and that is it until this attempt to uninstall it. But, as I said, I installed in on Machine #1 and uninstalled it on Machine #2.
I can't think of which packages that could be...the only one would likely be related to the graphics driver and that would be nouveau ... I guess I should just try to install it again?
fyi, I booted the drive using the 'vesa' driver on my ATI machine (Machine #3) and the performance is bad as expected. What is the way to enable the included ATI drivers on that machine?
I could see why the checksums were different - I guess I assume they base the checksum on the hardware signature because nothing else has changed on this system. I literally only installed the proprietary NVIDIA driver and that is it until this attempt to uninstall it. But, as I said, I installed in on Machine #1 and uninstalled it on Machine #2.
Checksums on files are not dependent on hardware, if the checksum is mismatching then the file was altered, not the hardware.
Quote:
I can't think of which packages that could be...the only one would likely be related to the graphics driver and that would be nouveau ... I guess I should just try to install it again?
The uninstall process gave you a list which files were not uninstalled. I don't know much about yum, but I think there will be an option that shows you which package a file belongs to. Re-install those packages.
Quote:
fyi, I booted the drive using the 'vesa' driver on my ATI machine (Machine #3) and the performance is bad as expected. What is the way to enable the included ATI drivers on that machine?
You don't need to. If you don't have a xorg.conf file the X server will automatically choose the correct driver. Of course this will lead to problems with the AMD driver if you still have relevant parts of the Nvidia driver installed.
thank you very much for the info. It looks to me like my 3D graphics performance is just not going to be good with the default drivers. I'll try to reinstall any packages directly affected by the NVIDIA driver and see - thanks for that suggestion.
btw, I removed the xorg.conf and had the system choose the driver and it basically selected some poor performing driver that still has my demos at about 10 FPS. I think in the end I'll just have to either pick the proprietary NVIDIA or ATI and stick with one - or I do a separate OS install for each config.
Maybe not what you want to hear, but wouldn't it be easier just to use a laptop for your presentations instead of doing this on your clients machines?
Even if you go for the dual-boot solution you may come across situations where your client has somewhat recent videocards that are nonetheless not supported by the proprietary drivers (more likely to happen with AMD drivers), leaving you with the vesa driver only, which will not run 3D applications.
I am actually doing this on a laptop but we are not allowed to alter out laptop configs and so the only solution we found was using an external drive. This is actually not a company or an educational institution..cough, cough. We've all been using Exceed-on-Demand (from a Windows PC) to connect to a centralized blade server and that has either had no graphics performance or poor graphics performance. Unfortunately we will be needing graphics eventually to do analysis so it seems like the best solution is for people to just install linux on external drives, but then it turned out that we had multiple hardware configs to deal with due to recent contract changes and we thought that Linux would save us all. I guess not.
I'm still surprised it is this difficult to get graphics to work properly on Linux, but I guess that's really no different than Windows - though there is less command line stuff you have to do in Windows.
BTW, I managed to kill my GLX extension somehow when I reinstalled the libGL and ligGLw...so now under NVIDIA I don't get the graphics demo to come up at all..sigh.
Most OSes are not made to constantly be run on changed hardware. There are many things involved. Even if you have two systems with the exactly same videocard they may end up as different PCI devices on different mainboards.
Maybe you should talk with your admins/bosses/whoever about the situation and that you are not able to do your work effectively under the current conditions.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.