LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (http://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   Not the correct refresh rate on external monitor. (http://www.linuxquestions.org/questions/linux-hardware-18/not-the-correct-refresh-rate-on-external-monitor-814826/)

Synt4x_3rr0r 06-17-2010 06:58 PM

Not the correct refresh rate on external monitor.
 
I'm using Arch Linux and I just bought a ViewSonic P227f CRT monitor for photo editing, and while it works pretty well after just plugging it in, it seems that the refresh rates are a bit off.

The monitor is supposed to be able to do 1920x1440 @ 84hz, but I can only select 75hz in Gnome's monitor settings. The monitor is also supposed to be able to display 2048x1536@74hz, but I can't even select that resolution. There's just a garbled image at that resolution. I'm using it on a laptop with an Intel X3100 GPU. Is that why I can't use the highest resolution? Or is it because of incorrect modelines?

The monitor is identified in Gnome's monitor settings as 'ViewSonic Corporation 20"', which is also wrong since it's a 21" monitor.

I was able to locate the correct HorizSync and VertRefresh values in this post on the Ubuntu forums.
HorizSync: 30-130
VertRefresh: 50-160

From what I gather the max pixel clock is 340mhz.

I tried making an xorg.conf that specified the hsync and vrefresh but it didn't make any difference. I also tried adding a new modeline to xrandr using a modeline calculator. But I couldn't really figure out how it worked. The calculator said that the "Dot clock" was over the max frequency and that I should use an interlacing mode.

Now, if there was a tool similar to Ubuntu's displayconf-gtk I imagine I could just set the correct model and be done with it. But since that is pretty much dead in favor of xrandr (i guess?) and doesn't exist for Arch anyway I think, is there a way to specify the correct model using xrandr?

Sorry if there's not enough info here. It's really the first time I had to use xrandr to actually do something so I don't know what info to include =/

Edit: I guess I can add this though:
xorg.conf
Xorg.0.log
Ignore the modeline in xorg.conf. It know it's probably not correct, but it didn't work without it either (still garbled image on that resolution).

brucehinrichs 06-17-2010 07:52 PM

Take a look at these links:

http://wiki.archlinux.org/index.php/...p_2:_Install_X

http://wiki.archlinux.org/index.php/Intel

See what you find there and post back with any specific issues.

Synt4x_3rr0r 06-18-2010 11:23 AM

Thanks for your reply.
But I'm not sure what it is that you want me to find there.
I already have xorg set up and working, and I have tried adding the hsync and vrefresh to xorg.conf but without any luck, even though the log file seems to indicate that it is in fact using those values.

And the Intel page didn't seem to have any useful information for this problem either.

I guess I can live with 1920x1440@75hz though.
There's no flicker or anything like that. But it would be nice to be able to get the full 2048x1536@75hz that the monitor is supposed to be able to output.

MTK358 06-18-2010 11:57 AM

Post the output of the xrandr command.

Synt4x_3rr0r 06-18-2010 12:05 PM

Yes of course. Here it is:

Code:

Screen 0: minimum 320 x 200, current 3200 x 1440, maximum 8192 x 8192
VGA1 connected 1920x1440+1280+0 (normal left inverted right x axis y axis) 392mm x 294mm
  1600x1200      85.0 +  75.0 
  2048x1536      75.0 
  1920x1440      75.0*
  1792x1344      75.0 
  1280x1024      85.0    75.0 
  1152x864      75.0 
  1024x768      75.1    70.1    60.0 
  832x624        74.6 
  800x600        85.1    72.2    75.0    60.3 
  640x480        72.8    75.0    60.0 
  720x400        70.1 
LVDS1 connected 1280x800+0+640 (normal left inverted right x axis y axis) 331mm x 207mm
  1280x800      59.9*+
  1024x768      60.0 
  800x600        60.3 
  640x480        59.9 
TV1 disconnected (normal left inverted right x axis y axis)


MTK358 06-18-2010 12:09 PM

AFAIK that says it IS cabable of 85Hz refresh rate.

Synt4x_3rr0r 06-18-2010 12:14 PM

Yes on lower resolutions 85hz works, just like it says in the xrandr output there.
But on the 2048x1536 and 1920x1440 line there it only states 75.0 in both cases. I know that the 2048x1536 resolution only goes up to 75hz like it says, but I only get a garbled image on that res. And I haven't been able to set 1920x1440 to 85hz either because gnome monitor settings only shows 75hz. I think I tried setting it through xrandr yesterday without any difference that I could tell.

Edit: On some of those resolutions the monitor is supposed to be able to handle over 100hz as well, and that doesn't seem to be the case if xrandr is to be believed.

MTK358 06-18-2010 12:17 PM

Try this:

Code:

xrandr --output VGA1 --rate 85.0

Synt4x_3rr0r 06-18-2010 12:30 PM

Nothing happened when I did that. The screen didn't even blank or anything. And the xrandr output is still the same.

Edit: Could that mean that it is actually outputting 85hz and xrandr is reporting the wrong values?
It still doesn't explain why 2048x1536 doesn't work though.. But I guess that could be my laptop that isn't up to the task or something. I don't have another computer to try it with though =/

johnsfine 06-18-2010 12:48 PM

Quote:

Originally Posted by Synt4x_3rr0r (Post 4007035)
Ignore the modeline in xorg.conf. It know it's probably not correct, but it didn't work without it either (still garbled image on that resolution).

The Modes line you have there is more of a problem.
Code:

Modes        "2048x1536@79" "1920x1440" "1796x1344" "1600x1200" "1280x1024" "1152x864" "1024x768" "832x624" "800x600" "640x480" "720x400"
Notice the @79 you have when everything else there seems to indicate 2048x1536 is at 75.0 Hz.

In your .log file, in the DDC gathered Modelines, you have:

Code:

Modeline "2048x1536"x75.0  340.48  2048 2216 2440 2832  1536 1537 1540 1603 -hsync +vsync (120.2 kHz)
I don't know what that mode would be named in a Modes line
"2048x1536" or "2048x1536@75.0" or "2048x1536@75" or what.

Quote:

From what I gather the max pixel clock is 340mhz.
Based on what source of info? And whose max pixel clock? Max for the monitor? Max for Intel GM965/GL960 chip? Max for the DVI or VGA connection of the laptop?

I think 340MHz would be plenty for 2048 pixels plus retrace at 120.2KHz. But I'm not convinced every component from your video chip through to your monitor really can handle 340MHz. Maybe 2048 pixels plus retrace at 120.2KHz is too fast for some component.

How important is 75Hz to you (vs. 2048x1536)?

I would construct a modeline for 2048x1536 at a lower refresh rate and see if it works well.

Synt4x_3rr0r 06-18-2010 02:33 PM

I tried generating a new modeline, and this is how my xorg.conf looks now:

Code:

Section "Device"
        Identifier        "Intel GM965/GL960"
        Driver                "intel"
        BusID                "PCI:0:2:0"
        Option                "UseEdidFreqs"        "False"
        Option                "Monitor-VGA"        "ViewSonic"
        Option                "Monitor-LVDS"        "Laptop Monitor"
EndSection

Section "Monitor"
        Identifier        "Laptop Monitor"
        Option                "DPMS"
EndSection

Section "Monitor"
        Identifier        "ViewSonic"
        VendorName        "ViewSonic"
        HorizSync        30-130
        VertRefresh        50-160
        Option                "DPMS"
        Modeline "2048x1536@60" 323.30 2048 2080 3304 3336 1536 1567 1582 1613
EndSection

Section "Screen"
        Identifier        "Default Screen"
        Device                "Intel GM965/GL960"
        Monitor                "ViewSonic"
        DefaultDepth        24

        SubSection "Display"
                Depth        24
                Modes  "1920x1440" "2048x1536" "1796x1344" "1600x1200" "1280x1024" "1152x864" "1024x768" "832x624" "800x600" "640x480" "720x400"
#                Virtual        "3328x1536"
        EndSubSection
EndSection

Section "ServerLayout"
        Identifier        "Default Layout"
        Screen                "Default Screen"
#        InputDevice        "Generic Keyboard"
#        InputDevice        "Configured Mouse"
#        InputDevice        "stylus"  "SendCoreEvents"
#        InputDevice        "cursor"  "SendCoreEvents"
#        InputDevice        "eraser"  "SendCoreEvents"
#        InputDevice        "Synaptics Touchpad"
EndSection

Section "ServerFlags"
        Option        "DontZap"        "False"
EndSection

So now it starts up at 1920x1440@75Hz, and I get an option of 2048x1536@60 in the gnome settings. But when I select that, the screen goes black and doesn't come back on until the countdown has ended. Edit: Oh and the regular 2048x1536@75Hz is still garbled.

Edit again: Sorry I'm a little tired...
I got the info about the pixel clock at ViewSonic's website, though for a smaller monitor, but that seems to be the only difference. That's also where I got the 79Hz from. It seems viewsonic has removed all info about my monitor from their website for some reason. The other monitor's page is located here.

johnsfine 06-18-2010 02:53 PM

Code:

        Modeline "2048x1536@60" 323.30 2048 2080 3304 3336 1536 1567 1582 1613
...
                Modes  "1920x1440" "2048x1536" "1796x1344" "1600x1200" "1280x1024" "1152x864" "1024x768" "832x624" "800x600" "640x480" "720x400"

I think the exact quoted name of the mode in the Modes line should match the exact quoted name in the Modeline.

Quote:

I get an option of 2048x1536@60 in the gnome settings. But when I select that, the screen goes black and doesn't come back on until the countdown has ended.
I guess that indicates something else wrong with that Modeline, but I don't know what.

At the end of the ddc modeline it says, -hsync +vsync
Usually that part is optional and matches the default. But maybe in this case it is required (so try adding it to the end of your Modeline.

Another thing to try is the following Modeline
Code:

Modeline "2048x1536@60"  272.38  2048 2216 2440 2832  1536 1537 1540 1603 -hsync +vsync
To create that, I just took the 340.48MHz original line from DDC and left all the ratio info the same and just cut the overall speed by 20%.

Synt4x_3rr0r 06-18-2010 03:28 PM

Yep, that modeline did it. So the monitor is too good for my laptop i suppose.
I think I'll stick to 1920x1440 for now because a lot of sharpness is lost at 60hz, but in some cases it can be good to have. :)
Thanks for your help!

Do you think it's possible to get 1920x1440@85Hz or is it the same there? The modeline generator gives me a Dot Frequency of 499.03 so I guess not :P
Edit: I figured it might work in interlaced mode. so i'm gonna try that now..

Synt4x_3rr0r 06-18-2010 03:48 PM

Hmm the modeline doesn't seem to be added for some reason. It doesn't show up in the xrandr output.
Oh well it doesn't really matter. I'm fine with 75hz.

Thank you all for your help.

johnsfine 06-18-2010 03:53 PM

Quote:

Originally Posted by Synt4x_3rr0r (Post 4007947)
Yep, that modeline did it. So the monitor is too good for my laptop i suppose.
I think I'll stick to 1920x1440 for now because a lot of sharpness is lost at 60hz

Maybe something above 60, but below 75 will be better for 2048x1536.

Quote:

Do you think it's possible to get 1920x1440@85Hz or is it the same there? The modeline generator gives me a Dot Frequency of 499.03 so I guess not
I think the modeline generator you're using is giving you bad modelines.



I think the modelines from DDC from your Xorg.0.log file are the best starting point, and any modeline you want should be constructed by tweaking one of those.

Code:

Modeline "1600x1200"  229.50  1600 1664 1856 2160  1200 1201 1204 1250 +hsync +vsync
Modeline "800x600"  40.00  800 840 968 1056  600 601 605 628 +hsync +vsync
Modeline "640x480"  31.50  640 656 720 840  480 481 484 500 -hsync -vsync
Modeline "640x480"  31.50  640 664 704 832  480 489 492 520 -hsync -vsync
Modeline "640x480"  25.18  640 656 752 800  480 490 492 525 -hsync -vsync
Modeline "720x400"  28.32  720 738 846 900  400 412 414 449 -hsync +vsync
Modeline "1280x1024"  135.00  1280 1296 1440 1688  1024 1025 1028 1066 +hsync +vsync
Modeline "1024x768"  78.75  1024 1040 1136 1312  768 769 772 800 +hsync +vsync
Modeline "1024x768"  75.00  1024 1048 1184 1328  768 771 777 806 -hsync -vsync
Modeline "1024x768"  65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync
Modeline "832x624"  57.28  832 864 928 1152  624 625 628 667 -hsync -vsync
Modeline "800x600"  49.50  800 816 896 1056  600 601 604 625 +hsync +vsync
Modeline "800x600"  50.00  800 856 976 1040  600 637 643 666 +hsync +vsync
Modeline "1152x864"  108.00  1152 1216 1344 1600  864 865 868 900 +hsync +vsync
Modeline "1600x1200"  202.50  1600 1664 1856 2160  1200 1201 1204 1250 +hsync +vsync
Modeline "2048x1536"  340.48  2048 2216 2440 2832  1536 1537 1540 1603 -hsync +vsync
Modeline "1920x1440"  297.00  1920 2064 2288 2640  1440 1441 1444 1500 -hsync +vsync
Modeline "1792x1344"  261.00  1792 1888 2104 2456  1344 1345 1348 1417 -hsync +vsync
Modeline "1280x1024"  157.50  1280 1344 1504 1728  1024 1025 1028 1072 +hsync +vsync
Modeline "800x600"  56.25  800 832 896 1048  600 601 604 631 +hsync +vsync

From one of those lines, you would want to modify just the speed. For example here is one of those lines with a few numbers in color to help me explain:
Code:

Modeline "2048x1536"  340.48  2048 2216 2440 2832  1536 1537 1540 1603 -hsync +vsync
Say I want a 65Hz refresh version of that. I put 65 into a calculator, then multiply that by 2.832 and multiply the result by 1.603. I got those two numbers (that I multiplied by) by inserting a decimal point in the two numbers in the positions of the original line I indicated in color. The result in my calculator is 295.08. I replace the green number in the original line by 295.08 and I put @65 into the quoted name of the mode, resulting in:

Code:

Modeline "2048x1536@65"  295.08  2048 2216 2440 2832  1536 1537 1540 1603 -hsync +vsync


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