nV News Forums


nV News Forums (http://www.nvnews.net/vbulletin/index.php)
-   NVIDIA Linux (http://www.nvnews.net/vbulletin/forumdisplay.php?f=14)
-   -   disable fallback to nvidia-auto-select (http://www.nvnews.net/vbulletin/showthread.php?t=118701)

Armedblade 08-29-08 07:45 PM

disable fallback to nvidia-auto-select
EDIT: Added closing information about my experience in dealing with OVERSCAN below.

How can I stop the driver from using nvidia-auto-select?

I am trying custom modelines for addressing overscan on an HDTV and this nvidia-auto-select functionality steps in and corrects things therefore allowing X to start.

I would prefer if things would just fail when it finds reason that the modeline isn't acceptable for use. At least this way I can continue to working on it until X can run with a custom modeline.

Armedblade 08-30-08 04:52 PM

Re: disable fallback to nvidia-auto-select
I finally get some working modelines (using http://www.tkk.fi/Misc/Electronics/f...2rgb/calc.html), but the end result is the same exact picture displayed onscreen. My guess is the nvidia driver is determining the "best fit" resolution and using/scaling to that instead.


(II) NVIDIA(0):  Validating Mode "632x444_nos":
(II) NVIDIA(0):    632 x 444 @ 61 Hz
(II) NVIDIA(0):    Mode Source: X Configuration file ModeLine
(II) NVIDIA(0):      Pixel Clock      : 21.00 MHz
(II) NVIDIA(0):      HRes, HSyncStart :  632,  636
(II) NVIDIA(0):      HSyncEnd, HTotal :  716,  720
(II) NVIDIA(0):      VRes, VSyncStart :  444,  461
(II) NVIDIA(0):      VSyncEnd, VTotal :  463,  480
(II) NVIDIA(0):      H/V Polarity    : -/-
(II) NVIDIA(0):    BestFit Backend for "632x444_nos": 640x480
(II) NVIDIA(0):    Mode is valid.

(II) NVIDIA(0): Requested modes:
(II) NVIDIA(0):    "632x444_nos"
(II) NVIDIA(0): Validated modes:
(II) NVIDIA(0): MetaMode "632x444_nos":
(II) NVIDIA(0):    Bounding Box: [0, 0, 632, 444]
(II) NVIDIA(0):    DFP-0: "632x444_nos"
(II) NVIDIA(0):        Size          : 632 x 444
(II) NVIDIA(0):        Offset        : +0 +0
(II) NVIDIA(0):        Panning Domain: @ 632 x 444
(II) NVIDIA(0):        Position      : [0, 0, 632, 444]
(II) NVIDIA(0): Virtual screen size determined to be 632 x 444

What I don't understand is that if htotal, vtotal is 720, 480 then how is it that the best fit would be 640x480 when the sole purpose of the adding the edge buffer (thus getting the picture to 720x480 total) in the modeline was to compensate for overscan...

Armedblade 09-01-08 12:47 PM

first success in correcting OVERSCAN
Just wanted to share my experience in dealing with OVERSCAN in case it's beneficial to you as well. I was totally off on my initial approach :) This isn't intended to be a "how-to" so familiarity with xorg and it's configuration has been assumed.


Some info is direct from:
All credit and thanks goes to its author(s).

Make sure Xorg.conf is pretty basic, no more than you need to get a picture.


X -verbose 6 > /tmp/xlog.txt 2>&1
Extract refresh rate info from the xlog.txt log:

(--) NVIDIA(0): --- EDID for PANASONIC-CTV (DFP-0) ---
(--) NVIDIA(0): EDID Version                : 1.3
(--) NVIDIA(0): Manufacturer                : MEI
(--) NVIDIA(0): Monitor Name                : PANASONIC-CTV
(--) NVIDIA(0): Valid HSync Range            : 15.0 kHz - 34.0 kHz
(--) NVIDIA(0): Valid VRefresh Range        : 59 Hz - 61 Hz
(--) NVIDIA(0): EDID maximum pixel clock    : 80.0 MHz

Hard code refresh rates to xorg:

Section "Monitor"
        Identifier        "PANASONIC CT-30WX15"
        #Option                "ExactModeTimingsDVI" "true" <--this is critical later
        HorizSync        15-34
        VertRefresh        59-61

Extract base modeline information for the resolution we want to start with:

(--) NVIDIA(0):  720  x 480  @ 60 Hz
(--) NVIDIA(0):    Pixel Clock      : 27.00 MHz
(--) NVIDIA(0):    HRes, HSyncStart : 720, 736
(--) NVIDIA(0):    HSyncEnd, HTotal : 798, 858
(--) NVIDIA(0):    VRes, VSyncStart : 480, 489
(--) NVIDIA(0):    VSyncEnd, VTotal : 495, 525
(--) NVIDIA(0):    H/V Polarity    : -/-

Rewrite it as a Xorg Modeline:
Modeline_"MODENAME"_FF_H1_H2__H3_H4__V1_V2__V3_V4_ _FLAGS # <-- this is just to label things; use with legend below (_ used for spacing)
ModeLine "720x480" 27.00 720 736 798 858 480 489 495 525 -hsync -vsync

Tweak the modeline:
H1 and V1 is the total visible resolution, which obviously will be less when overscan is involved

The horizontal sync bar is given by the 4th and 5th numbers in the modeline (H2 and H3 above)
To move image left increase both of these
To move image right decrease both of these

The vertical sync bar is given by the 8th and 9th numbers (V2 and V3), and works the same way:
To move image up increase the numbers
To move image down decrease the numbers

I chose to use multiples of 5

I had to drop visible resolution first, the wiki above has you do this last but the image moves each time so it was easier for me to just go with a resolution that I already knew was close to fitting the screen:
(H1 V1): visible resolution 632x430
ModeLine "720x480_new" 27.00 (632) 736 798 858 (430) 489 495 525 -hsync -vsync

Move Image Right [H2] [H3]; subtracted 25
Move Image Down {V2} {V3}; subtracted 25
ModeLine "720x480_new" 27.00 632 [701] [763] 858 430 {464} {470} 525 -hsync -vsync

Add the new modeline and make sure we refer to it and enable the ExactModeTimingsDVI option:

Section "Monitor"
        Identifier        "PANASONIC CT-30WX15"
        Option                "ExactModeTimingsDVI" "true" #<--this is critical later
        HorizSync        15-34
        VertRefresh        59-61
        ModeLine "720x480_new" 27.00 632 701 763 858 430 464 470 525 -hsync -vsync

Section "Screen"
        Identifier        "Default Screen"
        Monitor                "PANASONIC CT-30WX15"
        Device                "Configured Video Device"

        SubSection "Display"
                Depth 24
                Modes "720x480_new"

When using the modeline make sure ExactModeTimingsDVI is enabled, this rids of most of the automagic the driver will do. I doesn't get rid of nvidia-auto-select so make sure you frequently check the log before you discount recent changes you have made
Each time, I used the "X -verbose 6 > /tmp/xlog.txt 2>&1" to test each modeline tweak on the bare grey screen and then hit CTRL-ALT-BACKSPACE to quit X
You may need to set "allowed_users=anybody" (temporarily) in /etc/X11/Xwrapper.config if you are getting not authorized errors when launching "X"
Contrary to my original approach, Htotal (V1), Vtotal (V4) needed to remain the same value, same as the starting modeline

MODENAME: any name you would like (but usually in the form of "640x480@60").
FF: Dot Clock (a.k.a. Pixel Clock Frequency or Bandwidth) (MHz) - How many dots it can output per second.
H1: Width - Number of horizontal pixels drawn to the visible part of the screen (e.g. 720).
H2 - H1: Front Porch - The amount of black pixels drawn to the right of the screen.
H3 - H2: Sync Pulse - The amount of time it takes to start another line.
H4 - H3: Back Porch - The amount of black pixels drawn to the left of the screen.
V1: Height - Number of vertical pixels drawn to the visible part of the screen (e.g. 480).
V2 - V1: Front Porch - The amount of black pixels drawn on the bottom of the screen.
V3 - V2: Vertical Blanking Interval (a.k.a VBI or Vertical Sync) - The amount of time it takes to move back up to the first line of the screen
V4 - V3: Back Porch - The amount of black pixels drawn to the top of the screen.
FLAGS: special stuff maybe necessary for drivers (sync-on-green, sync polarity, interlacing, etc)

All times are GMT -5. The time now is 06:47 AM.

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