nV News Forums

 
 

nV News Forums (http://www.nvnews.net/vbulletin/index.php)
-   NVIDIA Linux (http://www.nvnews.net/vbulletin/forumdisplay.php?f=14)
-   -   nv driver with HP 30" not getting 2560x1600 - only 1280x800 (http://www.nvnews.net/vbulletin/showthread.php?t=131781)

konst 04-20-09 12:59 PM

nv driver with HP 30" not getting 2560x1600 - only 1280x800
 
I'm trying to use the nvidia obfuscated driver nv with an HP 30". Not getting 2560x1600 - only 1280x800. The card is a 8800GTX. Anyone have any suggestions including Nvidia employees?

AaronP 04-20-09 02:44 PM

Re: nv driver with HP 30" not getting 2560x1600 - only 1280x800
 
From the man page:
Quote:

Originally Posted by nv(4) man page
Option "AllowDualLinkModes" "boolean"
Allow validation of dual-link DVI modes. Not all GPUs are configured at boot time to be able to handle dual-link modes, so they are dis‐
abled by default.


konst 04-20-09 10:24 PM

Re: nv driver with HP 30" not getting 2560x1600 - only 1280x800
 
Quote:

Originally Posted by AaronP (Post 1987628)
From the man page:

That doesn't work. I already have that option set. What appears on the screen is a line at the very top of the display that looks like a series of dots and the rest of the screen is black. Could that be a timing problem? If so how do I fix it?

Here is the Modeline in the xorg.conf file:

ModeLine "2560x1600" 268.00 2560 2608 2640 2720 1600 1603 1609 1646 +hsync -vsync

The monitor is an HP LP3065

AaronP 04-21-09 01:25 AM

Re: nv driver with HP 30" not getting 2560x1600 - only 1280x800
 
That's why I made that option disabled by default. At boot, your GPU is not running at a high enough clock frequency to be able to drive that mode. On some GPUs, the VBIOS aggressively underclocks the card to conserve power and reduce heat, relying on the nvidia driver to raise the clocks later as needed. Unfortunately, clock programming is very complex and slightly dangerous, so the nv driver doesn't even try. I'm afraid that if you want to use that mode, you'll need to use the full nvidia driver.

konst 04-21-09 02:43 AM

Re: nv driver with HP 30" not getting 2560x1600 - only 1280x800
 
Quote:

Originally Posted by AaronP (Post 1988058)
That's why I made that option disabled by default. At boot, your GPU is not running at a high enough clock frequency to be able to drive that mode. On some GPUs, the VBIOS aggressively underclocks the card to conserve power and reduce heat, relying on the nvidia driver to raise the clocks later as needed. Unfortunately, clock programming is very complex and slightly dangerous, so the nv driver doesn't even try. I'm afraid that if you want to use that mode, you'll need to use the full nvidia driver.

Isn't there a way to tell the nv driver what frequency to use?
I can't use the full nvidia driver because I'm using gentoo hardened with grsecurity patches. That means that code has to be relocatable like PIE and PIC and I don't think the full nvidia driver is built that way with those options. Besides setting the clock frequency for a standard GTX8800 card can't be that dangerous. The monitor specs are known and so is are the GTX8800 specs. So the nv driver only has to deal with the one 2560x1600 mode not a range of other frequencies.

So how do you set the clock frequencies in the nv driver? The nv driver is GPL right so the code is already available as part of xorg. If it already has the settings for the 1280x800 mode all you need is the other mode too.

zander 04-21-09 11:26 AM

Re: nv driver with HP 30" not getting 2560x1600 - only 1280x800
 
The problem is not that the pixel clock cannot be programmed for the high-resolution mode, it's that various other clocks, including the memory clock, start out too low to support high-resolution modes (i.e. the memory bandwidth is insufficient, etc.). The code to update the PLLs/muxes/etc. for all clock domains involved is highly complex.

One option that might work as a workaround is to initialize the GPU using the NVIDIA kernel module (e.g. via `modprobe nvidia; mknod /dev/nvidia0 c 195 0; cat /dev/nvidia0`) and then using the nv driver to drive the GPU.

AaronP 04-21-09 03:52 PM

Re: nv driver with HP 30" not getting 2560x1600 - only 1280x800
 
Quote:

Originally Posted by konst (Post 1988072)
I can't use the full nvidia driver because I'm using gentoo hardened with grsecurity patches. That means that code has to be relocatable like PIE and PIC and I don't think the full nvidia driver is built that way with those options.

Really? What happens when you try? The X driver has been built PIC for several releases.

konst 04-21-09 09:58 PM

Re: nv driver with HP 30" not getting 2560x1600 - only 1280x800
 
1 Attachment(s)
Quote:

Originally Posted by AaronP (Post 1988502)
Really? What happens when you try? The X driver has been built PIC for several releases.

I get this message:
*** Unable to determine the target kernel version. ***

I attached the rest of the log file when I try to do "emerge nvidia-drivers"

AaronP 04-22-09 02:25 AM

Re: nv driver with HP 30" not getting 2560x1600 - only 1280x800
 
That's strange. That doesn't sound like a relocatable binary problem, it sounds like your kernel sources are messed up but I'll have to defer to zander on that.

konst 04-22-09 01:26 PM

Re: nv driver with HP 30" not getting 2560x1600 - only 1280x800
 
Quote:

Originally Posted by AaronP (Post 1988913)
That's strange. That doesn't sound like a relocatable binary problem, it sounds like your kernel sources are messed up but I'll have to defer to zander on that.

This is on a Gentoo hardened system.

You were right about the nv driver not initializing the card. I managed to get the nvidia driver to compile by going in the directory

/var/tmp/portage/x11-drivers/nvidia-drivers-180.51/work/NVIDIA-Linux-x86_64-180.51-pkg2/usr/src/nv/

and then changing part of the file conftest.sh to the following

Code:

            #if [ -f conftest$$ ]; then
            #    ./conftest$$ > /dev/null 2>&1
            #    if [ $? = "0" ]; then
                    SELECTED_MFILE=Makefile.kbuild
            #    else
            #        SELECTED_MFILE=Makefile.nvidia
            #    fi
                rm -f conftest$$
                RET=0
            fi
#        else
            #MAKEFILE=$HEADERS/../Makefile
            #CONFIG=$HEADERS/../.config

            #if [ -f $MAKEFILE -a -f $CONFIG ]; then
                #
                # This source tree is not configured, but includes
                # a Makefile and a .config file. If this is a 2.6
                # kernel older than 2.6.6, that's all we require to
                # build the module.
                #
                #PATCHLEVEL=$(grep "^PATCHLEVEL =" $MAKEFILE | cut -d " " -f 3)
                #SUBLEVEL=$(grep "^SUBLEVEL =" $MAKEFILE | cut -d " " -f 3)

                #if [ -n "$PATCHLEVEL" -a $PATCHLEVEL -ge 6 \
                #        -a -n "$SUBLEVEL" -a $SUBLEVEL -le 5 ]; then
                #    SELECTED_MFILE=Makefile.kbuild
                #    RET=0
                #fi
            #fi
#        fi

then I did "make module"

That compiled the nvidia.ko module.
Next I copied the file
/var/tmp/portage/x11-drivers/nvidia-drivers-180.51/work/NVIDIA-Linux-x86_64-180.51-pkg2/usr/X11R6/lib/modules/drivers/nvidia_drv.so
to the directory
/usr/lib/xorg/modules/drivers/

Then insmod nvidia.ko
That allowed X to start at 2560x1600 resolution.

Then I did "rmmod nvidia" so that I could use the nv driver.

One problem remaining is that video looks blocky. Is that a problem with the nv driver or some problem with initializing the card?

Thanks for your suggestion.

AaronP 04-22-09 02:11 PM

Re: nv driver with HP 30" not getting 2560x1600 - only 1280x800
 
The nv driver doesn't support Xv on GeForce 8 and up, so your video player is probably falling back to an X11 output plugin, with software scaling.

thefirstm 04-22-09 02:21 PM

Re: nv driver with HP 30" not getting 2560x1600 - only 1280x800
 
Just out of curiosity, why, now that you can compile the nV module, don't you just use the nvidia driver rather than nv?


All times are GMT -5. The time now is 03:30 AM.

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.