Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Headless Gentoo can't find monitor, defaults to 640x480
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
CharlieSummers
n00b
n00b


Joined: 14 Oct 2004
Posts: 40

PostPosted: Thu Oct 14, 2004 9:16 pm    Post subject: Headless Gentoo can't find monitor, defaults to 640x480 Reply with quote

I have a machine I am migrating from Whitebox Enterprise to Gentoo, and although overall I really like Gentoo, some of the little things drive me crazy.

My most recent problem (and the first one I couldn't solve by a search of this forum coupled by a Google search) involves X being a little too bright for my own good.

The computer (an audio recorder) has an unpriv user auto-logged on boot in X. On the occasions I need to do something other than FTP files, VNC is on display 0 so I can get to it from any of the machines on the internal network. Under Whitebox Enterprise, no problem; if I needed to reboot the computer, it would reboot into X, log the user, and sit with a 1024x768 session waiting for me to log in.

Under Gentoo, however, X probes the VIA on-board, can't find a monitor (because there ain't one connected), and according to the /var/log/Xorg.0.log checks a boatload of possible resolutions/refresh rates which are clearly doomed to failure before finally dropping back to 640x480 at 60hz. This makes for a somewhat...er...cramped VNC session.

I assume I need to do one of two things:

1) Stop the Xserver from polling the card/monitor, instead getting it to trust me that I have the correct settings in xorg.conf (which is currently pretty sparse, since I only found the problem this afternoon when I unplugged the monitor), or

2) change the fall-back default of the VIA module to a "safe" 1024x768 @ 85hz, something I know both monitors in that room can handle in the unlikely event I have to physically plug something into it. (My monitors are cheap, but still, no sense starting a fire...)

Seems to me 1 would be simpler (and probably what Whitebox was doing), but I have no clue where to start. Of course, there may be other options I don't know about, which is why I'm coming to you folks. I'm pretty good with RedHat, but want to use Gentoo so I can learn more about the guts of the OS.

Any pointers, suggestions, or comments would be appreciated. I really want to get this monitor off the floor at my feet... ;)
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54421
Location: 56N 3W

PostPosted: Thu Oct 14, 2004 9:53 pm    Post subject: Reply with quote

CharlieSummers,

You are right on both counts.

If your xorg.conf is a bit sparse, its probaby using the vga driver which is always safe but it can only do 640 x 480 at 60Hz. All VGA hardware ever made supports that.

Can you post your xorg.conf file please?
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
CharlieSummers
n00b
n00b


Joined: 14 Oct 2004
Posts: 40

PostPosted: Fri Oct 15, 2004 3:11 am    Post subject: Reply with quote

NeddySeagoon wrote:
Can you post your xorg.conf file please?


Certainly; I thought about cutting only the Monitor/Screen segments, but it's small enough at this point that I don't think including the entire thing will cause a problem:

Code:
Section "ServerLayout"
   Identifier     "X.org Configured"
   Screen      0  "Screen0" 0 0
   InputDevice    "Mouse0" "CorePointer"
   InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
   RgbPath      "/usr/X11R6/lib/X11/rgb"
   ModulePath   "/usr/X11R6/lib/modules"
   FontPath     "/usr/share/fonts/misc/"
   FontPath     "/usr/share/fonts/TTF/"
   FontPath     "/usr/share/fonts/Speedo/"
   FontPath     "/usr/share/fonts/Type1/"
   FontPath     "/usr/share/fonts/CID/"
   FontPath     "/usr/share/fonts/75dpi/"
   FontPath     "/usr/share/fonts/100dpi/"
EndSection

Section "Module"
   Load  "extmod"
   Load  "dri"
   Load  "dbe"
   Load  "record"
   Load  "xtrap"
   Load  "glx"
   Load  "speedo"
   Load  "type1"
   Load  "freetype"
   Load  "freetype"
   Load  "vnc"
EndSection

Section "InputDevice"
   Identifier  "Keyboard0"
   Driver      "keyboard"
EndSection

Section "InputDevice"
   Identifier  "Mouse0"
   Driver      "mouse"
##   # Change for scrollwheel mouse
#   Option       "Protocol" "auto"
   Option       "Protocol" "IMPS/2"
   Option       "Device" "/dev/mouse"
##   # Add for scrollwheel mouse
   Option      "ZAxisMapping" "4 5"
EndSection

Section "Monitor"
   Identifier   "Monitor0"
   VendorName   "Monitor Vendor"
   ModelName    "Monitor Model"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "A2"                    # [<bool>]
        #Option     "NoAccel"               # [<bool>]
        #Option     "HWCursor"              # [<bool>]
        #Option     "SWCursor"              # [<bool>]
        #Option     "ShadowFB"              # [<bool>]
        #Option     "Rotate"                # [<str>]
        #Option     "UseBIOS"               # [<bool>]
        #Option     "VideoRAM"              # <i>
        #Option     "ActiveDevice"          # [<str>]
        #Option     "LCDDualEdge"           # [<bool>]
        #Option     "BusWidth"              # [<str>]
        #Option     "Center"                # [<bool>]
        #Option     "PanelSize"             # [<str>]
        #Option     "TVDotCrawl"            # [<bool>]
        #Option     "TVType"                # [<str>]
        #Option     "TVOutput"              # [<str>]
        #Option     "TVVScan"               # [<str>]
        #Option     "TVHScale"              # [<str>]
        #Option     "TVEncoder"             # [<str>]
        #Option     "Refresh"               # <i>
        #Option     "DisableVQ"             # [<bool>]
        #Option     "NoDDCValue"           # [<bool>]
        #Option     "Cap0Deinterlace"       # [<str>]
        #Option     "Cap1Deinterlace"       # [<str>]
        #Option     "Cap0FieldSwap"         # [<bool>]
        #Option     "DRIXINERAMA"           # [<bool>]
   Identifier  "Card0"
   Driver      "via"
   VendorName  "Unknown Vendor"
   BoardName   "Unknown Board"
   BusID       "PCI:1:0:0"
EndSection

Section "Screen"
   Identifier "Screen0"
   Device     "Card0"
   Monitor    "Monitor0"
   DefaultDepth 24
##   # Stuff for VNC...
   Option "passwordFile" "/root/.vnc/passwd"
   Option "rfbport" "5902"
   Option "desktop" "Audio"
##   # End Stuff for VNC
   SubSection "Display"
      Depth     24
      Modes "1024x768"
   EndSubSection
   SubSection "Display"
      Viewport   0 0
      Depth     1
   EndSubSection
   SubSection "Display"
      Viewport   0 0
      Depth     4
   EndSubSection
   SubSection "Display"
      Viewport   0 0
      Depth     8
   EndSubSection
   SubSection "Display"
      Viewport   0 0
      Depth     15
   EndSubSection
   SubSection "Display"
      Viewport   0 0
      Depth     16
   EndSubSection
   SubSection "Display"
      Viewport   0 0
      Depth     24
   EndSubSection
EndSection


I also include only the relevant segment of the Xorg.0.log:

Code:
(II) Loading sub module "ddc"
(II) LoadModule: "ddc"
(II) Loading /usr/X11R6/lib/modules/libddc.a
(II) Module ddc: vendor="X.Org Foundation"
   compiled for 6.7.0, module version = 1.0.0
   ABI class: X.Org Video Driver, version 0.7
(II) Loading sub module "ddc"
(II) LoadModule: "ddc"
(II) Reloading /usr/X11R6/lib/modules/libddc.a
(II) VIA(0): VESA VBE DDC supported
(II) VIA(0): VESA VBE DDC Level 2
(II) VIA(0): VESA VBE DDC transfer in appr. 1 sec.
(II) VIA(0): VESA VBE DDC read failed
(II) VIA(0): I2C device "I2C bus 1:ddc2" registered at address 0xA0.
(II) VIA(0): I2C device "I2C bus 1:ddc2" removed.
(--) VIA(0): No DDC signal
(II) VIA(0): Monitor0: Using default hsync range of 28.00-33.00 kHz
(II) VIA(0): Monitor0: Using default vrefresh range of 43.00-72.00 Hz
(II) VIA(0): Clock range:  20.00 to 230.00 MHz
(II) VIA(0): Not using default mode "640x350" (hsync out of range)
(II) VIA(0): Not using default mode "320x175" (bad mode clock/interlace/doublescan)
(II) VIA(0): Not using default mode "640x400" (hsync out of range)
(II) VIA(0): Not using default mode "320x200" (bad mode clock/interlace/doublescan)
(II) VIA(0): Not using default mode "720x400" (hsync out of range)
<< 75 different resolution attempts snipped >>
(II) VIA(0): Not using default mode "1024x768" (bad mode clock/interlace/doublescan)
(II) VIA(0): Not using default mode "2048x1536" (bad mode clock/interlace/doublescan)
(II) VIA(0): Not using default mode "1024x768" (bad mode clock/interlace/doublescan)
(II) VIA(0): Not using default mode "2048x1536" (bad mode clock/interlace/doublescan)
(II) VIA(0): Not using default mode "1024x768" (bad mode clock/interlace/doublescan)
(II) VIA(0): Not using mode "1024x768" (no mode of this name)
(--) VIA(0): Virtual size is 640x480 (pitch 640)
(**) VIA(0):  Default mode "640x480": 25.2 MHz (scaled from -474858.5 MHz), 31.5 kHz, 60.0 Hz
(II) VIA(0): Modeline "640x480"   25.20  640 656 752 800  480 490 492 525 -hsync -vsync
(==) VIA(0): DPI set to (75, 75)
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54421
Location: 56N 3W

PostPosted: Fri Oct 15, 2004 3:51 pm    Post subject: Reply with quote

CharlieSummers,

In your monitor section you need to add
Code:
    HorizSync   30.0 - 95.0
    VertRefresh 50.0 - 160.0

Statements to suit your monitor. Those numbers allow 1600x1200 @75Hz. Check your monitor specs for your particular monitor.
Older monitors, that don't do scan range checking can be damaged by running them at too high a rate. Monitors that do do range checking will just give you an error message, which is not what you need on those occasions when you want to use the local video output.

In your device section, you need to add
Code:
Option "NoDDCValue"  "True"

To prevent the driver attempting to use the scan ranges read from the monitor, then falling back to something safe. See
Code:
 man via

_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
CharlieSummers
n00b
n00b


Joined: 14 Oct 2004
Posts: 40

PostPosted: Sat Oct 16, 2004 3:15 am    Post subject: Reply with quote

NeddySeagoon wrote:
In your monitor section you need to add
Code:
    HorizSync   30.0 - 95.0
    VertRefresh 50.0 - 160.0


I have the settings to a "lowest-common-denominator" between the two monitors in that room...I should probably tweak it some more, but that's for later.

NeddySeagoon wrote:
In your device section, you need to add
Code:
Option "NoDDCValue"  "True"


Actually, I had tried that (admittedly not because of the man page, for which I thank you, but as a flyer since the problem appeared to be directly caused by loading the DDC sub-module) to no effect. It's interesting to note that if the sync limits aren't in the Monitor section, the value of that variable appears to have no effect...that is, I've just confirmed that by remming out the sync limit lines in the Monitor section, X will come back (even after a logout, no reboot necessary) at 640x480, with the NoDDCValue untouched (still set to "True"). Unrem the sync limit lines, reboot the machine, and we're back to 1024x768.

Doesn't make sense to me, but then what I don't know about computers fills libraries. With sync limits installed and NoDDCValue set to "True," the system operates as desired - with no monitor attached, X is starting up at 1024x768. Much thanks for the gentle guidance!
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54421
Location: 56N 3W

PostPosted: Sat Oct 16, 2004 9:57 am    Post subject: Reply with quote

CharlieSummers,

With
Code:
Option "NoDDCValue"  "True"
X does not try to read permitted sync values from the monitor and takes it on trust that the
Code:
HorizSync
VertRefresh
are harmless. It used to work like this before DDC.

When you tell X to use DCC and have sync ranges specified, X only uses the common ranges provided by both DDC and the manual entry. (The overlap) With no monitor attached, DDC returns 640 x 480 @ 60Hz. to 'be safe' and the manual entries are effectively ignored
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum