You are not logged in.
I have a recurring problem with Xorg. It seems to resurface every time that xorg-server is upgraded and I fumble around with the settings to make it work but it's really beginning to bug me now.
This machine is a laptop (Dell Latitude D610) with Intel i915 graphics driver. Normally when I am at home I use the laptop with an external LCD monitor that supports 1280x1024 (@ 60HZ only!). When I take it out I want to use the laptop LCD's native resolution of 1440x1050. The problem here lies with the use of the external montior. X.org simply INSISTS on auto-detecting settings and refuses to listen to what I have in xorg.conf. When I use it with the external monitor the settings MUST be 1280x1024 @ 60Hz. However every couple of times that I startx it will randomly choose 640x480 instead or just decide on it's own to switch to 75Hz. I make no changes to the xorg.conf file or any other file for that matter. It will just randomly decide to change things up a bit. Isn't there any way to tell X.org to stop trying to think it's so smart and independent and grown up that it doesn't have to listen to xorg.conf anymore?
Here is my entire xorg.conf:
Section "ServerLayout"
Identifier "Internal"
Screen "Internal"
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "ServerLayout"
Identifier "External"
Screen "External"
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
RgbPath "/usr/share/X11/rgb"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/misc"
FontPath "/usr/share/fonts/100dpi:scaled"
FontPath "/usr/share/fonts/75dpi:scaled"
FontPath "/usr/share/fonts/TTF"
FontPath "/usr/share/fonts/Type1"
FontPath "/usr/share/fonts/artwiz-fonts"
EndSection
Section "Module"
Load "dbe"
Load "glx"
Load "GLcore"
Load "dri"
Load "record"
Load "xtrap"
Load "extmod"
Load "type1"
Load "freetype"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5"
EndSection
Section "Monitor"
Identifier "Internal LCD"
VendorName "Dell"
EndSection
Section "Monitor"
Identifier "Samsung LCD"
VendorName "Samsung"
ModeLine "1280x1024" 108.0 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync
EndSection
Section "Device"
Identifier "915GM"
Driver "i810"
VendorName "Intel Corporation"
BoardName "Mobile 915GM/GMS/910GML Express Graphics Controller"
BusID "PCI:0:2:0"
EndSection
Section "Screen"
Identifier "Internal"
Device "915GM"
Monitor "Internal LCD"
SubSection "Display"
Modes "1400x1050"
Virtual 1400 1050
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "External"
Device "915GM"
Monitor "Samsung LCD"
SubSection "Display"
Modes "1280x1024_60"
Virtual 1280 1024
Depth 24
EndSubSection
EndSection
That way when I want to use the external LCD I can just do "startx -- -layout External" and when I want to use the Laptops LCD I can do "startx -- -layout Internal". Note that the problem only concerns the External layout (I think).
Offline
Try putting this option:
Option "PreferredMode" "1280x1024_60.00"
In Monitor section of your external LCD monitor.
More info:
http://wiki.debian.org/XStrikeForce/HowToRandR12
http://bbs.archlinux.org/viewtopic.php? … 65#p299465
http://bbs.archlinux.org/viewtopic.php? … 03#p301403
Last edited by zodmaner (2007-12-01 04:49:06)
Offline
Thanks for the quick reply. It still seems to start up at 640x480 every second or third time before being able to start up at 1280x1024 again. Like I said before, I don't change ANYTHING during these times. I just run the startx command, quit X and run it again and it will now be in 640x480 for some reason.
Why in the world would X.org autodetect settings even if you have your own settings in the xorg.conf file.
Also: The 75Hz issue is no longer happening (I think the modeline took care of that). Only the 640x480 issue.
Offline
Are you using the newest version of X.org? The latest version of X.org (version 7.3) ignores the following options:
HorizSync from the Monitor section
VertRefresh from the Monitor section
Modes from Display subsection in Screen section
...and use RandR to set your monitor resolution & DPI values by means of auto-detection.
The only way to 'force' X.org to use resolution you want is to use the PreferredMode option that I've said above, combining with ModeLine option.
It still seems to start up at 640x480
Are you still getting this after put the PreferredMode option in your xorg.conf? Make sure that it is in your external monitor's Monitor section, not the internal one. If the problem still persist then I'm afraid you gotta wait for someone else who are more well verse in RandR-fu then me.
Last edited by zodmaner (2007-12-01 10:53:22)
Offline
The latest version of X.org (version 7.3) ignores the following options:
HorizSync from the Monitor section
VertRefresh from the Monitor section
Modes from Display subsection in Screen section
Doesn't ignore mine. If I comment out those sections (HorizSync,VertRefresh,Modes) then I am stuck with 640*480
my xorg.conf that gives me 1280*1024@85 w/o any problems
# X Server Configuration file generated by kX Generator 0.3.7
# (c) 2006 Tomasz Salacinski
Section "ServerLayout"
Identifier "Xorg Configured"
Screen "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "PS/2 Mouse" "CorePointer"
EndSection
Section "ServerFlags"
Option "AllowMouseOpenFail" "true"
Option "DefaultServerLayout" "Xorg Configured"
EndSection
Section "Files"
RgbPath "/usr/share/X11/rgb"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/misc:unscaled"
FontPath "/usr/local/share/fonts"
FontPath "/usr/share/fonts/75dpi"
EndSection
Section "Module"
Load "ddc"
Load "dbe"
Load "extmod"
Load "glx"
Load "bitmap"
Load "type1"
Load "freetype"
Load "record"
# Load "dri"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "en_US"
Option "XkbVariant" ""
EndSection
Section "InputDevice"
Identifier "PS/2 Mouse"
Driver "mouse"
Option "Protocol" "auto"
Option "ZAxisMapping" "4 5"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "true"
Option "Emulate3Timeout" "70"
Option "SendCoreEvents" "true"
EndSection
Section "Device"
Identifier "Card0"
Driver "nvidia"
VendorName "nVidia Corporation"
BoardName "NV5M64 [RIVA TNT2 Model 64/Model 64 Pro]"
Option "RenderAccel" "True"
Option "NoLogo" "True"
Option "NvAGP" "1"
Option "AllowGLXWithComposite" "true"
Option "UseEdidDpi" "false"
Option "DPI" "96 x 96"
Option "backingstore" "true"
EndSection
Section "Monitor"
Identifier "Monitor0"
HorizSync 30.0 - 85.0
VertRefresh 48.0 - 150.0
Gamma 1
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 16
SubSection "Display"
Depth 16
Modes "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
EndSection
Section "Extensions"
Option "Composite" "Enable"
EndSection
Last edited by somairotevoli (2007-12-01 11:20:30)
Offline
Doesn't ignore mine.
Really? Hm... that's strange. Mine was completely useless (I can't set my monitor resolution with them). Maybe this is because I'm using ATI card + open source (radeon) driver?
Offline
This whole matter of xorg's evolution is confusing to a lot of people -- me, especially. I would really, really like to see a straightforward description of how xorg manages displays. One problem with some of the xorg wikis -- and this is inherent to the wiki format -- is that it's hard to tell what's current and what's obsolete or at least deprecated. The latest techniques are inserted right in there with xorg options which went out in the last millennium (that is, way back in 1999).
Obviously the trend is toward autodetection of and auto-adjustment to monitor specs. That's O.K. with me, but what's not clear is whether and how we can maintain a degree of control over what xorg is doing. It seems that a number of xorg.conf options have been deprecated in favor of autodetection and of using xrandr to override or supplement that. But I'm still not clear on the details.
I often use my Thinkpad T43 connected to an external flat-screen panel. I'm presently using xrandr to manually switch between displays in order to get the optimal resolution on each. I don't mind doing that, but I think it's ironic that now that things are supposed to be more automatic, I'm actually having to intervene manually. For a number of years the "old" xorg-server system managed my displays just fine once I had configured them via xorg.conf.
If someone can point me to a really good, succinct, up-to-date explanation of the ins and outs of the current xorg approach to displays, I'd appreciate it. Thanks.
Offline
From http://wiki.debian.org/XStrikeForce/HowToRandR12 :
The RandR 1.2 extension first appeared in Xserver 1.3 (i.e DebianTesting, since 2007-08-21). It provides automatic discovery of modes (resolutions, refresh rates, ...) together with the ability to configure outputs dynamically (resize, rotate, move, ...).
As of today, the following drivers/boards support RandR 1.2:
* the Intel driver on all boards (since 1.9.91),
* the NV driver on G80 boards (since 2.0.95),
* the ATI driver on r200/r300/r400 boards (since 6.7.191) where RandR 1.2 replaces MergedFB,
* the MGA driver on all boards (since 1.9.99)Other drivers still use the old/hard/non-standard way to configure modes.
So the nvidia driver continues to use the xorg.conf parameters as before :
HorizSync
VertRefresh from the Monitor section
Modes from Display subsection in Screen section
and others.
For the nvidia driver nothing's changed it doesn't use the RandR 1.2 extension to configure itself.
Offline
Merci, berbae. That's about the clearest explanation in a small space that I've seen.
Offline
Yes, the PreferredMode line is in the external monitor section of the xorg.conf file. I still start up at 640x480 every couple of times.
Looking through the Xorg.0.log I see the following:
(WW) I810(0): Option "PreferredMode" is not used
Keep in mind that I am using the i810 driver. Does that change things?
Offline
I use the open-source ati driver, but here are some suggestions:
When I use a Modeline, I give it a special label so that it's clear that Xorg should use that one:
Modeline "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060
SubSection "Display"
Depth 24
Modes "1280x1024_60.00"
EndSubSection
You could also try the following option in the Device section:
Option "DDC" "false"
When I use that option, I provide the HorizSync and VertRefresh values as well. Without them, I would be stuck at a much lower resolution.
Does Arch have the man page for i810? http://intellinuxgraphics.org/man.html
There may be some more useful options in there.
Offline
Thanks for all the replies. Unfortunately, nothing here seems to work properly. X still randomly starts up in 640x480 about half the time.
Any idea on why "PreferredMode" is not used?
Offline
I'm not sure about "PreferredMode", but have you tried the other Intel driver (xf86-video-intel)? It looks like it uses RandR 1.2, which might help. See the link berbae provided.
Offline
I think that the Option PreferredMode works with the new intel driver, not with i810 (can't say it for sure, though).
However, I think it could all be a matter of small details in xorg.conf.
If you want to stay with the i810 driver for now, make sure you have these options in your xorg.conf (with the correct HorizSync and VertRefresh values):
Section "Monitor"
Identifier "Samsung LCD"
VendorName "Samsung"
HorizSync XX - XX
VertRefresh XX - XX
ModeLine "1280x1024" 108.0 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync
EndSection
Section "Screen"
Identifier "External"
Device "915GM"
Monitor "Samsung LCD"
DefaultDepth 24
SubSection "Display"
Modes "1280x1024"
Virtual 1280 1024
Depth 24
EndSubSection
EndSection
And if you want to upgrade to the "intel" driver (you need to install xf86-video-intel), try with this:
Section "Monitor"
Identifier "Samsung LCD"
VendorName "Samsung"
ModeLine "1280x1024_60.00" 108.0 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync
Option "PreferredMode" "1280x1024_60.00"
EndSection
Section "Device"
Identifier "915GM"
Driver "intel"
VendorName "Intel Corporation"
BoardName "Mobile 915GM/GMS/910GML Express Graphics Controller"
BusID "PCI:0:2:0"
Option "CacheLines" "800"
EndSection
Section "Screen"
Identifier "External"
Device "915GM"
Monitor "Samsung LCD"
DefaultDepth 24
SubSection "Display"
Modes "1280x1024_60.00"
Virtual 1280 1024
Depth 24
EndSubSection
EndSection
Offline
Bogart,
That first one seemed to work fine. I just started and restarted X about 12 times in a row and it used 1280x1024 @ 60Hz every time. It could be that I wasn't putting in the HorizSync line, only the VertRefresh line before.
Also, why are there two intel drivers now (xf86-video-intel and xf86-video-i810). Is there good reason to upgrade to the xf86-video-intel driver or no?
Thanks a lot.
Offline
I'm glad that worked
>>Also, why are there two intel drivers now
Basically it got renamed. The i810 driver is the old one, and the new one since version 2.0 is called intel.
>>Is there good reason to upgrade?
The new driver has new features and should work better, though it has also introduced small problems. However, I would recommend upgrading now and see how it works for you. Sooner or later you'll probably have to upgrade anyway, since I don't think the old driver is going to be maintained any longer. Just make sure you adjust your xorg.conf with the changes I suggested for the intel driver and things should be good. If they aren't, post back (or you can always revert to the i810 driver).
Offline
Does complaining to the xorg devs about the growing complexity help? It seems that with many moves within the xorg team, things are getting worse in certain aspects ... modular build system without sufficient docu made it harder to have a working xorg-server on your own (monolithic build was straightforward, i did so without problem on an archlinux base install, including kde. all worked easily and nicely!) ... the goal to "not require xorg.conf file anymore" reads nice in theory but in practise it seems laden with problems on "non standard" hardware or simply ignoring user input.
And this is from the usability point of view, if you dig into the mailing list they seem to be preoccupied more with regression testing ...
Anyway cool to see people manage to win against that complexity
Offline