-   Slackware (
-   -   xorg.conf: screen resolution. (

stf92 12-31-2012 10:16 AM

xorg.conf: screen resolution.

I want to have a resolution somewhere between 640x480 and 800x600. But, according to the man page of xorg.conf, the resolutions in the Screen section must satisfy certain requirements. If I specified a fixed horizontal and a fixed vertical frequency, then I could compute the resolution. But their are given as ranges in the Monitor section and do not want to touch them. Any ideas?

Slackware 14.0

ljb643 12-31-2012 07:28 PM

I think making up your own screen settings is kind of a "lost art". It was common with CRT monitors to do this, but LCD monitors have a native resolution and refresh rate, and don't work nearly as well in any other mode. If you really want to do this anyway, I suggest starting with this rather old file on your Slackware install: /usr/doc/Linux-HOWTOs/XFree86-Video-Timings-HOWTO

I'm not sure how much of it still applies, but it will give you an idea of what is involved in those timing values in the Mode lines of the Monitor configuration section.

jpollard 01-01-2013 07:55 AM

You should be able to look through the /var/log/Xorg.*.log files and see what is available.

The monitor you use will dictate sizes... and not necessarily by frequency. LCD monitors don't work that way. They have a native display (usually the largest they will do), then smaller ones where it is an even division of that size... outside a list of supported resolutions, they tend to display nothing (a black screen).

Mine has an odd (to me) way of doing a 800x600... It does it by creating a display of 800x600... using 1920x1024 resolution, then centering it. Is it a 800x600 ... well sort of. Doesn't fill the screen though - the pixels are the same size as that used for 1920x1024.

Pearlseattle 01-01-2013 11:00 AM

Example of an xorg.conf file used to set the resolution to 1920x1080 - (delete the stuff that does not apply to you and) modify the "Modes" line at the very bottom to change resolution to anything you want.
Keep in mind of what jpollard wrote and have a look at your Xorg.0.log to know which resolutions are natively supported after that your graphics card spoke with your monitor. Resolutions that are not listed are possible but 1) you'll have to set a modeline and 2) have usually to spend 3 to 4 hrs trying to convince your graphics card to use it (was always different in my case depending on the graphics card, cable (vga, dvi, hdmi) and monitor used.


Section "ServerLayout"
        Identifier    " Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse1" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"

Section "ServerFlags"
        Option "BlankTime" "20"
        Option  "AutoAddDevices"        "false"

Section "Module"
        Load  "dbe"
        Load  "extmod"
        Load  "glx"
        Load  "record"
        Load  "freetype"
        Load  "type1"
        Load  "synaptics"

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option  "XkbLayout" "ch"
        Option  "XkbVariant" "de"
        Option  "XkbOptions" "terminate:ctrl_alt_bksp"

Section "InputDevice"
        Identifier "Mouse1"
        Driver  "mouse"
        Option  "Protocol"      "IMPS/2"
        Option  "Device"        "/dev/input/mice" #Touchpad
        Option  "Buttons"      "5"
        Option  "ZAxisMapping" "4 5 6 7"
#      Driver  "evdev"
#      Option  "Device"        "/dev/input/event3"

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

Section "Device"
        Identifier "Card0"
        Driver  "nvidia"
        VendorName  "nVidia Corporation"
        BoardName  "Unknown Board"
        BusID      "PCI:1:0:0"
        Option  "RegistryDwords" "EnableBrightnessControl=1"

Section "Extensions"
        Option      "Composite"  "enable"

Section "Screen"
        Identifier "Screen0"
        Device    "Card0"
        Monitor    "Monitor0"
        DefaultDepth 24
        SubSection "Display"
                Viewport  0 0
                Depth    24
#              Modes  "1024x768"
#              Modes  "1440x900"
#              Modes  "1680x1050"
                Modes  "1920x1080"

dugan 01-01-2013 11:31 AM

You can use xvidtune to find the settings.

stf92 01-01-2013 01:54 PM

Thank you for your reply, ljb643. My monitor is a CRT, thanks God. I've just found Rev.3 of the same HOWTO you mentioned, which I had from a very old version of Slackware. The reason behind my post is the tiny fonts used nowadays in GUIs (and in the text console too as I could see when installing slack 14), which render them almost unintelligible for even people with normal vision. So, my usual remedy has been to diminish the resolution and cope with a virtual screen.

By the way, is there a utility that queries the monitor and dumps its data, such as dot clock frequency, max horizontal scan frequency et cetera?

EDIT: thank you guys for your posts.
@dugan: xvidtune gets a 'Video modes are not settable on this chip' message. My video adapter is a cheep one.

jpollard 01-02-2013 08:08 AM

Most CRTs don't have EDID data available. It has to be taken from the manual associated with the CRT.

The only dot frequency available otherwise is taken from the video card. I believe what the Xserver tries to do is cross match the EDID data against the video card data and come up with the appropriate resolutions. When that fails it falls back to a default value such as 640x480 or VGA (depending on what the video card supports).

When the EDID data IS available, the /var/log/Xorg... log files will list what modes are available.

stf92 01-02-2013 11:34 AM

This monitor is Philips 107ESI (maybe 107ES1) although Xorg.0.log lists it as 107E5. It has EDID data available (I lack the manual). From Xorg.0.log:

Supported detailed timing:
[    63.352] (II) VESA(0): clock: 25.2 MHz  Image Size:  306 x 230 mm
[    63.352] (II) VESA(0): h_active: 640  h_sync: 656  h_sync_end 752 h_blank_end 800 h_border: 0
[    63.352] (II) VESA(0): v_active: 350  v_sync: 387  v_sync_end 389 v_blanking: 449 v_border: 0
[    63.352] (II) VESA(0): Serial No:  BZ  314405
[    63.352] (II) VESA(0): Monitor name: PHILIPS 107E5
[    63.352] (II) VESA(0): Ranges: V min: 50 V max: 160 Hz, H min: 30 H max: 71 kHz, PixClock max 115 MHz

I guess the numbers given after 'Monitor name' are monitor data whereas those given before are the card data. However, assuming both 'clock' and 'PixClock' are video dot frequencies, there is a big difference between 25.2 and 115. Perhaps the monitor is much better than the video card despite the fact that the former is much older. Thanks for you post.

jpollard 01-03-2013 06:28 AM

It's been a long time since I've seen a single clock value for a video card that low. I have an old (now) FireGL V3600 that reports 148.5 MHz...

philanc 01-03-2013 03:15 PM


Originally Posted by stf92 (Post 4860785)
The reason behind my post is the tiny fonts used nowadays in GUIs (...)

If this is your objective, a different approach might be to play with the dpi parameter:

for example, the following starts X on my PC with text in an apparently large font
startx -- -dpi 150



stf92 01-03-2013 03:47 PM

Very helpful of you. Thanks.

Poprocks 01-05-2013 08:53 PM

Does xrandr not work for you?

stf92 01-06-2013 03:47 AM

I'll give it a try, thank you.

All times are GMT -5. The time now is 04:07 PM.