Created attachment 63104 [details] xrandr --verbose My laptop has 1280x800 screen. If I connect external 1600x1200 monitor (LG L2000CP), xrandr reports 1280x800 modes for VGA1. If this mode is set e.g. by xrandr --output LVDS1 --off --output VGA1 --mode 1280x800 next xrandr shows ... VGA1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 408mm x 306mm ... 1280x800 84.9* 74.9 59.8 ... However monitor believes that this is 1280x768@85Hz mode. Note x768 instead of x800. The image is unstable and "auto/set" button on the monitor does not help. The bottom part of the image is out of the screen. The reason why this mode bothers me is that if I press [Fn+F8] key in unity session, the cycle of screen switching goes through the LVDS1 1280x800 + VGA1 1280x800 modes. In the past another mode was chosen as "common" for the both screen: 1024x768. It is blurred on both displays, but no parts of image were cut off and there was no image tremble on VGA1, I think, the driver should not expose 1280x800 and similar modes for 4:3 displays. full xrandr output: Screen 0: minimum 320 x 200, current 1280 x 800, maximum 8192 x 8192 LVDS1 connected (normal left inverted right x axis y axis) 1280x800 60.0 + 1024x768 60.0 800x600 60.3 56.2 640x480 59.9 VGA1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 408mm x 306mm 1600x1200 59.8 + 60.0 1920x1080 60.0 1680x1050 60.0 1680x945 60.0 1400x1050 74.9 60.0 1600x900 60.0 1280x1024 75.0 60.0 1440x900 84.8 75.0 59.9 1280x960 60.0 1366x768 60.0 1360x768 60.0 1280x800 84.9* 74.9 59.8 1152x864 75.0 1280x768 84.8 74.9 59.9 1024x768 85.0 75.1 75.0 70.1 60.0 1024x576 60.0 832x624 74.6 800x600 85.1 72.2 75.0 60.3 56.2 848x480 60.0 640x480 85.0 75.0 72.8 60.0 59.9 720x400 85.0 70.1 640x400 85.1 640x350 85.1 In debian squeeze (2.6.32 kernel) the menu of modes is much more modest: Screen 0: minimum 320 x 200, current 1600 x 1200, maximum 8192 x 8192 VGA1 connected 1600x1200+0+0 (normal left inverted right x axis y axis) 408mm x 306mm 1600x1200 59.8*+ 60.0 1280x1024 75.0 60.0 1152x864 75.0 1024x768 85.0 75.1 60.0 832x624 74.6 800x600 85.1 75.0 60.3 640x480 75.0 60.0 59.9 720x400 70.1 LVDS1 connected (normal left inverted right x axis y axis) 1280x800 60.0 + 1024x768 60.0 800x600 60.3 56.2 640x480 59.9 TV1 disconnected (normal left inverted right x axis y axis) Current system info: Chipset: 00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (primary) (rev 03) 00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (secondary) (rev 03) uname -m i686 xserver-xorg-video-intel Version: 2:2.19.0+git20120613.0db789e1-0ubuntu0sarvatt~precise xserver-xorg-core Version: 2:1.12.2+git20120605+server-1.12-branch.aaf48906-0ubuntu0ricotz~precise libgl1-mesa-dri Version: 8.1~git20120529.f92b2e5e-0ubuntu0sarvatt~precise libdrm-intel1 Version: 2.4.35+git20120613.d1fcfb17-0ubuntu0sarvatt~precise kernel 3.4.0-994-generic #201206140421 SMP Thu Jun 14 08:29:17 UTC 2012 i686 i686 i386 GNU/Linux Linux distribution: Ubuntu 12.04 with xorg-edgers ppa and kernel from drm-intel-experimental (quantal) Asus F80L laptop Displays: built-in LVDS1 (1280x800) and VGA1 (1600x1200, LG L2000CP)
What happens when you select a different refresh rate on that 1280x800 mode?
(In reply to comment #1) > What happens when you select a different refresh rate on that 1280x800 mode? $ xrandr --output VGA1 --mode 1280x800 --rate 85 $ xrandr | grep 1280x800 1280x800 60.0 + VGA1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 408mm x 306mm 1280x800 84.9* 74.9 59.8 Monitor: 1280x768 85Hz $ xrandr --output VGA1 --mode 1280x800 --rate 75 $ xrandr | grep 1280x800 1280x800 60.0 + VGA1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 408mm x 306mm 1280x800 84.9 74.9* 59.8 Monitor: 1024x768 75Hz Yes, it isn't even 1280x... $ xrandr --output VGA1 --mode 1280x800 --rate 60 $ xrandr | grep 1280x800 1280x800 60.0 + VGA1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 408mm x 306mm 1280x800 84.9 74.9 59.8* Monitor: 1024x768 60Hz Again 1024 instead of 768 Perhaps the monitor does not support 1280x800 mode at all. At least in the user manual it is not listed among 'Preset modes'. Only 1280x1024 60 and 75 Hz.
Created attachment 63215 [details] [review] no rb modes Shot in the dark: Can you please try this patch?
(In reply to comment #3) > Created attachment 63215 [details] [review] [review] > no rb modes > > Shot in the dark: Can you please try this patch? Frankly speaking, I see no difference. Interesting, I have just realized when xrandr reported 1280x800, the monitor believed 1024x768@(75|60), only bottom side was stripped, the right side did not.
One curious thing: Do you have a windows machine handy to check how it works there? We've added these non-4:3 specifically because users wanted them (and Windows 7 at least does at them, too). Best would be if you could test this on a range of Windows version, I'm not sure exactly when Microsoft started adding 16:9/10 modes automatically.
Also, can you please try this patch http://thread.gmane.org/gmane.comp.video.dri.devel/70536
(In reply to comment #6) > Also, can you please try this patch > > http://thread.gmane.org/gmane.comp.video.dri.devel/70536 Wide screen modes almost gone away. The exception is 1920x1080. If I choose it manually, strange thing happen later (after several display switches). Unity bar in the middle of the screen, stale image, etc. Even x server restart does not cure the problem completely. Leaving aside that "strange" mode with trembling image, [Fn+F8] key almost works (the issues, I suppose, are not caused by this patch). The cycle goes through 1024x768 mode. In the past it had distorted image on the LVDS1 screen. Now it is blurred but not distorted, since black bands appear on the left and right side of the image. For me it looks better than cut and trembling wide screen common mode. I do not have Windows on my laptop and I have a very little experience with Vista/7 at all. The only thing that I can add, if I remember correctly, on Windows 7 laptop with connected 4:3 projector I have seen non-distorted 4:3 image on the internal screen (with black bands at the left and right sides of the screen).
(In reply to comment #7) > (In reply to comment #6) > > Also, can you please try this patch > > > > http://thread.gmane.org/gmane.comp.video.dri.devel/70536 > > Wide screen modes almost gone away. > > The exception is 1920x1080. > If I choose it manually, strange thing happen later (after > several display switches). Unity bar in the middle of the screen, > stale image, etc. Even x server restart does not cure > the problem completely. This sounds more like the window manager simply getting confused about things and maybe only drawing to the common portion of X screen shared by VGA1 and LVDS1. Are there any visual issues with the mode itself (and does the monitor correctly recognize the mode)? > Leaving aside that "strange" mode with trembling image, > [Fn+F8] key almost works (the issues, I suppose, > are not caused by this patch). The cycle goes through > 1024x768 mode. In the past it had distorted image > on the LVDS1 screen. Now it is blurred but not distorted, > since black bands appear on the left and right side > of the image. Yeah, that's expected I guess, unity selects the same resolution on both screens, which means we need to upscale the stuff on LVDS1 (and add black bars do to the 4:3 vs: 16:10 aspect ratio). > For me it looks better than cut and trembling wide screen > common mode. > > I do not have Windows on my laptop and I have a very little > experience with Vista/7 at all. The only thing that I can add, > if I remember correctly, on Windows 7 laptop > with connected 4:3 projector I have seen non-distorted 4:3 > image on the internal screen (with black bands at the left > and right sides of the screen). Ok, no problem.
(In reply to comment #7) > (In reply to comment #6) > > Also, can you please try this patch > > > > http://thread.gmane.org/gmane.comp.video.dri.devel/70536 > > Wide screen modes almost gone away. > > The exception is 1920x1080. That's pretty odd. Can you boot with drm.debug=4 and attach dmesg please?
(In reply to comment #8) > (In reply to comment #7) > > > > The exception is 1920x1080. > > If I choose it manually, strange thing happen later (after > > several display switches). Unity bar in the middle of the screen, > > stale image, etc. Even x server restart does not cure > > the problem completely. > > This sounds more like the window manager simply getting confused about things > and maybe only drawing to the common portion of X screen shared by VGA1 and > LVDS1. I am afraid, that problem can be deeper. Xorg.0.log [ 324.045] (WW) intel(0): first get vblank counter failed: Invalid argument [ 324.054] (WW) intel(0): I830DRI2GetMSC:1477 get vblank counter failed: Invalid argument [ 324.296] (WW) intel(0): I830DRI2ScheduleWaitMSC:1544 get vblank counter failed: Invalid argument [ 476.713] [dix] EventToCore: Not implemented yet > Are there any visual issues with the mode itself (and does the monitor > correctly recognize the mode)? It is impossible to look at that blurred trembling image more than just several seconds. I even forgot to check the mode in the monitor menu. Anyway, it can not be recognized, the monitor has 1600x1200 native resolution (also 1280x1024, 1024x768, 800x600, 600x480 and a couple of other modes).
Created attachment 63270 [details] dmesg drm.debug=0x06 with http://thread.gmane.org/gmane.comp.video.dri.devel/70536 patch
Can you please test the 2 patches from Adam Jackson posted at http://comments.gmane.org/gmane.comp.video.dri.devel/70634
I have applied the patches to the drm-intel-next branch of git://people.freedesktop.org/~danvet/drm-intel Some modes have gone away, but only a few ones xrandr Screen 0: minimum 320 x 200, current 2880 x 1200, maximum 8192 x 8192 LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 304mm x 190mm 1280x800 60.0*+ 1024x768 60.0 800x600 60.3 56.2 640x480 59.9 VGA1 connected 1600x1200+1280+0 (normal left inverted right x axis y axis) 408mm x 306mm 1600x1200 59.8*+ 60.0 1680x1050 60.0 1400x1050 74.9 60.0 1280x1024 75.0 60.0 1440x900 84.8 75.0 59.9 1280x960 60.0 1360x768 60.0 1280x800 84.9 74.9 59.8 1152x864 75.0 1280x768 84.8 74.9 59.9 1024x768 85.0 75.1 75.0 70.1 60.0 832x624 74.6 800x600 85.1 72.2 75.0 60.3 56.2 848x480 60.0 640x480 85.0 75.0 72.8 60.0 59.9 720x400 85.0 70.1 640x400 85.1 640x350 85.1 The mode 1280x800 at VGA1 still present and the monitor as usual thinks that it is 1280x768 with cropped bottom part. I do not know if it is somehow related to compiz, but I have seen the state with black LVDS1, but xrandr reported "1280x800 60.0*+" xserver-xorg-video-intel Version: 2:2.19.0+git20120622.565297e6-0ubuntu0sarvatt~precise xserver-xorg-core Version: 2:1.12.1.902-1ubuntu1 libgl1-mesa-dri Version: 8.1~git20120529.f92b2e5e-0ubuntu0sarvatt~precise libdrm-intel1 Version: 2.4.35+git20120613.d1fcfb17-0ubuntu0sarvatt~precise
Created attachment 63566 [details] [review] culmulative revert Can you plese check whether this patch gets rid of all broken modes?
(In reply to comment #14) > Created attachment 63566 [details] [review] [review] > culmulative revert > > Can you plese check whether this patch gets rid of all broken modes? Daniel, could you,please, specify the base branch for patches. I tried to make the changes. xrandr Screen 0: minimum 320 x 200, current 1280 x 800, maximum 8192 x 8192 LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 304mm x 190mm 1280x800 60.0*+ 1024x768 60.0 800x600 60.3 56.2 640x480 59.9 VGA1 connected (normal left inverted right x axis y axis) 1600x1200 59.8 + 1280x1024 75.0 60.0 1152x864 75.0 1024x768 85.0 75.1 60.0 832x624 74.6 800x600 85.1 75.0 60.3 640x480 75.0 60.0 59.9 720x400 70.1 So, xrandr reports no wide screen modes on 4:3 display now. Nice for X. Cropped console on VGA1 (1024x768 part for 1280x800 LVDS1) Other issues are likely unrelated to this bug. Xorg.0.log flooded with [ 845.882] (WW) intel(0): first get vblank counter failed: Invalid argument [ 846.012] (WW) intel(0): first get vblank counter failed: Invalid argument [ 846.016] (WW) intel(0): first get vblank counter failed: Invalid argument sometimes [ 360.135] (II) intel(0): Allocated new frame buffer 2880x1200 stride 11776, tiled [ 361.430] (WW) intel(0): flip queue failed: Invalid argument [ 361.430] (WW) intel(0): Page flip failed: Invalid argument [ 361.430] (WW) intel(0): flip queue failed: Invalid argument or [ 299.127] (WW) intel(0): first get vblank counter failed: Invalid argument [ 300.777] (WW) intel(0): I830DRI2ScheduleWaitMSC:1544 get vblank counter failed: Invalid argument [ 300.990] (WW) intel(0): I830DRI2ScheduleWaitMSC:1544 get vblank counter failed: Invalid argument Just a note. 1024x768 mode on LVDS1 with 1280x800 native resolution has black bands at left and right sides. If it had narrow black bands at top and bottom as well, the image would be sharp.
> --- Comment #15 from max <manikulin@gmail.com> 2012-06-28 09:56:06 PDT --- > (In reply to comment #14) >> Created attachment 63566 [details] [review] [review] >> culmulative revert >> >> Can you plese check whether this patch gets rid of all broken modes? > > Daniel, could you,please, specify the base branch for patches. > I tried to make the changes. Pretty much always the drm-intel-next branch. > xrandr > Screen 0: minimum 320 x 200, current 1280 x 800, maximum 8192 x 8192 > LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 304mm x > 190mm > 1280x800 60.0*+ > 1024x768 60.0 > 800x600 60.3 56.2 > 640x480 59.9 > VGA1 connected (normal left inverted right x axis y axis) > 1600x1200 59.8 + > 1280x1024 75.0 60.0 > 1152x864 75.0 > 1024x768 85.0 75.1 60.0 > 832x624 74.6 > 800x600 85.1 75.0 60.3 > 640x480 75.0 60.0 59.9 > 720x400 70.1 > > So, xrandr reports no wide screen modes on 4:3 display now. Nice for X. > Cropped console on VGA1 (1024x768 part for 1280x800 LVDS1) Ok, thanks for testing. > Other issues are likely unrelated to this bug. Xorg.0.log flooded with > [ 845.882] (WW) intel(0): first get vblank counter failed: Invalid argument > [ 846.012] (WW) intel(0): first get vblank counter failed: Invalid argument > [ 846.016] (WW) intel(0): first get vblank counter failed: Invalid argument > > sometimes > [ 360.135] (II) intel(0): Allocated new frame buffer 2880x1200 stride 11776, > tiled > [ 361.430] (WW) intel(0): flip queue failed: Invalid argument > [ 361.430] (WW) intel(0): Page flip failed: Invalid argument > [ 361.430] (WW) intel(0): flip queue failed: Invalid argument > > or > [ 299.127] (WW) intel(0): first get vblank counter failed: Invalid argument > [ 300.777] (WW) intel(0): I830DRI2ScheduleWaitMSC:1544 get vblank counter > failed: Invalid argument > [ 300.990] (WW) intel(0): I830DRI2ScheduleWaitMSC:1544 get vblank counter > failed: Invalid argument This all sounds like the same issue, we somehow can't enable the irq. Different bug though. Can you please file a new one for this issue with Xorg.log showing these problems and also dmesg with drm.debug=0xe (please grab the dmesg after you've reproduced these error messages). > Just a note. 1024x768 mode on LVDS1 with 1280x800 native resolution has black > bands at left and right sides. If it had narrow black bands at top and bottom > as well, the image would be sharp. This is just what your desktop sets up, you can adjust this all with xrandr (e.g. the for lower resolutions than native you can select different upscaling modes with the "scaling mode" xrandr property). The behaviour you describe is simply the default.
Plenty of wide-screen modes still present in both Ubuntu xorg-edgers kernel linux-image-3.5.0-2-generic 3.5.0-2.2 and in drm-intel-experimental linux-image-3.5.0-994-generic 3.5.0-994.201207060407 In the meanwhile I asked my colleague to connect his laptop with Windows 7 to SyncMaster 743 monitor (4:3, 1280x1024 native resolution). We did not managed to get any wide-screen mode on that display. The built-in screen switched to 4:3 mode instead (with black bands at the left and right sides)
Max, please test with the v3.7 kernel, thanks.
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 8192 x 8192 LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 304mm x 190mm 1280x800 60.0*+ 1024x768 60.0 800x600 60.3 56.2 640x480 59.9 VGA1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 408mm x 306mm ... 1280x800 84.9* 74.9 59.8 ... VGA1 is 4:3 aspect ratio display, it supports only 1280x1024 and reports this mode, so the bottom part of the image is out of the screen. Tested with 3.8.0-994-generic #201301090406 SMP Wed Jan 9 09:18:02 UTC 2013 i686 i686 i686 GNU/Linux linux-image-3.8.0-994-generic_3.8.0-994.201301090406_i386.deb mainline package, 2013-01-09 and with linux-image-3.8.0-999-generic_3.8.0-999.201301090432_i386.deb drm-intel-nightly, 2013-01-09 So unsupported modes are present and the problem persists.
Something changed between drm-intel-nightly kernels 2013-02-18 4e5f64bc1d21abbce9ed70d929e553c11f47e912 and 2013-03-05 a0430c52c3ef2f6ffb73df8bf010b062b69d5719 Only reasonable modes for external monitor connected to VGA1 (1600x1200 native resolution) are reported by xrandr now. No cropped at bottom image on VGA1 for mirror screen (were 1280x800, actually 1280x768) Now the common mode is 1024x768, proper 4:3 aspect on LVDS1 (native resolution 1280x800) and slightly blurred image on LVDS1 with black margins on the right and on the left. I would be happy if someone could suggest the patch that can be applied to the stable kernel 3.8.2.
In that range the most likely commit is commit 196e077dc165a307efbd9e7569f81bbdbcf18f65 Author: Paulo Zanoni <paulo.r.zanoni@intel.com> Date: Fri Feb 15 13:36:27 2013 -0200 drm: don't add inferred modes for monitors that don't support them It's already cc: stable tagged, so should show up soon. Can you please check that this fixes your bug on 3.8, too?
Thank you, Daniel. The patch is really in 3.8.2 and only the reasonable video modes are present.
Awesome, so we've finally got a handle on your bugs here. Thanks for reporting this and please reopen if it pops up again (or file a new bug if there's something else broken).
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.