Announcement

Collapse
No announcement yet.

modeline / vertical refresh issue

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • modeline / vertical refresh issue

    Hi, i'm new to the fglrx driver. I've read some threads about this issue already but to no help. I have a dual head setup with two 22" CRTs. No matter what i do, they always go into 85Hz vert. I've tried to configure this in xorg.conf:

    Code:
    Section "Monitor"
    
        Identifier  "HPp1230"
    
        HorizSync   30 - 145
        VertRefresh 50 - 160
        
        ModeLine	"Custom1280x1024" 244.00 1280 1296 1440 1736 1024 1025 1028 1075
    
        Option	"DPMS"
        Option	"PreferredMode" "Custom1280x1024"
    
        Gamma	0.96 0.96 0.96
        
    EndSection
    
    Section "Monitor"
    
        Identifier  "DP2045u"
    
        HorizSync   30 - 121
        VertRefresh 50 - 160
        
        Mode	"Small1280x1024"
    	DotClock	190.00
    	HTimings	1280	1296	1440	1688
    	VTimings	1024	1025	1028	1066
        EndMode
    
        Option	"DPMS"
        Option       "LeftOf" "HPp1230"
        Option	"PreferredMode" "Small1280x1024"
    
    EndSection
    
    
    Section "Device"
    
        Identifier  "radeon4850"
        Driver 	"fglrx"
    
        Option	"monitor-CRT1"	"HPp1230"
        Option	"monitor-CRT2"	"DP2045u"
        
    EndSection
    
    Section "Screen"
        Identifier  "Main"
        Device      "radeon4850"
        DefaultDepth 24
        SubSection  "Display"
    	Depth        24
        	Virtual      2560 1024
        EndSubSection
    EndSection
    
    
    Section "ServerLayout"
    
        Identifier  "X"
        Screen "Main"
        InputDevice "Logitech" "CorePointer"
        InputDevice "Acutake" "CoreKeyboard"
    
    EndSection
    Or in command line:

    Code:
    xrandr --newmode Custom1280x1024 244.00 1280 1296 1440 1736 1024 1025 1028 1075
    (ok)
    
    xrandr -q
    ...
      Custom1280x1024 (0xd6)  244.0MHz
            h: width  1280 start 1296 end 1440 total 1736 skew    0 clock  140.6KHz
            v: height 1024 start 1025 end 1028 total 1075           clock  130.7Hz
    ...
    
    xrandr --addmode CRT1 Custom1280x1024
    X Error of failed request:  BadMatch (invalid parameter attributes)
      Major opcode of failed request:  155 (RANDR)
      Minor opcode of failed request:  18 ()
      Serial number of failed request:  29
      Current serial number in output stream:  30
    A note about the xorg.conf setup is that when i remove the PreferredMode line, the screen goes into 1024x768, so the driver must at some point consider the line and the whole monitor section! It just seems to ignore the timings.

    Also all the modelines and setups worked well with the radeonhd driver so they are tested. I would return to a static non-xrandr serverlayout-based xorg.conf only very reluctantly.

    Any suggestions?

  • #2
    No replies? Has noone stumbled across this? How do you all manage to get dualhead and/or high refresh rate working?

    Comment


    • #3
      It's possible nobody fully understands your question. It looks like you are trying to set an extremely high vertical refresh, ~130 Hz - is that correct ?

      In other words, what do you want the system to do ? It sounds like it's setting 85 Hz vertical and that is *not* what you want.
      Test signature

      Comment


      • #4
        Originally posted by bridgman View Post
        It's possible nobody fully understands your question. It looks like you are trying to set an extremely high vertical refresh, ~130 Hz - is that correct ?

        In other words, what do you want the system to do ? It sounds like it's setting 85 Hz vertical and that is *not* what you want.
        Yes, that's exactly it. 85 Hz is too low for me. 130 Hz might be "extremly high" for you but it's a) within the limits specified by the config file and b) proven with other drivers/cards as doable by the hardware. In fact, I'm using this modeline right now (with the radeonhd driver). I've used it many years before with nvidia proprietary driver. Out of desperation, I have of course tried many other modelines - 120 or 100 Hz - with the same result. It just seems to me that either proper randr or modeline support in fglrx is broken. Thank you for any clues you might have.

        Comment


        • #5
          I have similar problems with my Compaq P700 which has (propably, or i do something wrong) broken EDID informations. Problem exists for me both in "fglrx" and "radeon" drivers. No matter what i done, it works in 1024x768 @ 60Hz.
          After days of tring to force Xorg to use my custom modeline i finally managed to achieve it in "fglrx" by proper forcing modeline in xorg AND using my very old "/etc/amdpcsdb" from a backup. Still i havent resolved problem in radeon driver.

          Here's my xorg.conf: http://pastebin.com/f6f20ae11

          And here's my /var/log/Xorg.0.log (run without /etc/X11/xorg.conf, but result is the same): http://pastebin.com/f10566629

          Comment


          • #6
            Originally posted by Dinth View Post
            I have similar problems with my Compaq P700 which has (propably, or i do something wrong) broken EDID informations. Problem exists for me both in "fglrx" and "radeon" drivers. No matter what i done, it works in 1024x768 @ 60Hz.
            After days of tring to force Xorg to use my custom modeline i finally managed to achieve it in "fglrx" by proper forcing modeline in xorg AND using my very old "/etc/amdpcsdb" from a backup. Still i havent resolved problem in radeon driver.

            Here's my xorg.conf: http://pastebin.com/f6f20ae11

            And here's my /var/log/Xorg.0.log (run without /etc/X11/xorg.conf, but result is the same): http://pastebin.com/f10566629
            My monitors have very valid EDID data. The 100+ Hz modes are of course not present, but that should not be a problem as that is exactly what modelines are for, right?

            Regarding your config it looks like the old ServerLayout based approach which I said should be obsolete by now. Nevertheless I will give it a shot using the aticonfig tool.

            And what the heck is amdpcsdb and why should it interfere with modelines?

            Comment


            • #7
              Code:
              ┌─[ dinth @ localhost ] - [ 12:37:40 ] - [ ~/ ]                                                     
              └─[$]> xrandr --newmode "1024x768@100"  112.04  1024 1096 1208 1392  768 769 772 813
              ... one blink ...
              Code:
              ┌─[ dinth @ localhost ] - [ 13:28:45 ] - [ ~/ ]              
              └─[$]> xrandr -q                                                                                                             
              Screen 0: minimum 320 x 200, current 1024 x 768, maximum 1024 x 1024                                                         
              HDMI-0 disconnected (normal left inverted right x axis y axis)                                                               
              VGA-0 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm                                            
                 1024x768       60.0*                                                                                                      
                 800x600        60.3                                                                                                       
                 640x480        59.9                                                                                                       
              DVI-0 disconnected (normal left inverted right x axis y axis)                                                                
                1024x768@100 (0x254)  112.0MHz                                                                                             
                      h: width  1024 start 1096 end 1208 total 1392 skew    0 clock   80.5KHz                                              
                      v: height  768 start  769 end  772 total  813           clock   99.0Hz
              Code:
              ┌─[ dinth @ localhost ] - [ 13:29:29 ] - [ ~/ ]
              └─[$]> xrandr --addmode VGA-0 1024x768@100
              ...three blinks...
              Code:
              ┌─[ dinth @ localhost ] - [ 13:29:37 ] - [ ~/ ]
              └─[$]> xrandr -q
              Screen 0: minimum 320 x 200, current 1024 x 768, maximum 1024 x 1024
              HDMI-0 disconnected (normal left inverted right x axis y axis)
              VGA-0 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
                 1024x768       60.0*
                 800x600        60.3
                 640x480        59.9
                 1024x768@100   99.0
              DVI-0 disconnected (normal left inverted right x axis y axis)
              and finally
              Code:
              ┌─[ dinth @ localhost ] - [ 13:32:38 ] - [ ~/ ]
              └─[$]> xrandr --output VGA-0 --mode 1024x768@100
              Wow, my monitor goes for 100Hz vrefresh.
              Unfortunately something is still wrong. My desktop is much wider than visible part on screen. Resizing in my desktop OSD dont make it any more visible, but moving horizontaly in my desktop OSD allows mi to scroll thru it.

              Is there any Xrandr GUI interface working "live" so i could easly fit everything on the screen with max posibble vrefresh without generating and tring to use hundrets of modelines?
              And why i cannot force my Xorg to use this settings from the Xorg.conf ?
              Last edited by Dinth; 16 June 2009, 07:40 AM.

              Comment


              • #8
                With newest catalyst 9.6 i have:
                Code:
                $ xrandr -q
                Screen 0: minimum 320 x 200, current 2560 x 1024, maximum 2560 x 1024
                COMPONENT_VIDEO disconnected (normal left inverted right x axis y axis)
                TV disconnected (normal left inverted right x axis y axis)
                CRT2 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 393mm x 295mm
                   Small1280x1024  105.6 +
                   1280x1024     105.6     85.0*    75.0  
                   1440x900       59.9  
                   1152x864       85.0     75.0  
                   1280x720       60.0  
                   1024x768       85.0     75.0     70.1     60.0  
                   800x600        85.1     72.2     75.0     70.0     60.3     56.2  
                   720x480        60.0  
                   640x480        85.0     75.0     72.8     60.0  
                   640x400        75.1     59.9  
                   512x384        60.0     74.9  
                   400x300        75.0     60.7  
                   320x240        75.6     60.0  
                   320x200        75.5     60.1  
                CRT1 connected 1280x1024+1280+0 (normal left inverted right x axis y axis) 395mm x 296mm
                   Custom1280x1024  130.7 +
                   1280x1024     130.7     85.0*    75.0  
                   1440x900       59.9  
                   1152x864       85.0     75.0  
                   1280x720       60.0  
                   1024x768       85.0     75.0     70.1     60.0  
                   800x600        85.1     72.2     75.0     70.0     60.3     56.2  
                   720x480        60.0  
                   640x480        85.0     75.0     72.8     60.0  
                   640x400        75.1     59.9  
                   512x384        60.0     74.9  
                   400x300        75.0     60.7  
                   320x240        75.6     60.0  
                   320x200        75.5     60.1  
                DFP2 disconnected (normal left inverted right x axis y axis)
                DFP1 disconnected (normal left inverted right x axis y axis)
                ie. the modes are CORRECTLY parsed and attached to the outputs (and even treated as preferred, see the plus?), but somehow switch to the mode fails:
                Code:
                $ xrandr --output CRT1 --mode Custom1280x1024
                xrandr: Configure crtc 1 failed
                $ xrandr --output CRT2 --mode Small1280x1024
                xrandr: Configure crtc 0 failed

                Comment


                • #9
                  Originally posted by phtpht View Post
                  My monitors have very valid EDID data. The 100+ Hz modes are of course not present, but that should not be a problem as that is exactly what modelines are for, right?
                  The EDID info also has a value for maximum vertical refresh rate. As long as that is higher than 135 Hz it shouldn't be a problem AFAIK.

                  Originally posted by phtpht View Post
                  And what the heck is amdpcsdb and why should it interfere with modelines?
                  AMD Persistent Configuration Storage DB, or something like that. It stores the master copy of all configuration information for the driver. The aticonfig program and CCC-LE both store changes in amdpcsdb, and that's where the driver looks next time you start up.
                  Test signature

                  Comment


                  • #10
                    Originally posted by bridgman View Post
                    The EDID info also has a value for maximum vertical refresh rate. As long as that is higher than 135 Hz it shouldn't be a problem AFAIK.
                    EDID has a maximum at 160 Hz.

                    I have discovered an interesting thing: doing

                    Code:
                    xrandr --output CRT1 (or 2) --mode 1280x1024 # instead of Custom1280x1024
                    will set the *correct* mode (ie. 135 Hz). Doing --mode Custom1280x1024 results in the previously described error.

                    OK, that's a good achievement. But I still have to run this command every time I restart X, because the initial mode is still 85 Hz, despite all my efforts. Any idea why and how to configure that mode *statically* in the config? I have the modeline in my config and even an Option PreferredMode (see the first post).

                    AMD Persistent Configuration Storage DB, or something like that. It stores the master copy of all configuration information for the driver. The aticonfig program and CCC-LE both store changes in amdpcsdb, and that's where the driver looks next time you start up.
                    How does it interact with modelines then?

                    Comment

                    Working...
                    X