Bug 533314 - KMS:RV200:7500 Graphics corruption (LVDS wrong reg programming ?)
Summary: KMS:RV200:7500 Graphics corruption (LVDS wrong reg programming ?)
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: xorg-x11-drv-ati
Version: 12
Hardware: i686
OS: Linux
low
high
Target Milestone: ---
Assignee: Jérôme Glisse
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 530218 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-11-06 02:15 UTC by Jon VanAlten
Modified: 2010-03-12 10:42 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2010-03-12 10:42:05 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Display corruption (2.01 MB, image/jpeg)
2009-11-06 02:15 UTC, Jon VanAlten
no flags Details
X log (42.71 KB, text/plain)
2009-11-06 02:31 UTC, Jon VanAlten
no flags Details
dmesg from affected system (36.30 KB, text/plain)
2009-11-06 15:37 UTC, Jon VanAlten
no flags Details

Description Jon VanAlten 2009-11-06 02:15:18 UTC
Created attachment 367774 [details]
Display corruption

Description of problem:  Display elements are corrupted, affects graphical boot screen as well as desktop.  Text is nearly unreadable.  Desktop background image is the only thing I've found to be unaffected.  Screen capture does not show issue; I've attached an actual camera pic of what this is looking like.  Attempted workaround by booting with nomodeset kernel parameter and the result was symptoms identical to https://bugzilla.redhat.com/show_bug.cgi?id=522970 .  Booting with radeon.agpmode=-1 has no discernable effect.


Version-Release number of selected component (if applicable):  Currently using 6.13.0-0.10.20091006git457646d73.fc12, issue has existed since at least F12beta.


How reproducible:  Install F12 Beta on affected hardware.


Steps to Reproduce:
1.  Boot Fedora 12 Beta CD.
2.  Observe terrible graphics.
  
Actual results:   Most items rendered to the screen are, for lack of a better word, pixellated.


Expected results:   Crisp, clean Fedora desktop.


Additional info:   adamw though that this might be an issue with choosing the incorrect resolution, but in fact the desktop is set to my laptop's correct native 1024x768 resolution.  The laptop in question is an older IBM (yes, not Lenovo) T30, Type 2366-66U, mostly stock but the hard drive and wireless chip have been replaced.

Comment 1 Jon VanAlten 2009-11-06 02:31:48 UTC
Created attachment 367776 [details]
X log

Comment 2 Adam Williamson 2009-11-06 02:38:55 UTC
jerome, to me this looks like the modeline that KMS ends up guessing at is slightly wrong somehow, not in resolution but in something else?

-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 3 Jérôme Glisse 2009-11-06 14:07:02 UTC
Jon please attach dmesg. Did you installed the livecd ? Does it works if you add radeon.modeset=0 or nomodeset to kernel boot parameter ?

If you install f12 please do the following and attach both files :
sudo yum install radeontool
Boot with kms enabled and do the following (you can do that through ssh from another computer):
sudo radeontool regs > r7500-lvds-bad
Boot with kms disabled (nomodeset)
sudo radeontool regs > r7500-lvds-good

Thanks

Comment 4 Jon VanAlten 2009-11-06 15:37:22 UTC
Created attachment 367834 [details]
dmesg from affected system

Yep, installed from liveCD and fully updated.  Sorry if it wasn't clear, I was just trying to make the point that the issue presents itself right away, even before installing to hard drive.

radeon.modeset=0 or nomodeset as kernel boot parameters both cause symptoms identical to other bug mentioned above.

"Good" radeontool output:

ADEON_DAC_CNTL=ff60e002
RADEON_DAC_CNTL2=00000000
RADEON_TV_DAC_CNTL=07680142
RADEON_DISP_OUTPUT_CNTL=10000000
RADEON_CONFIG_MEMSIZE=01000000
RADEON_AUX_SC_CNTL=00000000
RADEON_CRTC_EXT_CNTL=00000040
RADEON_CRTC_GEN_CNTL=03200600
RADEON_CRTC2_GEN_CNTL=36800000
RADEON_DEVICE_ID=00004c57
RADEON_DISP_MISC_CNTL=5b300600
RADEON_GPIO_MONID=00000000
RADEON_GPIO_MONIDB=00000300
RADEON_GPIO_CRT2_DDC=00000300
RADEON_GPIO_DVI_DDC=00000300
RADEON_GPIO_VGA_DDC=00000300
RADEON_LVDS_GEN_CNTL=000dffa1

"Bad" radeontool output:

RADEON_DAC_CNTL=ff60e002
RADEON_DAC_CNTL2=00000000
RADEON_TV_DAC_CNTL=07680142
RADEON_DISP_OUTPUT_CNTL=10000000
RADEON_CONFIG_MEMSIZE=01000000
RADEON_AUX_SC_CNTL=00000000
RADEON_CRTC_EXT_CNTL=0d000040
RADEON_CRTC_GEN_CNTL=03210600
RADEON_CRTC2_GEN_CNTL=36800000
RADEON_DEVICE_ID=00004c57
RADEON_DISP_MISC_CNTL=5b300600
RADEON_GPIO_MONID=00000000
RADEON_GPIO_MONIDB=00000300
RADEON_GPIO_CRT2_DDC=00000300
RADEON_GPIO_DVI_DDC=00000300
RADEON_GPIO_VGA_DDC=00000300
RADEON_LVDS_GEN_CNTL=000cffa1

Comment 5 Adam Williamson 2009-11-06 21:03:32 UTC
jerome: just to be clear, if he boots without KMS he gets a good mode, but the corruption we were discussing in 522970 - I asked him to split this report off from 522970 on the theory we'd be better off fixing the KMS bug than the UMS corruption.

There's a UMS X log in 522970 for comparison, I think.

-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 6 Jérôme Glisse 2009-11-10 20:42:10 UTC
Sadly this radeontool doesn't report enough register please use :
sudo yum install libpciaccess-devel
git clone git://anongit.freedesktop.org/~airlied/radeontool
cd radeontool
make
Under working setup
sudo ./radeontool regmatch * > rv250-lvds-good
Under broken setup
sudo ./radeontool regmatch * > rv250-lvds-bad

And attach both file to the bug thanks.

Comment 7 Jérôme Glisse 2009-11-10 21:34:57 UTC
*** Bug 530218 has been marked as a duplicate of this bug. ***

Comment 8 Jon VanAlten 2009-11-15 15:15:12 UTC
Hi, sorry for the delay.

Built radeontool as requested, unfortunately "regmatch *" argument gave me a usage message.  However I did get more info out of the tool by reverting to "./radeontool regs".  Here is the "good" output (using nomodeset):

RADEON_DAC_CNTL ff60e002
RADEON_DAC_EXT_CNTL     00000000
RADEON_DAC_MACRO_CNTL   00070806
RADEON_DAC_CNTL2        00000000
RADEON_TV_DAC_CNTL      07680142
RADEON_DISP_OUTPUT_CNTL 10000000
RADEON_CONFIG_MEMSIZE   01000000
RADEON_AUX_SC_CNTL      00000000
RADEON_CRTC_EXT_CNTL    00000040
RADEON_CRTC_GEN_CNTL    03200600
RADEON_CRTC2_GEN_CNTL   36800000
RADEON_DEVICE_ID        00004c57
RADEON_DISP_MISC_CNTL   5b300600
RADEON_GPIO_MONID       00000000
RADEON_GPIO_MONIDB      00000300
RADEON_GPIO_CRT2_DDC    00000300
RADEON_GPIO_DVI_DDC     00000300
RADEON_GPIO_VGA_DDC     00000300
RADEON_LVDS_GEN_CNTL    000dffa1
RADEON_LVDS_PLL_CNTL    0001128c
RADEON_FP_GEN_CNTL      01e20000
RADEON_FP2_GEN_CNTL     00000008
RADEON_PIXCLKS_CNTL     0000f8c0
RADEON_MEM_TIMING_CNTL  1a3d5323
RADEON_TMDS_PLL_CNTL    00000a1b
RADEON_TMDS_TRANSMITTER_CNTL    10000082

And the bad:

RADEON_DAC_CNTL ff60e002
RADEON_DAC_EXT_CNTL     00000000
RADEON_DAC_MACRO_CNTL   00070806
RADEON_DAC_CNTL2        00000000
RADEON_TV_DAC_CNTL      07680142
RADEON_DISP_OUTPUT_CNTL 10000000
RADEON_CONFIG_MEMSIZE   01000000
RADEON_AUX_SC_CNTL      00000000
RADEON_CRTC_EXT_CNTL    0d000040
RADEON_CRTC_GEN_CNTL    03210600
RADEON_CRTC2_GEN_CNTL   36800000
RADEON_DEVICE_ID        00004c57
RADEON_DISP_MISC_CNTL   5b300600
RADEON_GPIO_MONID       00000000
RADEON_GPIO_MONIDB      00000300
RADEON_GPIO_CRT2_DDC    00000300
RADEON_GPIO_DVI_DDC     00000300
RADEON_GPIO_VGA_DDC     00000300
RADEON_LVDS_GEN_CNTL    000cffa1
RADEON_LVDS_PLL_CNTL    0001128c
RADEON_FP_GEN_CNTL      01e20000
RADEON_FP2_GEN_CNTL     00000008
RADEON_PIXCLKS_CNTL     0000f8c0
RADEON_MEM_TIMING_CNTL  1a3d5323
RADEON_TMDS_PLL_CNTL    00000a1b
RADEON_TMDS_TRANSMITTER_CNTL    10000082

Comment 9 Bug Zapper 2009-11-16 15:12:01 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 12 development cycle.
Changing version to '12'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 10 Jérôme Glisse 2009-11-17 18:44:14 UTC
Please try kernel from :
http://koji.fedoraproject.org/koji/buildinfo?buildID=141560

Download kernel matching your config either :
http://kojipkgs.fedoraproject.org/packages/kernel/2.6.31.6/134.fc12/i686/kernel-2.6.31.6-134.fc12.i686.rpm
or
http://kojipkgs.fedoraproject.org/packages/kernel/2.6.31.6/134.fc12/x86_64/kernel-2.6.31.6-134.fc12.x86_64.rpm

and install it with rpm -ivh filename, report if it helps with your issue.

Comment 11 Jud Craft 2009-11-17 20:41:14 UTC
Is there any way to patch a liveUSB with this?  I cannot actually install Fedora on the affected system.

Comment 12 Adam Williamson 2009-11-17 20:53:18 UTC
i could hack it up for you, but it's non-trivial, i've got another bug queued up to try and find time to do the same thing for so I can't promise anything. you'd have to do a live CD build (using livecd-creator) with a repo containing the patched kernel defined in the live CD kickstart file, that's what I'll do if i can find time. um, is the affected system x86-64 capable? I can only build x86-64 live images.

-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 13 Jud Craft 2009-11-17 21:00:26 UTC
No, it's a four-year old Pentium Celeron, pretty sure it can't do x86-64.  Thanks for the offer though.  Maybe I'll try that CD-build-repo trick, but not anytime soon.  Sorry for the noise.

Comment 14 Adam Williamson 2009-11-17 21:23:19 UTC
the alternative would be to wait until the change lands in rawhide (when's that likely, jerome?) and use a nightly live image:

http://alt.fedoraproject.org/pub/alt/nightly-composes/desktop/

-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 15 Jon VanAlten 2009-11-17 21:46:49 UTC
No improvement on my end from installing that kernel.  Probably unrelated, but I did get a handful of warnings installing the packages as noted in https://bugzilla.redhat.com/show_bug.cgi?id=523365

Comment 16 Jérôme Glisse 2010-01-13 16:59:49 UTC
Jon can you try with lastest F12 package, we did fix a bunch of issue since november.

Comment 17 Jon VanAlten 2010-01-15 00:29:39 UTC
Hi Jerome.  Just did a yum update to make sure I've got all the latest.  At this time that means kernel 2.6.31.9-174.  I still get the graphics corruption when booting without nomodeset on the kernel line.

Comment 18 Gabriel Abejon 2010-03-11 03:07:54 UTC
After the most recent xorg update I started getting errors exactly like the original submitter documented in the screenshots.  Adding 'nomodeset' to my kernel line gets rid of the issue.  Some info about my system:

Fedora 12

Linux laptop 2.6.32.9-70.fc12.x86_64 #1 SMP Wed Mar 3 04:40:41 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux

MacBookPro2,2 (Core2 Duo)

ATI Technologies Inc M56P [Radeon Mobility X1600]

My setup differs from a stock MacBookPro2,2 in that I've replaced the built in LCD screen with one with a higher resolution, I went from 1440x900 to 1920x1200.  This setup has been working under Fedora 11 and then 12 on my system for almost a year.

I've had no problems with this until the most recent update:

rpm -qa|grep xorg
xorg-x11-drv-intel-2.9.1-1.fc12.x86_64
xorg-x11-server-Xorg-1.7.5.901-1.fc12.x86_64
xorg-x11-proto-devel-7.4-35.fc12.noarch
xorg-x11-drv-sisusb-0.9.3-1.fc12.x86_64
xorg-x11-drv-vmmouse-12.6.5-2.fc12.x86_64
xorg-x11-apps-7.4-9.fc12.x86_64
xorg-x11-drv-savage-2.3.1-1.fc12.x86_64
xorg-x11-drv-penmount-1.4.0-4.fc12.x86_64
xorg-x11-drivers-7.3-13.fc12.x86_64
xorg-x11-drv-aiptek-1.3.0-1.fc12.x86_64
xorg-x11-drv-cirrus-1.3.2-1.fc12.x86_64
xorg-x11-drv-dummy-0.3.3-1.fc12.x86_64
xorg-x11-drv-ati-firmware-6.13.0-0.21.20100219gite68d3a389.fc12.x86_64
xorg-x11-xauth-1.0.2-7.fc12.x86_64
xorg-x11-drv-i128-1.3.3-1.fc12.x86_64
xorg-x11-drv-trident-1.3.3-1.fc12.x86_64
xorg-x11-drv-glint-1.2.4-1.fc12.x86_64
xorg-x11-drv-wacom-0.10.4-2.fc12.x86_64
xorg-x11-drv-voodoo-1.2.3-1.fc12.x86_64
xorg-x11-server-utils-7.4-13.fc12.x86_64
xorg-x11-drv-hyperpen-1.3.0-3.fc12.x86_64
xorg-x11-drv-s3virge-1.10.4-1.fc12.x86_64
xorg-x11-drv-tdfx-1.4.3-1.fc12.x86_64
xorg-x11-drv-vesa-2.3.0-1.fc12.x86_64
xorg-x11-drv-fbdev-0.4.1-1.fc12.x86_64
xorg-x11-drv-mga-1.4.11-1.fc12.x86_64
xorg-x11-drv-sis-0.10.2-1.fc12.x86_64
xorg-x11-xinit-1.0.9-14.fc12.x86_64
xorg-x11-drv-rendition-4.2.2-4.fc12.x86_64
xorg-x11-drv-vmware-10.16.7-2.fc12.x86_64
xorg-x11-fonts-misc-7.2-9.fc12.noarch
xorg-x11-drv-mach64-6.8.2-1.fc12.x86_64
xorg-x11-drv-nv-2.1.15-2.fc12.x86_64
xorg-x11-drv-keyboard-1.4.0-2.fc12.x86_64
xorg-x11-drv-nouveau-0.0.15-20.20091105gite1c2efd.fc12.x86_64
xorg-x11-drv-openchrome-0.2.904-1.fc12.x86_64
xorg-x11-drv-elographics-1.2.3-4.fc12.x86_64
xorg-x11-drv-v4l-0.2.0-3.fc12.1.x86_64
xorg-x11-drv-evdev-2.3.2-3.fc12.x86_64
xorg-x11-drv-apm-1.2.2-1.fc12.x86_64
xorg-x11-drv-fpit-1.3.0-4.fc12.x86_64
xorg-x11-server-common-1.7.5.901-1.fc12.x86_64
xorg-x11-xkb-utils-7.4-6.fc12.x86_64
xorg-x11-utils-7.4-7.fc12.x86_64
xorg-x11-drv-mouse-1.5.0-1.fc12.x86_64
xorg-x11-drv-r128-6.8.1-2.fc12.x86_64
xorg-x11-drv-mutouch-1.2.1-4.fc12.x86_64
xorg-x11-drv-ati-6.13.0-0.21.20100219gite68d3a389.fc12.x86_64
xorg-x11-drv-ast-0.89.9-1.fc12.x86_64
xorg-x11-drv-acecad-1.4.0-1.fc12.x86_64
xorg-x11-drv-i740-1.3.2-1.fc12.x86_64
xorg-x11-font-utils-7.2-11.fc12.x86_64
xorg-x11-drv-siliconmotion-1.7.3-1.fc12.x86_64
xorg-x11-drv-void-1.3.0-2.fc12.x86_64
xorg-x11-drv-synaptics-1.2.1-1.fc12.x86_64

I compiled the suggested radeontool, here are the results:

GOOD (with nomodeset):

RADEON_DAC_CNTL	00000000
RADEON_DAC_EXT_CNTL	00000000
RADEON_DAC_MACRO_CNTL	00000000
RADEON_DAC_CNTL2	00000000
RADEON_TV_DAC_CNTL	00000000
RADEON_DISP_OUTPUT_CNTL	00000000
RADEON_CONFIG_MEMSIZE	10000000
RADEON_AUX_SC_CNTL	00000000
RADEON_CRTC_EXT_CNTL	11000010
RADEON_CRTC_GEN_CNTL	00000000
RADEON_CRTC2_GEN_CNTL	00000000
RADEON_DEVICE_ID	00000000
RADEON_DISP_MISC_CNTL	00000000
RADEON_GPIO_MONID	00000000
RADEON_GPIO_MONIDB	00000000
RADEON_GPIO_CRT2_DDC	00000000
RADEON_GPIO_DVI_DDC	00000000
RADEON_GPIO_VGA_DDC	00000000
RADEON_LVDS_GEN_CNTL	00000000
RADEON_LVDS_PLL_CNTL	00000000
RADEON_FP_GEN_CNTL	00000000
RADEON_FP2_GEN_CNTL	00000000
RADEON_PPLL_CNTL	00000000
RADEON_PPLL_REF_DIV	0000000d
RADEON_PPLL_DIV_3	0000000d
RADEON_PIXCLKS_CNTL	00000010
RADEON_P2PLL_CNTL	00000003
RADEON_P2PLL_REF_DIV	00000000
RADEON_P2PLL_DIV_0	00000000
RADEON_VCLK_ECP_CNTL	00000005
RADEON_MEM_TIMING_CNTL	00000000
RADEON_TMDS_PLL_CNTL	00000000
RADEON_TMDS_TRANSMITTER_CNTL	00000000
RADEON_CRTC_MORE_CNTL	00000000
RADEON_FP_H_SYNC_STRT_WID	00000000
RADEON_FP_V_SYNC_STRT_WID	00000000
RADEON_FP_CRTC_H_TOTAL_DISP	00000000
RADEON_FP_CRTC_V_TOTAL_DISP	00000000
RADEON_FP_HORZ_STRETCH	00000000
RADEON_FP_VERT_STRETCH	00000000
RADEON_FP_HORZ_VERT_ACTIVE	00000000
RADEON_CRTC_H_TOTAL_DISP	00000000
RADEON_CRTC_H_SYNC_STRT_WID	00000000
RADEON_CRTC_V_TOTAL_DISP	00000000
RADEON_CRTC_V_SYNC_STRT_WID	00000000
RADEON_CRTC2_H_TOTAL_DISP	0200001f
RADEON_CRTC2_H_SYNC_STRT_WID	00000000
RADEON_CRTC2_V_TOTAL_DISP	00000100
RADEON_CRTC2_V_SYNC_STRT_WID	00000002

BAD (stock):

RADEON_DAC_CNTL	00000000
RADEON_DAC_EXT_CNTL	00000000
RADEON_DAC_MACRO_CNTL	00000000
RADEON_DAC_CNTL2	00000000
RADEON_TV_DAC_CNTL	00000000
RADEON_DISP_OUTPUT_CNTL	00000000
RADEON_CONFIG_MEMSIZE	10000000
RADEON_AUX_SC_CNTL	00000000
RADEON_CRTC_EXT_CNTL	0d000010
RADEON_CRTC_GEN_CNTL	00000000
RADEON_CRTC2_GEN_CNTL	00000000
RADEON_DEVICE_ID	00000000
RADEON_DISP_MISC_CNTL	00000000
RADEON_GPIO_MONID	00000000
RADEON_GPIO_MONIDB	00000000
RADEON_GPIO_CRT2_DDC	00000000
RADEON_GPIO_DVI_DDC	00000000
RADEON_GPIO_VGA_DDC	00000000
RADEON_LVDS_GEN_CNTL	00000000
RADEON_LVDS_PLL_CNTL	00000000
RADEON_FP_GEN_CNTL	00000000
RADEON_FP2_GEN_CNTL	00000000
RADEON_PPLL_CNTL	00000000
RADEON_PPLL_REF_DIV	0000000d
RADEON_PPLL_DIV_3	0000000d
RADEON_PIXCLKS_CNTL	00000010
RADEON_P2PLL_CNTL	00000003
RADEON_P2PLL_REF_DIV	00000000
RADEON_P2PLL_DIV_0	00000000
RADEON_VCLK_ECP_CNTL	00000005
RADEON_MEM_TIMING_CNTL	00000000
RADEON_TMDS_PLL_CNTL	00000000
RADEON_TMDS_TRANSMITTER_CNTL	00000000
RADEON_CRTC_MORE_CNTL	00000000
RADEON_FP_H_SYNC_STRT_WID	00000000
RADEON_FP_V_SYNC_STRT_WID	00000000
RADEON_FP_CRTC_H_TOTAL_DISP	00000000
RADEON_FP_CRTC_V_TOTAL_DISP	00000000
RADEON_FP_HORZ_STRETCH	00000000
RADEON_FP_VERT_STRETCH	00000000
RADEON_FP_HORZ_VERT_ACTIVE	00000000
RADEON_CRTC_H_TOTAL_DISP	00000000
RADEON_CRTC_H_SYNC_STRT_WID	00000000
RADEON_CRTC_V_TOTAL_DISP	00000000
RADEON_CRTC_V_SYNC_STRT_WID	00000000
RADEON_CRTC2_H_TOTAL_DISP	0200001f
RADEON_CRTC2_H_SYNC_STRT_WID	00000000
RADEON_CRTC2_V_TOTAL_DISP	00000100
RADEON_CRTC2_V_SYNC_STRT_WID	00000002

The only diff being:

9c9
< RADEON_CRTC_EXT_CNTL	0d000010
---
> RADEON_CRTC_EXT_CNTL	11000010

Some other things I've noticed:

- I'm using gnome-shell and get significantly better performance with nomodeset, about twice the framerate measured by glxgears
- The pixelation appears that it is moving or flickering
- The pixelation appears in vertical columns.  If text is blurry in one area of my screen I can move it over a few inches by dragging the window and it becomes perfectly clear.  There are many of these blurry/clear columnar areas on my screen, the columns are stationary.

Comment 19 Jon VanAlten 2010-03-11 17:35:27 UTC
Well, this is a little bit funny.  I've replaced the laptop I was having this problem with (old laptop was old), but still have it around so thought I check if this issue persists.  And, with kernel-2.6.31.12-174, I can now remove "nomodeset" from the kernel line and the display is perfect!  So, for my hardware at least, this appears to be resolved.  Thanks!

Comment 20 Jérôme Glisse 2010-03-12 10:42:05 UTC
Gabriel your issue is different, different hw, if you still have the issue with lastest fedora12 update then please open a bug.

I am closing this bug as resolved.


Note You need to log in before you can comment on or make changes to this bug.