[Intel-gfx] Sandy Bridge Desktop - 1920x1080i interlace not working
daniel at ffwll.ch
Thu Jan 19 21:50:39 CET 2012
On Thu, Jan 19, 2012 at 08:56:44PM +0100, Alfonso Fiore wrote:
> On Thu, Jan 19, 2012 at 4:37 PM, Daniel Vetter <daniel at ffwll.ch> wrote:
> > Yeah, unfortunately Peter's interlaced patches have issues still on
> > Sandybridge. Meanwhile you could try out all the modes the kernel detected
> > from the edid with xrandr (also see whether picking a different refresh
> > rate with --rate changes anything). If any of them work correctly (instead
> > of the cut-in-half or tiny screen), that might be interesting to know.
> more tests with the drm-intel-fixes and no "nomoreset".
> I boot (as usual) just with HDMI cable.
> The PC boots in that weird way (I sent photos today) and then when I
> login the screen is split.
> Interestingly, trying to connect the same screen over VGA (while
> running and already connected over HDMI) makes X hang BUT it also
> changes the way X shows: full screen, no flicker (i.e. as it should).
> when I restart X (sudo restart lightdm) I have a FANTASTIC PERFECT SCREEN! :) :)
Ok, please make this _really_ precise, we need to know exactly when things
work and when not. I presume this was showing a perfect screen over the
Also please recheck for the split-screen issue whether that is some custom
mode still lingering around by pasting xrandr -q output. For the broken
case (i.e. only HDMI connected) also please try to change the resolution
to something else like 1024x768 and see what happens.
> $ xrandr -q
> Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
> VGA1 connected 1024x768+0+0 (normal left inverted right x axis y axis)
> 400mm x 300mm
> 1024x768 60.0*
> 800x600 60.3 56.2
> 848x480 60.0
> 640x480 59.9
> HDMI1 disconnected (normal left inverted right x axis y axis)
> DP1 disconnected (normal left inverted right x axis y axis)
> HDMI2 connected 1024x768+0+0 (normal left inverted right x axis y
> axis) 640mm x 360mm
> 1280x720 50.0 60.0
> 1024x768 60.0*
> 800x600 60.3
> 720x576 50.0
> 720x480 59.9 59.9
> 640x480 60.0 59.9
> HDMI3 disconnected (normal left inverted right x axis y axis)
> DP2 disconnected (normal left inverted right x axis y axis)
> DP3 disconnected (normal left inverted right x axis y axis)
> 2nd test: I reboot again just with HDMI connected.
> LightDM still looking "weird" (like today's picture) and after login
> still split screen.
> When I plug the VGA cable (over DVI-I) the screen goes black (not blue).
> If I restart X the screen goes blue and then black and from VNC I can
> see it's still 1024x768 (so why black?).
> xrandr -q didn't change.
> if I turn the TV over the VGA signal I get a very weird full green
> image flickering very fast.
> 3rd test: I reboot again with both cables connected (VGA over DVI-I and HDMI).
> LightDM and X looks PERFECT! :) Both login screen and session looks
> just like they should.
> 4rd test: same as previous but I want to check if it will happen the same way.
> Yes, again, LightDM and X looks PERFECT! Interestingly, if on the TV I
> switch to VGA input I see a black screen...
> I attach the logs for this session, maybe you can figure out how to
> have this behavior without VGA cable plugged in!
> about testing different resolutions. If I test them from THIS
> situation (e.g. both cables connected from boot) I report the
> xrandr --output HDMI2 --mode 1280x720 ===> I get quite a bit overscan
> but the picture is stable
> xrandr --output HDMI2 --mode 1024x768 ===> fits like a glove. Not a
> pixel of overscan. Never had such a good fit over VGA with my laptop
> and XP.
> xrandr --output HDMI2 --mode 800x600 ===> this is quite hard to
> explain. The "real" screen is 1024x768 but I can only see 800x600 but
> X seems to know what's going on because it creates two sets of
> controls, one aligned at 800, one aligned at 1024.
I suspect you've had the other output still on with 1024x768. You can
always double-check with xrandr, '*' marks the currently active mode (and
at the top of each output you see which part of a possibly large desktop
it scans out).
> I guess the two screenshots will help you (one of the TV screen and
> then a screen grab).
> > Maybe also attach the raw edid, you can find it in /sys/class/drm/*/edid
> > for your TV.
> about my edid info:
> $ find /sys/ | grep edid
> Interestingly enough the EDID I get from VGA is 256 bytes while EDID
> from HDMI is 128 bytes...
Yeah, that's common TV edid madness, they give you different stuff
depending upon connector. Sometimes you get only TV-y modes on HDMI and
all the default *VGA resolutions only on the dvi/vga port.
Usually this is also good to explain the difference in overscan. For
standard TV resolutions you get overscan, for *VGA resolutions you don't.
Add to that the fact that some of the receivers in TV's are dirt-cheap and
_only_ work with exactly the mode they spec in the edid. The result is
what you've discovered ;-)
> They are both in the logs.
A few other things to test.
- Check whether the edid changes when you connect only one cable. Yep,
that can happen.
- Check what happens when you only connect the VGA cable.
- There's likely something broken within our driver if HDMI+VGA works, but
HDMI alone not. The kernel/X also switch on the VGA output which might
influence (but shouldn't) how we set up HDMI. To check that out please:
Attach xrandr --verbose output for both configurations. Please ensure that
you use the same resolution for both, i.e. for the HDMI+VGA case switch to
1280x720 for the HDMI output.
Grab intel-gpu-tools v1.1 (hopefully your distro ships it) and run the
intel_reg_dumper tool for both configurations (again, please ensure you
use the same mode for HDMI and that you don't change anything between
grabbing the xrandr output and the intel_reg_dumper output).
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48
More information about the Intel-gfx