0

I'm using the GPU in my i3-3225 processor, an Ivy Bridge processor. The PC is connected through a KVM switch to the display.

When booting the PC with the display selected and On, I get the 1280x1024 resolution of my display.

When booting with the display off or not selected on the port, I get a resolution of 1024x768 @ 61 kHz.

What can I do to get the 1280x1024 resolution ?

I tried the xrandr recipe but I get the xrandr: Configure crt 0 failed error.

I know about the EDID thing. Could there be a way to save the current Xorg configuration as to be used as default even if the display is not connected ?

EDIT: Additional information

This is the output of xrandr --verbose I get when the PC is booted with the display connected:

$ xrandr --verbose
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 640 x 480, current 1280 x 1024, maximum 1280 x 1024
default connected 1280x1024+0+0 (0x138) normal (normal) 0mm x 0mm
Identifier: 0x137
Timestamp:  1212589
Subpixel:   no subpixels
Clones:    
CRTC:       0
CRTCs:      0
Transform:  1.000000 0.000000 0.000000
            0.000000 1.000000 0.000000
            0.000000 0.000000 1.000000
           filter: 
1280x1024 (0x138)    0.0MHz *current
    h: width  1280 start    0 end    0 total 1280 skew    0 clock    0.0KHz
    v: height 1024 start    0 end    0 total 1024           clock    0.0Hz
1024x768 (0x139)    0.0MHz
    h: width  1024 start    0 end    0 total 1024 skew    0 clock    0.0KHz
    v: height  768 start    0 end    0 total  768           clock    0.0Hz
800x600 (0x13a)    0.0MHz
    h: width   800 start    0 end    0 total  800 skew    0 clock    0.0KHz
    v: height  600 start    0 end    0 total  600           clock    0.0Hz
640x480 (0x13b)    0.0MHz
    h: width   640 start    0 end    0 total  640 skew    0 clock    0.0KHz
    v: height  480 start    0 end    0 total  480           clock    0.0Hz

This is the output of xrandr --verbose I get when the PC is booted with the display is not connected:

$ xrandr --verbose
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 640 x 480, current 1024 x 768, maximum 1024 x 768
default connected 1024x768+0+0 (0x138) normal (normal) 0mm x 0mm
Identifier: 0x137
Timestamp:  4495
Subpixel:   unknown
Clones:    
CRTC:       0
CRTCs:      0
Transform:  1.000000 0.000000 0.000000
            0.000000 1.000000 0.000000
            0.000000 0.000000 1.000000
           filter: 
1024x768 (0x138)   48.0MHz *current
    h: width  1024 start    0 end    0 total 1024 skew    0 clock   46.8KHz
    v: height  768 start    0 end    0 total  768           clock   61.0Hz
800x600 (0x139)   29.3MHz
    h: width   800 start    0 end    0 total  800 skew    0 clock   36.6KHz
    v: height  600 start    0 end    0 total  600           clock   61.0Hz
640x480 (0x13a)   18.4MHz
    h: width   640 start    0 end    0 total  640 skew    0 clock   28.8KHz
    v: height  480 start    0 end    0 total  480           clock   60.0Hz
20
  • How did you try the "xrandr recipe"? An example would help knowing what went wrong, because xrandr is what you want to use. You usually just use it to set to the mode you want to (as you say you know about the EDID thing, I suppose you know it provides the card with the list of supported modes and the preferred mode). The different resolution is just because the video driver will check across the connected displays for the supported resolutions -- if I boot my laptop with a display connected to the VGA port, I may as well as get 1024x768 on both, because it will mirror the screens by ...
    – njsg
    Jan 26, 2013 at 11:45
  • ... default, and so it picks a video mode that suits both displays. If you don't have that monitor connected (not off, but not connected at all, even if it is off, it can provide the card with EDID data) when starting the video driver, that monitor won't, of course, be available to be taken into account when choosing the video mode.
    – njsg
    Jan 26, 2013 at 11:46
  • What I tried with xrandr is described here : wiki.archlinux.org/index.php/Xrandr. The only difference is that my display is named default, apparently. The motherboard has a DVI and VGA connector and the KVM is connected on the VGA connector. I don't know if I should specify VGA as output. Another thing I tried, without success, is to pick a modeline found in the xord.0.log when booting with the screen and try to use it with xrandr after booting without screen.
    – chmike
    Jan 26, 2013 at 12:43
  • If a line shows in xorg.0.log when you boot with the display, it will show up in xrandr after you connect the display. Both X and XRandR will query the display for EDID data. And xrandr is updated in real-time, so once you plug the display, it will get the modes. Can you please share the exact command that gives the error above? And share the plain output of xrandr after connecting the display?
    – njsg
    Jan 26, 2013 at 13:12
  • What do you mean by connecting the display ? I use a KVM switch. Do you mean connecting by switching the display or do you mean physically disconnecting and reconnecting the VGA plug at the back of the PC ? What I did with xrandr is the following: #cvt 1280 1024, #xrandr --newmode "1280x1024_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync, #xrandr --addmode default "1280x1024_60.00", #xrandr --output default --mode "1280x1024_60.00", screen flashes half a second and I get this "xrandr: Configure crtc 0 failed"
    – chmike
    Jan 26, 2013 at 14:53

1 Answer 1

1

The problem is caused by my KVM (TRENDnet TR-409K) switch that doesn't properly forward DDC/EDID information when the screen is connected to the PC and absolutly nothing when the screen is not connected.

As a consequence the Intel driver is unable to determin the screen caracteristics. I thus have to add the nomodeset boot option which disables the KMS system and thus screen resolution change with xrandr also. But at least the Intel driver is able to boot when the screen is connected and provides a max resolution of 1280x1024. When it is not, the Intel driver gives up and the VESA driver is started with a max resolution of 1024x768.

When I boot with the display directly connected to the PC (KVM removed) the Intel driver gets all the information it requires and I get many more display mode.

The KVM I used, which is cheap, is thus not good enough. A good KVM caches the EDID information provided by the display so that a PC connected to the KVM can obtain it even if the display is not connected to the PC. Such smarter KVM for desktop usage are more expensive of course.

BTW, I see the same display resolution problem when I boot my Windows 7 computer with the display not connected. When the screen is connected when it boots I get the correct 1280x1024 resolution, and when not connected when it boots, I get a max resolution of 1024x768. Now I understood why.

I ordered I new KVM switch (Belkin SOHO kvm switch) which is "smarter" and is said to cache the DDC/EDID information. I'll update this response with feedback as soon as possible.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .