View Single Post
Old 10-20-06, 05:11 AM   #6
Registered User
Join Date: Jan 2006
Posts: 7
Default Re: GeForce 6150(GA-K8N51PVMT-9) 1.0-8178? Failed to initialize the NVIDIA kernel mod

Originally Posted by newsolaris
Success! Not fully sure what I was doing wrong before...
After some digging in the Nvidia Solaris driver docs, I think I understand, I've annotated your steps below:

Originally Posted by newsolaris
As near as I can tell this is what I did:
Create a standard /etc/X11/xorg.conf file, using xorgconfig autoconfigure utility
8) kdmconfig
select xorg
Solaris comes with two x servers, SUNW and Xorg. The Nvidia drivers only work with Xorg, so you must use the kdmconfig utility to select Xorg. Easiest done from the prompt before X starts. I think you can also do this from the Solaris gui login screen by selecting Java Desktop instead of CDE for the window manager, but not sure.
9) sh
10) /usr/bin/nvidia-xconfig
Autoconfigure the new Nvidia /etc/X11/xorg.conf file
11) update_drv -a -i '"pci10de,0240"' nvidia
This step is probably the key. If you run


you will see a list of all pci devices. '10de' is the vendor code for Nvidia, while '0240' is the code for the onboard graphics. However, apparently the Nvidia driver doesn't automatically recognize this as the graphics chip and must be explicitly told using the update_drv command.

12) reboot -- -r
13) * The X-server can not be started on display :0...

14) login: root
15) /opt/SUNWspro/bin/xemacs /etc/driver_aliases
16) On the last line I find:
nvidia "pci10de,0240"
Change it to:
nvidia "pci10de,240"
Leading 0 not allowed, according to Nvidia's docs.
17) reboot -- -r

18) Success!
NVIDIA splash screen comes up and then the login GUI.
Here's the Nvidia docs that explain everything: (search for 'Cannot open /dev/fb'). Here's the text:

The X server does not start and shows the error
"Cannot open /dev/fb (No such file or directory)"

The graphics card may be newer than the NVIDIA Accelerated Solaris Driver Set, meaning that its pci-id is not included in the installation scripts and not added in the file /etc/driver_aliases. To manually register the graphics card, proceed as follows:

Get the pci-id of your graphics card with the command
# /usr/X11/bin/scanpci

For example a Quadro FX500 appears as:
pci bus 0x0009 cardnum 0x00 function 0x00: vendor 0x10de device 0x032b
nVidia Corporation NV34GL [Quadro FX 500/600 PCI]

The vendor-id is '10de' and the pci-id is '32b'.

Become root and register the pci-id with the command
# update_drv -a -i '"pci10de,xxx"'

xxx is the pci-id returned from the scanpci command. Drop any leading zeroes. Note that pci10de,xxx is between a set of simple-quote/double-quote double-quote/simple-quote. For example:
# update_drv -a -i '"pci10de,32b"'

Reboot with the command
# reboot -- -r
I'm not sure how you figured out that the onboard graphics chip is 0240, since pciscan only identifies it as one of four 'Nvidia Corporation C51 PCI Express Bridge', whose only difference is their device ID, unlike the example above where the graphics card is clearly identified by name. Nice sleuthing work.
fbg111 is offline   Reply With Quote