• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.
  • The forums have been upgraded with support for dark mode. By default it will follow the setting on your system/browser. You may override it by scrolling to the end of the page and clicking the gears icon.

Guide: How to enable, use, and configure SLI on Linux.

Joined
May 9, 2006
Messages
2,050 (0.30/day)
Location
Venice
System Name Amber
Processor AMD Athlon 64 x2 3800+ Toledo 3.0GHz/2.0GHz 1.5V
Motherboard DFI Lanparty UT NF4 SLI Expert
Cooling Air: 1 80mm-Intake-top | 4-120mm 3-intake-1-exhaust | Proc 120mm blue orbII | N.B-T.T Key 3|
Memory 2GIG, 4x512 Kingston Hyper-X DDR333 PC 2700@167Mhz |2-2-2-5|-7-1T-8(CPU-Z) Dual channel
Video Card(s) 2 PNY Verto 8600GT'S in SLI, 670MHz/540MHz(Core)800MHz/700MHz
Storage 320 Gig Western digital SATA
Display(s) Sony 17" LCD 1280x1024 @ 75Htz
Case Sunbeam clear acrylic
Audio Device(s) Native Instuments Guitar Rig 3
Power Supply 520 Watt Aspire Dual rail +12#1 16 amps +12#2 18 amps(I think)
Software Fedora Core 8, Windows Vista
Hello. Welcome to the painful world of configuring Linux.

This Guide is now a two part, mostly SLI in Linux, but also to help configure graphic options.

Part 1. SLI



So, I've been trying to enable SLI on SuSe 10.3 for, seriously months and months. Heres the guide I was always looking for.

1.) First we need our distro.



There are many out there, I use SuSe GNOME. Its powerful, easy and well my first choice. Theres also popular ones such as Gentoo, RedHat, Ubuntu, Solaris, Fedora core and many more. This will normally refer to RPM packages and miscellaneous package managers, some distro's are different such as Debian. nVidia supports about all of them, including 64 bit, so no worries. IMPORTANT! Make sure you have your SLI disabled in your BIOS, or just remove the bridge, so you can configure and enable it in the GUI . If it is enabled while you install, you will not get a desktop.

2.) Drivers.

Time to download. Heres nVidia's download page and list: http://www.nvidia.com/object/unix.html
find the driver you need. I used YaST, which is SuSe's package manager, so I'll go over that first. Here is a direct instruction list from the site if you are using Yast,

Update your Kernel via YOU (YaST Online Update). Use

YaST -> Software -> Software Repositories -> Add

Protocol: HTTP
Server Name: : download.nvidia.com
Directory on Server: /opensuse/10.3

to add the nVidia http server as additional installation source.
Now use

YaST -> Software -> Software Management

to install the NVIDIA driver. Select the following packages:

x11-video-nvidiaG01
After that is done, (which you just updated the Kernel) you need to install the driver UI and so on, which luckily, is just a click installation, http://opensuse-community.org/nvidia.ymp
for SuSe users, the rest is simple from there on for the initial driver installation.

(Non SuSe users)
This is right on the site, but just for further clarifacation.


Download the file marked on the download page, heres a copy and paste right from the site.


STEP 2: Download the Driver File
Download - NVIDIA-Linux-x86_64-169.07-pkg2.run
SuSE users: please read the SuSE NVIDIA Installer HOWTO before downloading the driver.
STEP 3: Install
Type "sh NVIDIA-Linux-x86_64-169.07-pkg2.run" to install the driver. NVIDIA now provides a utility to assist you with configuration of your X config file. Please see Chapter 3 of the README or run 'man nvidia-xconfig' for details on usage. Instructions for those wishing to edit their X config file by hand can also be found in the README.
If you have any questions or problems, please check the linux discussion forum. If you don't find an answer to your question there, you can send email (in English) to linux-bugs@nvidia.com.
When emailing linux-bugs@nvidia.com, please attach an nvidia-bug-report.log, which is generated by running "nvidia-bug-report.sh".









So theres the driver installation, any question post and I'll try to clarify.

Driver installation for non-SuSe, Fedora, Redhat, Solaris ect.

Now SuSe is great because it installs the drivers for you. Now lets install the drivers from the command line!

First we need the file: http://us.download.nvidia.com/XFree86/Linux-x86_64/169.09/NVIDIA-Linux-x86_64-169.09-pkg2.run

Now this driver cannot be installed when your are in you GUI, basically we need to switch to a black screen with a blinky cursor. To do this, open your terminal and login as root,

Code:
# su

(enter your root password.)

Now, we need to switch to run level 3, type:

Code:
# init 3


now navigate to where you downloaded it, most likely your desktop, so type:

Code:
# cd /home/(your user name)/Desktop

Now we need to run the installer which we type:
Code:
# sh NVIDIA-Linux-x86_64-169.09-pkg2.run

So, the installer should run. Now heres the problem I had and how to fix it.

The nVidia driver has to recompile your kernel if it does not match the version it wants. This is easy. Sometimes the installer will connect to a repo. and do it it self, but theres a way to do it before hand. Open up your package manager, which is just your Add/remove programs, the software manager. We need to download the source for the kernel your currently running. These files will be labeled kernel-devel. Download all of your kernel source files which any source file will have the suffix -devel. Once these are downloaded you will be good to go.






3.) Configuring your nVidia XServer program

Now you should have a configuration UI called nVidia XServer settings, its under applications, looks like so...(screenie from my system, if not there its cause I haven't posted the pic yet.)

kncjmhpstm.jpg



This is your general configuration, and if you notice, the second card should be running at 2x, if disabled, as most boards run one card at 16x and the other at 2, or some board will run full SLI 16x by 16x. So there should be one card running at 16x.

If you have this UI, the drivers are installed and time to enabled the SLI

4.) Enabling.

Open up your terminal, the command line interface for all Linux distro's. SLI on Linux has different configurations, we will use the "AUTO" settings, as you can tweak with the different settings later. What we will be doing here is telling the xorg file (your graphic configuration) to set multi GPU'S on the same xscreen, or xserver, which is basically your monitors output. To see whats happening before we enable, lets go through the different options. First in terminal, set your permissions to root by typing:

Code:
$ su

hit enter, then it will prompt you for your root password(admin password), type it then hit enter. Notice your now using the terminal as the root user. Now type:

Code:
$ nvidia-xconfig --advanced-help

hit enter. This will give you all the different options for the nvidia-xconfig command. Notice theres one called SLI(if you scroll down) also notice the different options for the SLI command. Like I said, we will be using the "AUTO" setting, as it is the easiest to work with. Now type:

Code:
$ nvidia-xconfig --sli=Auto

hit enter. It should tell you about a new configuration file /ect/xll/xorg.conf. Now restart and enabled SLI in your BIOS. If you load up with a GUI, check the nVidia xserver program and it should look like mine with it telling you both your cards are SLI, as in, if you go to GPU 0 or GPU 1, click it and you should see where it says X Screens: Screen 0(SLI) you have successfully enabled SLI in Linux. Have fun tweaking!

Heres a Screenie of my SLI in the nVidia XServer program

bdfiwgilds.jpg


Any comments, edits, ideas are welcome. (First revision of this guide.)

Part 2. Graphic configuring


*Further editing for advanced users*


Beyond our new nVidia XServer, we can edit deeper. All of the graphic configuring is saved, and can be edited in the /etc/X11/xorg.conf file. There are many different root editing programs for different distros. The one I currently am using is gedit, though ive used nano too. They all do the same thing, just gotta know which one you have so you know the corret syntax for the shell command. Editing this is very risky, know your coding when doing this. Ill post all about it tomorrow I need to sleep. But if you just want to poke around(DONT SAVE)type:

Code:
$ sudo

gedit /etc/X11/xorg.conf
Have fun =P

Some example code in the xorg edit, this is a problem I've had with many systems dealing with again your distro not recognizing the settings for your video card and or your monitor, having to deal with your resolution. What we will do is add a new "mode" to your monitor in xorg, giving you the option to change it to resolutions that before hand were not offered. Heres some example code to help you out:

Code:
Section "Screen"
    Identifier    "Default Screen"
    Device        "NVIDIA Corporation NV34 [GeForce FX 5200]"
    Monitor        "CM752ET"
    DefaultDepth    16
    SubSection "Display"
        Depth        16
        Modes      "1024x768_75.00"
    EndSubSection
EndSection

Now remember, this is not to do with the terminal, and it not to be entered in such. This is after we open the xorg config file in gedit or nano(refer to earlier instructions about editing) I'll throw some screen shots up later of me editing my own xorg.


BETA Code.)Enabling 3D Hardware Acceleration



Note: The code below refers to enabling the 3D acceleration when using the nVidia XServer program. For the most part, you will not need to enable the acceleration if you do not have a card new enough so the XGL will not regonize it. If someone has a problem enabling acceleration for other cards (ATI, onboard ect,) post and I will firgure it out and add it to the guide.

Now, different distros, most all popular ones I'm sure, use the XGL config for 3D acceleration. This allows you to use different desktop effects for GNOME and KDE. To be honest, I do not know any other reasoning for using the acceleration, I will research and post later.

Most newer cards are not recognized but the XGL server, thus it will not enable the acceleration by default, and may give you warnings about your card not supporting it. Now we all know most 7.XX and about all 8.XX nVidia cards will support this, Linux just does not think so. So we can force it on and it works fine. Now to the code.

Here is, what I call BETA code, because I will explain the problems I had later despite the fact it worked. Open up the terminal and shoot this out:

Code:
$  su -
$  nvidia-xconfig --composite 
$  nvidia-xconfig --render-accel
$  nvidia-xconfig --add-argb-glx-visuals -d 24

Bam! Works. =P. As you can see we are using the nvidia-xconfig like we used to enable SLI, same core but it will react with the XGL server to enable it. Now the problems I had are some user error, and some I don't know. My screen would go all white, though still have a cursor sometimes when I start playing with the desktop effect settings. If your screen goes to an unusable state, just press CTRL+ALT+Backspace, it ends your session and you can re-login and start over. Ill get more into the acceleration configuration when I learn more about it.


EXTRA. The first posting about the creation of my OS.

Yes, I am working on creating my own linux based operating system. So far there is not much info I can relese about it because its like super beta right now. But heres a list of some stuff I can tell right now:

Name
VixIn
I got this name from a friend actually. a Vixen is a female fox, so obviously my handle is fox this seems appropriate, and yes its misspelled, but purposely because, well its a linux distro.

Kernel

FoxxIx
The kernel is not from scratch just to get that out there. I took the source from my current fedora 8 install. I have made many changes to it, mostly to deal with the configuration of my own compuiter, but it will benefit others, mostly to try and optomize for newer hardware and such. I also have been trying to work it out with different SATA configs and SCSI. It previously had SCSI support, cept I was having problems mounting the live CD to my server at school, so thats somewhat in development. The Kernel is very very far away so nothing really to post about that right now.

GUI

KDE 3.5/4.0
For the most part I have always used KDE for all my distros ive downloaded. Overall it looks better. Also I like the organization of KDE over any GNOME revision. KDE is still in development so I really wont use it yet, but I will be done with this project most likey well after 4.0 is finished. Bell again gotta go to nest class, post later.
 
Last edited:
sweet!!! i was wondering if it could be done.
 
I guess the next logical step would be to report on the performance you can get with SLI in Linux. That'd be my suggestion anyway.
 
Oh and I will be glad too! I got some UT disks sitting somewhere which can run on Linux, just gotta find them...

And thanking the guide would be awesome too =P. Also, any and I mean ANY suggestions to this would be greatly accepted and appreciated.
 
I failed miserably at this when I tried... good to see someone got it to work. STICKY!
 
This is what I was going for lol. I tried this so many times and lost many keyboards from my anger lol. I hope it works for all of you, if you get problems report them here and ill try my self and fix em.
 
Sticky plz

i second that. SLI in linux wasn't even a though in PPL's minds until lately. i can't wait to see how SLI scales in linux. can you do crossfire in linux?
 
i second that. SLI in linux wasn't even a though in PPL's minds until lately. i can't wait to see how SLI scales in linux. can you do crossfire in linux?

that i know of its possible but ATI's drivers are way harder to configure
 
how about crossfire-x? my 2x2's would be interesting on a linux box. compiz/beryl would be even better and could allow more complex effects.
 
first I gotta work on the fact I somehow deleted half my guide....:banghead::banghead::banghead::banghead::banghead::banghead:
 
first I gotta work on the fact I somehow deleted half my guide....:banghead::banghead::banghead::banghead::banghead::banghead:

What's missing? I can restore an older edit of the post. But I don't see any differences from now vs. the old ones.
 
Ok, I hope thats what the guide used to look like. How I deleted half of it? Don't use crappy wireless p2 systems to edit guides when the save of your post takes five minutes. Then crashes.
 
wazz can u sticky?
 
Some updates, later when I get to IT class Im going to write and get into the basic code for configuring the xorg

EDIT: thanks wazz, I didn't read your post before I fixed it myself >.< lol

EDIT2: Didn't notice the sticky till now. Many Thanks!
 
Updated, I have recently switched to Fedora Core 8 and did the same configuring but the installation was all different, so I posted how to do it! :D
 
I just posted about my new project, creating my own operating system, its all the way to the bottom of the thread, any comments, suggestions and ideas are greatly welcomed, this is the first time ive ever programmed any project to a high extent.
 
that is so awsomne tony you da man!
 
i got some pics of the boot screen lol had to make some flashy crap h/o lemme up load them. THe big one is the boot scree and the little one is just some fun I had with photoshop and kinda promoting my kernel.
 

Attachments

  • white_fox.jpg
    white_fox.jpg
    56 KB · Views: 1,187
  • Kernel logo.jpg
    Kernel logo.jpg
    21.6 KB · Views: 1,130
looks good your really getting proficent good job..you have advanced far my student.
 
It's only now I know SLI could be done on Linux. But I wish there were games/apps that could utilize them too. Of course the X-Server can now utilise two GPU's but are the OpenGL apps (games / screensavers / CAD....etc) made for them?
 
their are games that run under linux the UT series never winter nights most things that run under the ut engine or were coded for openGL can run under linux with some configuration or is that not what your asking?
 
also, wine with interact with your xorg, nvidia settings ect, you can configure wine and make it tight as shit.
 
their are games that run under linux the UT series never winter nights most things that run under the ut engine or were coded for openGL can run under linux with some configuration or is that not what your asking?

Question is, will the Unreal Engine based games (with the Linux layer) be able to exploit multi GPU like its Windows counterparts? Just found out you could run 3DMark '03 and '05 atop Wine. :)
 
Question is, will the Unreal Engine based games (with the Linux layer) be able to exploit multi GPU like its Windows counterparts? Just found out you could run 3DMark '03 and '05 atop Wine. :)

yes they should seeing as you configure your driver for sli all ut engine and open GL games in theory will take advantage assuming the game itself was coded to take advantage of multiple gpu setups :)
 
Back
Top