Welcome to Machine Unix

Search Below

Solaris 10 10/09 and NVIDIA Drivers

Solaris 10 10/09 ,Update 8, was released couple days ago and you can get your copy here.

I decided to upgrade the workstation that was running Solaris 10 U7 with Live Upgrade. The particular workstation had NVIDIA graphics card installed in it. I did not have any problems running Solaris OS on this machine until I decided to put update 8 on it. The Live Upgrade went very smoothly but the following message popped up after the first reboot and it hung up there never booting completely.

NVRM: The NVIDIA Quadro FX 1100 GPU installed in this system is
NVRM: supported through the NVIDIA 173.14.xx Legacy drivers. Please
NVRM: visit http://www.nvidia.com/object/unix.html for more
NVRM: information. The 180.44 NVIDIA driver will ignore this GPU. Continuing probe..

Ok, so it looks like this particular driver is not going to work as it is installed, just get the legacy driver from NVIDIA and install it from your older boot environment. Basically reboot and select the older LU environment from the GRUB menu, thus you rollback your live upgrade.

To install the driver, I booted up to SolarisU7 and did the following:

# chmod +x NVIDIA-Solaris-x86-173.14.20.run
# ./NVIDIA-Solaris-x86-173.14.20.run -x

Above command will create a directory where the necessary packages are placed. So, it is time to mount the new lu environment, remove the current NVIDIA driver, and install the legacy:

# lumount SolarisU8 /mnt
/mnt

# cd NVDIA-Solaris-x86-173.14.20
# pkgrm -R /mnt NVDAgraphics NVDAgraphicsr
# pkgadd -R /mnt -d . NVDAgraphics NVDAgraphicsr

Now that the new packages are installed, you need to unmount ABE (Alternate Boot Environment), activate ABE and reboot:

# luumount Solaris10U8
# luactivate Solaris10U8
# sync;sync;init 6

When you reboot, you will see Solaris 10 U8 will be automatically selected in GRUB menu. Press enter and voila, there should be no problems booting into the new boot environment.

Another way of approaching this problem as the good folks at Solaris User Group pointed out is that changing the driver aliases. When the new version of Solaris is installed, some of the driver aliases are not delivered. The suggested workaround is to remove the aliases in /etc/driver_aliases.

# vi /mnt/etc/driver_aliases
The following two lines can be commented out in the file
##nvidia “pci10de,34e”
##nvidia “pci10de,1da”

Going through the same procedure of unmounting the ABE and booting the the Solaris 10 U8 should also solve the problem.

# luumount /mnt
# sync;sync;init 6

So you can get around the problem with two ways. Either you can remove the current packages and add the old ones or change the driver aliases in /etc/driver_aliases file. The choice is yours.

Leave a Reply

Your email address will not be published. Required fields are marked *

You can use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>