Bug 21128

Summary: Radeon 7000 cannot rotate display
Product: xorg Reporter: Chris Rankin <rankincj>
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED INVALID QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: agriffis, rankincj
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg log file
none
xorg config file
none
Xorg log file that shows the X server misbehaving none

Description Chris Rankin 2009-04-11 10:16:58 UTC
I have installed the ati driver from git; this is the most recent change in the history:

commit 367ba7af76e7f63f3186a6e8d9bbe21aa31fc6d1
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Fri Apr 10 09:37:15 2009 -0400

    radeon: fix tmds_pll randr property

The gnome-display-properties application now gives me the following options to rotate the screen: Normal, Left, Upside Down, Right. "Normal" is fine. However, "Upside Down" has no effect and is indistinguishable from "Normal" apart from the update to the monitors.xml file. Choosing either "Left" or "Right" shuts the display down completely, rather like DPMS OFF. I have to boot back to runlevel 3 and reset the monitors.xml file to "Normal" to get my display back after this.

My userspace environment is Fedora 10, with a stock 2.6.28.9 kernel. This is the video card:

01:00.0 VGA compatible controller: ATI Technologies Inc Radeon RV100 QY [Radeon 7000/VE] (prog-if 00 [VGA controller])
	Subsystem: C.P. Technology Co. Ltd Device 2072
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR+ FastB2B+ DisINTx-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 66 (2000ns min), Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 11
	Region 0: Memory at f0000000 (32-bit, prefetchable) [size=128M]
	Region 1: I/O ports at 9000 [size=256]
	Region 2: Memory at e8100000 (32-bit, non-prefetchable) [size=64K]
	[virtual] Expansion ROM at e8120000 [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel driver in use: radeonfb
Comment 1 Chris Rankin 2009-04-11 10:18:17 UTC
Created attachment 24713 [details] [review]
Xorg log file
Comment 2 Chris Rankin 2009-04-11 10:21:49 UTC
Created attachment 24714 [details] [review]
xorg config file
Comment 3 Alex Deucher 2009-04-13 12:10:08 UTC
does turning off pageflipping help?
Comment 4 Chris Rankin 2009-04-15 14:03:08 UTC
(In reply to comment #3)
> does turning off pageflipping help?

No, it doesn't. Ironically, disabling pageflipping seems to trigger the exact same problem.

Comment 5 Alex Deucher 2009-04-15 14:19:17 UTC
Does removing these options (everything except EXA) help?

	Option      "AGPMode" "2"
	Option      "AGPFastWrite" "off"
	Option      "GARTSize" "32"
	Option      "AccelDFS" "on"
	Option      "MigrationHeuristic" "greedy"
	Option      "EnablePageFlip" "on"
Comment 6 Alex Deucher 2009-04-15 14:26:17 UTC
Also, try without EXA.  It will be slow, but if it works, that will help track down where the problem is.
Comment 7 Chris Rankin 2009-04-18 12:22:52 UTC
(In reply to comment #6)
> Also, try without EXA.  It will be slow, but if it works, that will help track
> down where the problem is.

I think that the problem is with EXA. I disabled all the options and then reenabled these options one by one:

        Option      "AGPMode" "2"
        Option      "GARTSize" "32"
        Option      "EnablePageFlip" "on"

The screen correctly rotated 90 degrees left each time. However, the monitor turned itself off when I then tried adding:

        Option      "AccelMethod" "EXA"
Comment 8 Chris Rankin 2009-04-18 12:27:13 UTC
Created attachment 24920 [details]
Xorg log file that shows the X server misbehaving

The X server worked fine until I re-enabled EXA.
Comment 9 Alex Deucher 2009-05-05 08:16:30 UTC
*** Bug 21566 has been marked as a duplicate of this bug. ***
Comment 10 Alex Deucher 2009-11-11 11:03:59 UTC
Is this still an issue with xf86-video-ati from git master?
Comment 11 Alex Deucher 2010-10-19 17:11:32 UTC
closing due to lack of feedback.
Comment 12 Chris Rankin 2010-10-20 13:03:26 UTC
Oops! Sorry, I didn't realise that you were waiting for anything else from me. Yes, the bug is still present but it's not as bad as before. "Normal" is still OK (obviously), and Left, Right and Upside Down no longer kill the X server. In fact, the screen orientation does now indeed change correctly, judging by the behaviour of the mouse pointer. However, the screen image is also massively corrupted to the point that you can barely recognise what it is supposed to be, although it does not become random garbage - the true content is *just about* discernible underneath. (I'd guess that the algorithm that rotates the content is "off" slightly: the effect is like horizontal lines of pixels from the original screen being relocated to the wrong position.)

Fortunately, the image reverts to "Normal" after a few seconds.
Comment 13 Chris Rankin 2010-10-20 13:08:27 UTC
(In reply to comment #12)
> Fortunately, the image reverts to "Normal" after a few seconds.

By which I mean that gnome-display-properties undoes the rotation when I don't hit the OK button in time.
Comment 14 Alex Deucher 2010-10-24 11:30:23 UTC
Have you tested KMS?  I can't reproduce this on my radeon 7000.
Comment 15 Chris Rankin 2010-10-24 12:53:33 UTC
(In reply to comment #14)
> Have you tested KMS?  I can't reproduce this on my radeon 7000.

Yes, I tested this with 2.6.35.7 kernel with KMS enabled. (rv100, 64 MB, AGP. PC, not laptop.)
Comment 16 Adam Jackson 2018-06-12 19:06:58 UTC
Mass closure: This bug has been untouched for more than six years, and is not
obviously still valid. Please reopen this bug or file a new report if you continue to experience issues with current releases.

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.