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. |
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. |
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 |
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.
|
plus if you pick the wrong modeline you can fry you monitor
|
Not really; a manually entered Modeline still won't be used if it's outside the defined horizontal and vertical sync ranges.
|
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! |
Quote:
|
24bit is the same as 32bit.
|
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.
|
Quote:
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. |
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" |
thanks all! very helpful.
|
All times are GMT -5. The time now is 02:54 AM. |