10.20.2006

Installing Solaris 10 on an Nvidia Nforce 4 6150/430 motherboard

Nvidia's Nforce 4 6150/430 is a motherboard that contains everything onboard - graphics, sound, and ethernet, all for less than $100, making it a great deal for an entry-level workstation, and simultaneously a bit more difficult than usual to get those devices working in Solaris and Linux. I spent a few hours tonight getting Solaris 10 running on my MSI K8NGM2 FID based workstation. The title of this article links to a thread at Nvidia's official forum, Nvnews.net, where another poster and I worked out the process of getting Nvidia's graphics driver working. I'll provide a condensed version here without the trial and error, along with the same for the network and audio once I get those working as well.

Graphics Driver

Nvidia has made installing their driver very easy on the surface. Simply follow these directions. However, these directions only work for graphics cards listed in the supported hardware list, which is limited to Quadro cards and excludes the 6150 C51 chip. It's not that the drivers don't work with this chip, it's just that the install script doesn't recognize its PCI device-id, so you have to explicitly specify it using the update_drv utility. The following directions should work for 6150/430 mobo's:

1. Install Solaris, on first login, login as root to the Java Desktop (not actually a Java desktop, just a modified gdm/Gnome), not CDE. You can select JD over CDE in the Options drop-down.

2. Open a terminal and run

#kdmconfig

to confirm that Xorg is selected and not SunW. If not, select Xorg.

3. #./NVIDIA-Solaris-x86-1.0-8776.run (latest Solaris driver as of 10/20/06)

4. #update_drv -a -i '"pci10de,240"' nvidia

Those are single quotes enclosing double quotes enclosing the vendor id, comma, device id minus the leading 0. You can see the device-id for yourself by running the utility:

#/usr/bin/X11/scanpci|more

Look for 'Nvidia Corporation C51 PCI Express Bridge', there will be about 4 of these distinguished only by their device-id, one of which should be 0240, which is the graphics device. Drop the leading 0.

5. #reboot -- -r (when you get back to GRUB, there will be a new option, 'Solaris_transient_reboot', which always occurs when you 'reboot -- -r'. This option is selected as the default. Don't change this, hit Enter to boot into it).

You should be greated by an accelerated gui login, and an accelerated desktop upon login.

Here's an explanation of why the update_drv command is required, from the driver's documenation (see section on the error 'Cannot open /dev/fb').