Bug 24268

Summary: Latest commit: radeon/kms: fallback to shadowfb... disables DRI with KMS
Product: xorg Reporter: Lukasz Krotowski <lukasz.krotowski>
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED NOTABUG QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: steven
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg.0.log with KMS and offending patch.
none
Xorg.0.log with KMS and without offending patch. none

Description Lukasz Krotowski 2009-10-01 15:19:51 UTC
Latest commit: 
commit d302481493ff61eb7f8648b7afe7407b6b653cf7
Author: Jerome Glisse <jglisse@redhat.com>
Date:   Wed Sep 16 15:18:40 2009 +0200

    radeon/kms: fallback to shadowfb if kernel report acceleration is off
    
    This will fallback to shadowfb is GPU accel failed somewhere during
    KMS kernel init.

Disables DRI although it should not (DRI is enabled and working without that commit).

Well, good thing is shadowfb works surprisingly fast. ;)
Comment 1 Lukasz Krotowski 2009-10-01 15:20:41 UTC
Created attachment 29987 [details]
Xorg.0.log with KMS and offending patch.
Comment 2 Lukasz Krotowski 2009-10-01 15:21:11 UTC
Created attachment 29988 [details]
Xorg.0.log with KMS and without offending patch.
Comment 3 Jerome Glisse 2009-10-02 14:20:09 UTC
Do you have lastest kernel ? from drm-next or lastest Linus' tree. It should work flawlessly as long as you have an up to date kernel. I will push a fix to assume working accel on too old kernel.
Comment 4 Steven Noonan 2009-10-02 14:21:21 UTC
I'm running 2.6.30.1 in my case.

And reverting the commit causes quite a bit of mayhem on my end. I got screen corruption (still was able to interact with xterm, though) as well as this in dmesg:

[ 6094.282393] [drm:radeon_fence_wait] *ERROR* fence(ffff8800621202c0:0x00000003) 502ms timeout going to reset GPU
[ 6094.283805] [drm] CP reset succeed (RBBM_STATUS=0x10000140)
[ 6094.283808] [drm] radeon: cp idle (0x10000000)
[ 6094.283811] [drm] Loading R500 Microcode
[ 6094.283845] [drm] radeon: ring at 0x0000000020000000
[ 6094.283880] [drm] ring test succeeded in 10 usecs
[ 6094.283883] [drm] GPU reset succeed (RBBM_STATUS=0x10000140)
[ 6094.283887] [drm:radeon_fence_wait] *ERROR* fence(ffff8800621202c0:0x00000003) 513ms timeout
[ 6094.283890] [drm:radeon_fence_wait] *ERROR* last signaled fence(0x00000003)
--- repeated about a dozen times ---

Also tried glxgears (probably a bad idea, but...

[ 6172.394896] [drm:radeon_ib_schedule] *ERROR* radeon: couldn't schedule IB(5).
[ 6172.394899] [drm:radeon_cs_ioctl] *ERROR* Faild to schedule IB !
--- repeated several times per second until X was terminated ---

I'm running the latest git versions of libdrm, mesa, and xf86-video-ati.
Comment 5 Steven Noonan 2009-10-02 14:32:22 UTC
(In reply to comment #4)
> I'm running 2.6.30.1 in my case.
Er. 2.6.31.1. What was I thinking?
Comment 6 Lukasz Krotowski 2009-10-02 15:03:29 UTC
(In reply to comment #3)
> Do you have lastest kernel ? from drm-next or lastest Linus' tree. It should
> work flawlessly as long as you have an up to date kernel. I will push a fix to
> assume working accel on too old kernel.

2.6.31, I will try 2.6.31.1 soon.
Comment 7 Jerome Glisse 2009-10-02 23:42:02 UTC
2.6.31.1 is not enough 2.6.32-rc or drm-next or drm-testing branch of airlied repository.
Comment 8 Lukasz Krotowski 2009-10-04 07:52:05 UTC
(In reply to comment #7)
> 2.6.31.1 is not enough 2.6.32-rc or drm-next or drm-testing branch of airlied
> repository.

Ok, it's working fine with drm from drm-next, closing.

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.