1. Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

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

Discussion in 'Linux / BSD / Mac OS X' started by Fox34, Feb 19, 2008.

  1. Fox34

    Fox34 New Member

    Joined:
    May 9, 2006
    Messages:
    2,049 (0.69/day)
    Thanks Received:
    98
    Location:
    Venice
    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.)

    [​IMG]


    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

    [​IMG]

    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: Apr 2, 2008
  2. Fitseries3

    Fitseries3 Eleet Hardware Junkie

    Joined:
    Oct 6, 2007
    Messages:
    15,509 (6.28/day)
    Thanks Received:
    3,106
    Location:
    Republic of Texas
    sweet!!! i was wondering if it could be done.
  3. Silverel

    Silverel New Member

    Joined:
    Nov 14, 2007
    Messages:
    1,769 (0.73/day)
    Thanks Received:
    233
    Location:
    Detroit, MI
    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.
  4. Fox34

    Fox34 New Member

    Joined:
    May 9, 2006
    Messages:
    2,049 (0.69/day)
    Thanks Received:
    98
    Location:
    Venice
    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.
  5. PVTCaboose1337

    PVTCaboose1337 Graphical Hacker

    Joined:
    Feb 1, 2006
    Messages:
    9,513 (3.09/day)
    Thanks Received:
    1,142
    Location:
    San Antonio, Texas
    I failed miserably at this when I tried... good to see someone got it to work. STICKY!
  6. Fox34

    Fox34 New Member

    Joined:
    May 9, 2006
    Messages:
    2,049 (0.69/day)
    Thanks Received:
    98
    Location:
    Venice
    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.
  7. Solaris17

    Solaris17 Creator Solaris Utility DVD

    Joined:
    Aug 16, 2005
    Messages:
    17,065 (5.25/day)
    Thanks Received:
    3,501
    Location:
    Florida
    Sticky plz
  8. Fitseries3

    Fitseries3 Eleet Hardware Junkie

    Joined:
    Oct 6, 2007
    Messages:
    15,509 (6.28/day)
    Thanks Received:
    3,106
    Location:
    Republic of Texas
    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?
  9. Solaris17

    Solaris17 Creator Solaris Utility DVD

    Joined:
    Aug 16, 2005
    Messages:
    17,065 (5.25/day)
    Thanks Received:
    3,501
    Location:
    Florida
    that i know of its possible but ATI's drivers are way harder to configure
  10. Fitseries3

    Fitseries3 Eleet Hardware Junkie

    Joined:
    Oct 6, 2007
    Messages:
    15,509 (6.28/day)
    Thanks Received:
    3,106
    Location:
    Republic of Texas
    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.
  11. Fox34

    Fox34 New Member

    Joined:
    May 9, 2006
    Messages:
    2,049 (0.69/day)
    Thanks Received:
    98
    Location:
    Venice
    first I gotta work on the fact I somehow deleted half my guide....:banghead::banghead::banghead::banghead::banghead::banghead:
  12. wazzledoozle

    wazzledoozle New Member

    Joined:
    Aug 30, 2004
    Messages:
    5,414 (1.50/day)
    Thanks Received:
    161
    Location:
    Seattle
    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.
  13. Fox34

    Fox34 New Member

    Joined:
    May 9, 2006
    Messages:
    2,049 (0.69/day)
    Thanks Received:
    98
    Location:
    Venice
    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.
  14. Solaris17

    Solaris17 Creator Solaris Utility DVD

    Joined:
    Aug 16, 2005
    Messages:
    17,065 (5.25/day)
    Thanks Received:
    3,501
    Location:
    Florida
    wazz can u sticky?
  15. Fox34

    Fox34 New Member

    Joined:
    May 9, 2006
    Messages:
    2,049 (0.69/day)
    Thanks Received:
    98
    Location:
    Venice
    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!
  16. Fox34

    Fox34 New Member

    Joined:
    May 9, 2006
    Messages:
    2,049 (0.69/day)
    Thanks Received:
    98
    Location:
    Venice
    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
  17. Fox34

    Fox34 New Member

    Joined:
    May 9, 2006
    Messages:
    2,049 (0.69/day)
    Thanks Received:
    98
    Location:
    Venice
    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.
  18. Solaris17

    Solaris17 Creator Solaris Utility DVD

    Joined:
    Aug 16, 2005
    Messages:
    17,065 (5.25/day)
    Thanks Received:
    3,501
    Location:
    Florida
    that is so awsomne tony you da man!
  19. Fox34

    Fox34 New Member

    Joined:
    May 9, 2006
    Messages:
    2,049 (0.69/day)
    Thanks Received:
    98
    Location:
    Venice
    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.

    Attached Files:

  20. Solaris17

    Solaris17 Creator Solaris Utility DVD

    Joined:
    Aug 16, 2005
    Messages:
    17,065 (5.25/day)
    Thanks Received:
    3,501
    Location:
    Florida
    looks good your really getting proficent good job..you have advanced far my student.
  21. btarunr

    btarunr Editor & Senior Moderator Staff Member

    Joined:
    Oct 9, 2007
    Messages:
    28,201 (11.42/day)
    Thanks Received:
    13,570
    Location:
    Hyderabad, India
    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?
  22. Solaris17

    Solaris17 Creator Solaris Utility DVD

    Joined:
    Aug 16, 2005
    Messages:
    17,065 (5.25/day)
    Thanks Received:
    3,501
    Location:
    Florida
    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?
  23. Fox34

    Fox34 New Member

    Joined:
    May 9, 2006
    Messages:
    2,049 (0.69/day)
    Thanks Received:
    98
    Location:
    Venice
    also, wine with interact with your xorg, nvidia settings ect, you can configure wine and make it tight as shit.
  24. btarunr

    btarunr Editor & Senior Moderator Staff Member

    Joined:
    Oct 9, 2007
    Messages:
    28,201 (11.42/day)
    Thanks Received:
    13,570
    Location:
    Hyderabad, India
    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. :)
  25. Solaris17

    Solaris17 Creator Solaris Utility DVD

    Joined:
    Aug 16, 2005
    Messages:
    17,065 (5.25/day)
    Thanks Received:
    3,501
    Location:
    Florida
    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 :)

Currently Active Users Viewing This Thread: 1 (0 members and 1 guest)

Share This Page