Bug 19398

Summary: Black screen when VGA is rotated
Product: xorg Reporter: Eric Piel <e.a.b.piel>
Component: Server/GeneralAssignee: Wang Zhenyu <zhenyu.z.wang>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: high CC: keithp
Version: 7.4 (2008.09)Keywords: NEEDINFO
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Eric Piel 2009-01-05 02:51:23 UTC
I'm testing the beta versions and I'm having trouble with a dual screen setup when the VGA output is rotated. It used to work fine with intel 2.5.3 .

Two screens non rotated works fine:
xrandr --output LVDS --rotate normal --output VGA --preferred --right-of LVDS --rotate normal
Rotation of LVDS works fine:
xrandr --output LVDS --rotate left
Rotation of VGA is accepted by the server but leads to a black VGA screen or VGA screen with some parts of the LVDS screen:
xrandr --output LVDS --rotate normal --output VGA --rotate left
(same problem when both displays are rotated)

I've tried to play with the "transform" option, but it didn't lead to any success (and the option is not documented at all so it's not so easy to use).

I don't know how related it is, but in addition xrandr reports an effective size of 1200x1921 instead of the expected 1200x1920.

Version:
x11-driver-video-intel-2.5.99.1-1mdv2009.1
x11-server-xorg-1.5.99.3-1.20081222.2mdv2009.1
lib64xrandr2-1.2.99.4-1mdv2009.1
xrandr-1.2.99.3-2mdv2009.1
lib64drm2-2.4.3-2mdv2009.1
Kernel 2.6.28 vanilla

Here is the verbose output of xrandr:
Screen 0: minimum 320 x 200, current 2480 x 1920, maximum 3200 x 2048
VGA connected 1200x1921+1280+0 (0x3d) left (normal left inverted right x axis y axis) 519mm x 324mm
	Identifier: 0x3b
	Timestamp:  64938
	Subpixel:   unknown
	Clones:    
	CRTC:       0
	CRTCs:      0 1
	Panning:    0x0+0+0
	Tracking:   0x0+0+0
	Border:     0/0/0/0
	Transform:  1.000000 0.000000 0.000000
	            0.000000 1.000000 0.000000
	            0.000000 0.000000 1.000000
	           filter: 
	EDID_DATA:
		00ffffffffffff0010ac29a053343541
		291201030e342078eab325ac5130b426
		105054a54b008180a940714f01010101
		010101010101283c80a070b023403020
		360007442100001a000000ff00473238
		3648384137413534530a000000fc0044
		454c4c20323430385746500a000000fd
		00384c1e5311000a2020202020200083
  1920x1200 (0x3d)  154.0MHz +HSync -VSync *current +preferred
        h: width  1920 start 1968 end 2000 total 2080 skew    0 clock   74.0KHz
        v: height 1200 start 1203 end 1209 total 1235           clock   60.0Hz
  1600x1200 (0x3e)  162.0MHz +HSync +VSync
        h: width  1600 start 1664 end 1856 total 2160 skew    0 clock   75.0KHz
        v: height 1200 start 1201 end 1204 total 1250           clock   60.0Hz
  1280x1024 (0x3f)  135.0MHz +HSync +VSync
        h: width  1280 start 1296 end 1440 total 1688 skew    0 clock   80.0KHz
        v: height 1024 start 1025 end 1028 total 1066           clock   75.0Hz
  1280x1024 (0x40)  108.0MHz +HSync +VSync
        h: width  1280 start 1328 end 1440 total 1688 skew    0 clock   64.0KHz
        v: height 1024 start 1025 end 1028 total 1066           clock   60.0Hz
  1152x864 (0x41)  108.0MHz +HSync +VSync
        h: width  1152 start 1216 end 1344 total 1600 skew    0 clock   67.5KHz
        v: height  864 start  865 end  868 total  900           clock   75.0Hz
  1024x768 (0x42)   78.8MHz +HSync +VSync
        h: width  1024 start 1040 end 1136 total 1312 skew    0 clock   60.0KHz
        v: height  768 start  769 end  772 total  800           clock   75.0Hz
  1024x768 (0x43)   65.0MHz -HSync -VSync
        h: width  1024 start 1048 end 1184 total 1344 skew    0 clock   48.4KHz
        v: height  768 start  771 end  777 total  806           clock   60.0Hz
  800x600 (0x44)   49.5MHz +HSync +VSync
        h: width   800 start  816 end  896 total 1056 skew    0 clock   46.9KHz
        v: height  600 start  601 end  604 total  625           clock   75.0Hz
  800x600 (0x45)   40.0MHz +HSync +VSync
        h: width   800 start  840 end  968 total 1056 skew    0 clock   37.9KHz
        v: height  600 start  601 end  605 total  628           clock   60.3Hz
  640x480 (0x46)   31.5MHz -HSync -VSync
        h: width   640 start  656 end  720 total  840 skew    0 clock   37.5KHz
        v: height  480 start  481 end  484 total  500           clock   75.0Hz
  640x480 (0x47)   25.2MHz -HSync -VSync
        h: width   640 start  656 end  752 total  800 skew    0 clock   31.5KHz
        v: height  480 start  490 end  492 total  525           clock   59.9Hz
  720x400 (0x48)   28.3MHz -HSync +VSync
        h: width   720 start  738 end  846 total  900 skew    0 clock   31.5KHz
        v: height  400 start  412 end  414 total  449           clock   70.1Hz
LVDS connected 1280x800+0+0 (0x49) normal (normal left inverted right x axis y axis) 261mm x 163mm
	Identifier: 0x3c
	Timestamp:  64938
	Subpixel:   horizontal rgb
	Clones:    
	CRTC:       1
	CRTCs:      1
	Panning:    0x0+0+0
	Tracking:   0x0+0+0
	Border:     0/0/0/0
	Transform:  1.000000 0.000000 0.000000
	            0.000000 1.000000 0.000000
	            0.000000 0.000000 1.000000
	           filter: 
	EDID_DATA:
		00ffffffffffff000daf211200000000
		01100103801a10780a0d628e5a5c9327
		1e505b00000001010101010101010101
		0101010101011b1b008450201330281a
		250005a310000018000000fe004e3132
		3149362d4c30310a2020000000fe0043
		4d4f0a202020202020202020000000fe
		004e31323149362d4c30310a202000df
	PANEL_FITTING: full_aspect
		supported: center       full_aspect  full        
	BACKLIGHT_CONTROL: kernel
		supported: native       legacy       combination  kernel      
	BACKLIGHT: 9 (0x00000009) range:  (0,10)
  1280x800 (0x49)   69.4MHz -HSync -VSync *current +preferred
        h: width  1280 start 1320 end 1346 total 1412 skew    0 clock   49.1KHz
        v: height  800 start  802 end  807 total  819           clock   60.0Hz
Comment 1 Wang Zhenyu 2009-01-05 17:47:15 UTC
Could you try xserver 1.5.3 to see if this is a regression from recent transform feature?
Comment 2 Eric Piel 2009-01-06 04:51:28 UTC
Tested with latest git intel driver and xserver 1.5.3: it works!

So please reassign to the component you think is the most appropriate.
Comment 3 Wang Zhenyu 2009-01-08 19:00:31 UTC
Keith, could you have a look of this?
Comment 4 Wang Zhenyu 2009-01-20 22:46:06 UTC
Does it work with xserver master? Please use same intel driver for test. 

We might add this to #17452
Comment 5 Keith Packard 2009-02-03 22:50:31 UTC
The panning additions to the X server broke some rotation/transform usage. I've pushed patches for this to the X server master, and will be pulling those to the 1.6 branch after a brief review. Testing X server master would be appreciated though, that should resolve this issue.
Comment 6 Wang Zhenyu 2009-02-18 01:14:47 UTC
Please test with xserver 1.5.99.903. This bug should be fixed. Reopen if you can still meet this.
Comment 7 Eric Piel 2009-02-20 10:08:48 UTC
(Finally) tested with 1.5.99.903, and indeed, the rotation works :-)

Unfortunately the performance on the rotated outputs is abysmal, somewhere around 1 fps when I scroll a page in firefox. It used to be fine... but maybe it's just because I now use UXA, and it's better with EXA, will try later.
Comment 8 Eric Piel 2009-02-20 10:12:19 UTC
Ah, indeed, with EXA the performance is good also when rotated :-) Should I open a bug for UXA about this?

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.