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').

10.01.2006

11th ACM SIGPLAN International Conference on Functional Programming

I attended the Saturday weekend workshop in Erlang, and split Sunday between the Haskell and Scheme workshops, opting for the presentations that most interested me. In the following posts, I'll provide a review of some of the talks and papers at these workshops. Since each paper is published under a copyright that appears to require 'prior specific permission and/or a fee' to '...republish, to post on servers or to redistribute to lists', I'll just provide a summary of interesting points.

ACM SIGPLAN Erlang Workshop 2006


  1. Concurrent Caching, J. Nelson (DuoMark International, Inc.)

  2. Comparing C++ and Erlang for Motorola Telecoms Software, P. Trinder (Heriot-Watt University)

  3. From HTTP to HTML - Erlang OTP Experiences in Web Based Service Applications, F Cesarini, L.-A. Larsson, M. Slaski (Erlang Training & Consulting, Ltd.)

  4. Evaluation of Database Management Systems for Erlang, E. Hellman (Erlang Training & Consulting, Ltd.)


ACM SIGPLAN Scheme and Functional Programming Workshop 2006

  1. Invited Talk: The HOP Development Kit, Manuel Serrano (Inria Sophia Antipolis)

  2. Concurrency Oriented Programming in Termite Scheme, presented Guillaume Germain on behalf of himself, Mark Feeley, and Stefan Monnier (Universite de Montreal)

  3. Interaction-Safe State for the Web, Jay McCarthy, Shriram Krishnamurthi (Brown University)

  4. Scheme for Client-Side Scripting in Mobile Web Browsing (or Ajax-like Behavior without Javascript), Ray Rischpater (Rocket Mobile, Inc)


ACM SIGPLAN Haskell Workshop 2006

  1. Running the Manual: An Approach to High-Assurance Microkernel Development, P. Derrin, K. Elphinstone, G. Klein, D. Cock, M. M. T. Chakravarty (University of New South Wales)

  2. User-Level Transactional Programming in Haskell, P.Thiemann (Universitat Frieburg)

  3. Interactive Debugging with GHCi, D. Himmelstrup (unfortunately the presenter couldn't make it and the talk was cancelled, and only the paper's abstract and a single code example are published in the conference literature)


I may not get to all of these for a while...