[OpenIndiana-discuss] Quadro 600 No Joy - Solved

Ken Gunderson kgunders at teamcool.net
Mon Feb 28 04:20:15 UTC 2011


Well, I guess I have this solved. Sort of??  I can now startx with the
nvidia drivers loaded but one of my cores stays pegged at 80%.  At least
on oi-dev148.  Still need to test this fix on 148a.  

I did some searching on the gfx_private error.  Got lots of hits.  One
of which was this OpenSolaris bug report:

<https://defect.opensolaris.org/bz/show_bug.cgi?id=9525>

This clued me into running scanpci, whereupon I noted, similarly to the
bug reports "i915 device driver is bound twice" problem, my Quadro is
also bound twice:

pci bus 0x0005 cardnum 0x00 function 0x00: vendor 0x10de device 0x0df8
 nVidia Corporation Device unknown
 CardVendor 0x10de card 0x0835 (nVidia Corporation, Card unknown)
  STATUS    0x0010  COMMAND 0x0047
  CLASS     0x03 0x00 0x00  REVISION 0xa1
  BIST      0x00  HEADER 0x80  LATENCY 0x00  CACHE 0x08
  BASE0     0xfa000000 SIZE 16777216  MEM
  BASE1     0xc8000000 SIZE 134217728  MEM PREFETCHABLE
  BASE3     0xd6000000 SIZE 33554432  MEM PREFETCHABLE
  BASE5     0x00006c00 SIZE 128  I/O
  BASEROM   0x00000000  addr 0x00000000
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x01  INT_LINE 0x0b

pci bus 0x0005 cardnum 0x00 function 0x01: vendor 0x10de device 0x0bea
 nVidia Corporation Device unknown
 CardVendor 0x10de card 0x0835 (nVidia Corporation, Card unknown)
  STATUS    0x0010  COMMAND 0x0046
  CLASS     0x04 0x03 0x00  REVISION 0xa1
  BIST      0x00  HEADER 0x80  LATENCY 0x00  CACHE 0x08
  BASE0     0xfbffc000 SIZE 16384  MEM
  BASEROM   0x00000000  addr 0x00000000
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x02  INT_LINE 0x05

I tired running update_drv, but didn't have the correct incantation.

It was suggested that my Quadro was not being detected by Xorg.  Yeah,
that much I'd groked.  But why not?  nVidia has subsequently released
newer drivers than those shipped with OI, so I was getting ready to give
them a try, when I spied following in the README:

The X server does not start and shows the error

"Cannot open /dev/fb (No such file or directory)"

Your graphics card may be newer than the NVIDIA Accelerated Solaris
Graphics Driver Set, meaning that its PCI device ID may not have been
included in the installation scripts and therefore not added to the
file /etc/driver_aliases. To manually register the graphics card,
proceed as follows:

      * Determine the PCI device 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 PCI vendor ID is '10de', the PCI device ID is '32b'.
        
      * Become root and register the PCI device ID with the command
        
        # update_drv -a -i '"pci10de,xxxx"' nvidia
        
        xxxx is the PCI device ID returned by the scanpci command. Drop
        any leading zeroes. Note that pci10de,xxxx is nested between a
        set of single-quote/double-quote double-quote/single-quote. For
        example:
        
        # update_drv -a -i '"pci10de,32b"' nvidia
        
      * Reboot with the command
        
        # reboot -- -r
        
        Full text here:
        
        <http://us.download.nvidia.com/solaris/260.19.36/README/commonproblems.html>

        
This was just too familiar to the OpenSolaris bug report not to catch my
eye, so this time around I dropped the -v flag from scanpci.  Relevant
output here:

pci bus 0x0005 cardnum 0x00 function 0x00: vendor 0x10de device 0x0df8
 nVidia Corporation Device unknown

pci bus 0x0005 cardnum 0x00 function 0x01: vendor 0x10de device 0x0bea
 nVidia Corporation Device unknown

Followed by;

#update_drv -a -i '"pci10de,df8"'

I'd previously been unfamiliar with the -- -r flag, and after reading
man reboot and man boot am still unclear as to just what this does, but
whatever, it seems to have done the trick, as I was presented with gdm
login welcome screen and Xorg.0.log reports that my Quadro is now being
deteched:

(II) Feb 28 04:18:59 NVIDIA(0): NVIDIA GPU Quadro 600 (GF108GL) at
PCI:5:0:0 (GPU-0)
(--) Feb 28 04:18:59 NVIDIA(0): Memory: 1048576 kBytes
(--) Feb 28 04:18:59 NVIDIA(0): VideoBIOS: 70.08.27.00.02
(II) Feb 28 04:18:59 NVIDIA(0): Detected PCI Express Link width: 16X
(--) Feb 28 04:18:59 NVIDIA(0): Interlaced video modes are supported on
this GPU


Yeah! :)  

But one of my cores is pegged whilst just idling.  Boo Hiss!! :(

Hmmm... just booted with the vesa drivers and core is still pegged.
Maybe not an nVidia driver issue.  I'll follow up once I get a chance to
test this with 148a.

Perhaps this was obvious to Solaris guru's but I'm not and offer the
above in the hope it saves someone else some time running down similar
issue in the future.

Regards-- Ken


On Sat, 2011-02-26 at 23:45 -0700, Ken Gunderson wrote:
> Greetings All:
> 
> I explored this a bit more.  Got rid of the glx complaints by
> bumping /usr/X11 to top listing in "Files" section. Also installed
> xtsol, just to eliminate as even remote possibility.  
> 
> Only WW remaining in Xorg.0.log is now:
> 
> (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
> 
> EE's output is now limited to following:
> 
> (EE) Feb 27 06:32:01 NVIDIA(0): Failed to initialize the NVIDIA graphics
> device!
> 
> (EE) Screen(s) found, but none have a usable configuration.
> 
> Trying to increment logging via startx -logverbose n doesn't provide any
> additional verbiage.
> 
> Console output does generate following warning:
> 
> gfx_private:WARNING:gfxp_vgatext: can't find reg entry for registers.

-- 
Ken Gunderson <kgunders at teamcool.net>




More information about the OpenIndiana-discuss mailing list