Towards the end of December, we had written two articles to examine the frame-rate performance of both ATI Radeon and NVIDIA GeForce drivers as they had progressed throughout the year under Linux. Although there were minimal frame-rate differences between each of the drivers, in most instances, each company had appended critical features throughout the year that was sought after by the Linux community. Today we have turned the tides yet again, however, rather than studying the graphics effects under Fedora Core Linux, we turned to Sun Microsystems and Solaris 10. While we have yet to see any ATI CrossFire support under alternative operating systems, nor is it evident when (if ever) we will ever see this multi-GPU support, the developers at NVIDIA had appended Scalable Link Interface support in their 1.0-8174 display drivers released in early December of last year. However, the folks using Solaris from Sun Microsystems had not received stated SLI support until the most recent drivers released on December 22. Today at Phoronix, we are taking a quick preview/how-to guide of NVIDIA's SLI under Solaris 10. The change-log for NVIDIA's proprietary Solaris display drivers are a near carbon copy of the NVIDIA Linux display drivers. However, NVIDIA's Solaris x64/x86 drivers only go as far back as June 1, 2005 with the inception of the 1.0-7664 drivers.
Although NVIDIA's official Solaris supported products list only has the Quadro FX and NVS line of graphics cards, NVIDIA's GeForce cards can run with 3D acceleration using update_drv and specifying the scanpci output, as well as the generic NVIDIA installation methods under Solaris. In the event of our testing, we used two NVIDIA GeForce 6600GT 128MB parts. In addition, we used the Tyan Tomcat K8E-SLI S2866 motherboard and other parts that had followed our NVIDIA Scalable Link Interface primer that had premiered in late November prior to the public driver release. With the system established, and following the criteria for NVIDIA's official SLI recommendations, we proceeded with a fresh installation of Sun Solaris 10 for x86 using the default 4 CD setup.
With the installation complete, whether Common Desktop Environment (CDE) or Java Desktop System is being used, the next step in enabling SLI support is to run xorgconfig, which is found inside of /usr/X11/bin/. Running xorgconfig as su will prompt for several display/input related questions that will attempt to automatically generate the most relevant xorg.conf (output: /etc/X11/xorg.conf) configuration depending upon the specific setup.
The next step in enabling the NVIDIA drivers, and ultimately Scalable Link Interface, is to use kdmconfig and change from the xsun over to the X.Org server.
After the X.Org setup is complete, it is then time to configure the NVIDIA support. At the time of writing, the latest NVIDIA drivers for Solaris x86/x64 are 1.0-8178 and its package is entitled NVIDIA-Solaris-x86-1.0-8178.run. After acquiring this file, it needs to be executed, and the easiest way of accomplishing that is to revert into the Solaris login manager and then to select the option of a command line login. When doing so, login as root (or use su) and run the NVIDIA proprietary driver. Even with the 1.0-8178 display drivers for Solaris x86, it still lacks the NVIDIA installer that Linux users have been accustom to using.
Although there are a few notable differences between the Linux and Solaris display drivers, they both include the nvidia-xconfig utility. This feature, which premiered with the 1.0-8174/1.0-8175 display drivers allow the automatic configuration of the xorg.conf for use with NVIDIA drivers. To benefit from this utility, nvidia-xconfig simply needs to be called. Many parameters can be specified from --help and --advanced-help. Alternatively, at this time the Scalable Link Interface support can be enabled using --sli=<option>. The valid options include Off, Auto, AFR, SFR, and SLIAA. As was demonstrated in previous Phoronix Linux SLI articles, we have found the most beneficial at this time to be AFR or Alternate Frame Rendering. When using the auto option, they attempt to automatically use the best SLI option when launching a supportive program while SFR is for Split Frame Rendering. Finally, SLIAA is for SLI Antialiasing.
Although only the NVIDIA Quadro cards are listed for being supported by the Solaris display drivers, the drivers are unified and support for specific GeForce cards can be added by using the UNIX update_drv command. When using update_drv, the PCI id of the NVIDIA card(s) needs to be entered, and the information can be obtained from /usr/X11/bin/scanpci. The format for entering the information is update_drv -a -i '"pciXXXX,XXXX"' nvidia. For instance, the related scanpci output for the SLI system was:
pci bus 0x0004 cardnum 0x00 function 0x00: vendor
0x10de device 0x0140
nVidia Corporation GeForce 6600 GT
pci bus 0x0005 cardnum 0x00 function 0x00: vendor
0x10de device 0x0140
nVidia Corporation GeForce 6600 GT
Thus, the update_drv commands is update_drv -a -i '"pci10de,0140"' nvidia.
After this use reboot -- -r to cause a reconfiguration boot of the Solaris system.
If the nvidia module is running, a NVIDIA splash screen should appear when starting X.Org and the nvidia-settings application should pertinent information for the graphics card. We will not be delivering Solaris SLI results today, however, the next major NVIDIA Windows/Linux/FreeBSD/Solaris display driver release is likely to occur in early March and at that time, we will likely deliver Solaris workstation SLI results if the multi-GPU support has improved. If you will recall from our Linux SLI tests, there is still a great deal of improvements to be made when not only it comes to the related features and options but also largely the performance gains possible. In addition, these Solaris tests will be accompanied by a great deal of additional Linux measurements.