LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   how to make X use certian refresh rate? (https://www.linuxquestions.org/questions/linux-newbie-8/how-to-make-x-use-certian-refresh-rate-296842/)

djc 03-02-2005 04:01 PM

how to make X use certian refresh rate?
 
I am dual booting Windows XP Pro and SuSe 9.1 Pro. Monitor (NEC MultiSync FE1250) looks great in Windows at 1024x768, 32bit color depth, and what Windows just calls 'Refresh frequency' of 60Hz. Linux (Sax2) does not offer a 32bit color depth but only up to 24bit. I am also sharing the same monitor via a belkin kvm swith with a Windows 2000 Pro box which is running the monitor at 1024x768, 24bit color depth, and again what Windows just calls 'Refresh frequency' of 60Hz.

1) how can I make linux use exactly 1024x768, 24bit, and 60Hz? (since I know the monitor looks good that way) How do I figure that out with only the Hsync and Vrefresh rates?

2) I saw lines like this:
Mode "1024x768": 110.9MHz, 79.7KHz, 98.0Hz
in /var/log/XFree86.0.log. I assume the 79.7KHz is the Hsync rate and the 98.0Hz is the VRefresh rate but what is the 110.9MHz then?

3) I was under the impression that what windows calls 'Refresh frequency' is actually the Vrefresh rate. Is that right?

any input would be greatly appreciated. Thanks.

IsaacKuo 03-02-2005 04:26 PM

110.9MHz is the pixel clock--basically the inverse of the time delay between one pixel and the next. You are correct about the vertical and horizontal refresh rates.

The way I set refresh rate is to add a fully calculated Modeline using Colas XFree Modeline Generator. Entering the values 1024x768, and vertical refresh of 60hz, it gives:

ModeLine "1024x768" 68.25 1024 1072 1312 1408 768 770 782 808 #60Hz

You want to edit your /etc/X11/xorg.conf file, inserting this modeline inside the "Monitor" section. Don't be surprised if there aren't any Modeline lines in there already--if none exist then xorg will use some standard resolution settings (which is fine if you don't care about having any control over them).

After editing this file (you need root access in order to make changes to this file), you can restart the X server display by pressing Ctrl-Alt-Backspace. This will rudely yank the GUI display out from underneath any programs you're running so quit any web browsers or other graphical applications before pressing this key combination.

When the X server restarts, one of two things will happen:

1. You'll be greeted with your familiar GUI login splash screen (possibly in a new resolution). Good!

or

2. You'll be greeted with a plain old text console display, possibly with some error messages with X complaining that it didn't understand something in the xorg.conf file. Bad. :( In this case, you'll want to undo the changes you made to xorg.conf, and give it another go.

BTW, in order for 1024x768 to be used as default, you'll need to edit another part of your xorg.conf file--one which lists the available "Modes" to be used. You'll want to replace these lines with something like:

Modes "1024x768" "800x600" "640x480"

or

Modes "1024x768"

It's your choice as to whether you care about those other resolutions.

chris318 03-02-2005 04:40 PM

Using a ModeLine to set the resolution and refresh rates in going back to the old days of do it? No need to make it complicated.

Section "Monitor"
Identifier "Monitor0"
VendorName "Samsung"
ModelName "753DF"
HorizSync 30 - 70 #... look in you monitor manual to get Horizsync range
VertRefresh 50 - 75 #... this can be a range or discreate numbers like say "VertRefresh 60"
DisplaySize 312 234 #... this is the size of your monitor in mm. sets the dpi so when you
#... change the resolution everything will stay the same size and not get
#... ridiculously big or small.
Option "DPMS" #... power management for monitor
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 16 #Default color depth

SubSection "Display"
Viewport 0 0
Depth 16
Modes "1024x768" #Resolution to start up in
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1152x864" #Resolution to start up in
EndSubSection
EndSection

IsaacKuo 03-02-2005 06:27 PM

It may be old fashioned, but you get full control over the results! Plus, you can get 2048x1536i resolution on just about any old monitor.

chris318 03-02-2005 06:39 PM

plus if you pick the wrong modeline you can fry you monitor

IsaacKuo 03-02-2005 11:36 PM

Not really; a manually entered Modeline still won't be used if it's outside the defined horizontal and vertical sync ranges.

djc 03-03-2005 06:49 AM

Thanks IsaacKuo and chris318. All of that info is very helpful to me!

one more thing. Do either of you (or anyone else) know how the math is done to know what valid Hsync and Vrefresh rates need to be present to support certian resolutions at certian color depths?

for example when playing with resolution and color depth settings in Sax2 I often get a warning message that the defined sync rates of the monitor will not support the resolutions/depths I am selecting. How do I do the math to know how to accurately define these rates based on what resolution and color depth I want?

any more input would be greatly appreciated. Thanks again!

djc 03-11-2005 01:39 PM

Quote:

Originally posted by chris318

DisplaySize 312 234 #... this is the size of your monitor in mm. sets the dpi so when you
#... change the resolution everything will stay the same size and not get
#... ridiculously big or small.
Option "DPMS" #... power management for monitor
EndSection
how do I figure out what my 'DisplaySize' is?

noteventime 03-11-2005 03:09 PM

24bit is the same as 32bit.

drowbot 03-11-2005 03:52 PM

Yeah, in Windows, 32-bit is really just 24-bit. The extra 8-bits in Windows is just the alpha channel...Linux just assumes the extra channel.

IsaacKuo 03-11-2005 04:21 PM

Quote:

Originally posted by djc
how do I figure out what my 'DisplaySize' is?
Take a ruler and measure the horizontal width of the display (not including borders) in millimeters. If you can only measure it in inches, take the number of inches and multiply it by 25. A precise measurement is not important. A rough estimate is good enough.

Now, round this number to the nearest multiple of 4. Take this number, and multiply it by 3/4 in order to get the vertical size.

chbin 03-11-2005 04:36 PM

Or you could just go to your monitors online support site and get the monitor specs like I did. You will need this info to put into the following

HorizSync range1 - range2
VertRefresh range1 - range2 ...set range2 to the max refresh you want within your monitors capabilities
DisplaySize "use a ruler if you lilke but I'd prefer to use the specs the the monitors support site"

djc 03-14-2005 06:53 AM

thanks all! very helpful.


All times are GMT -5. The time now is 02:54 AM.