Bug 32272

Summary: Strange screen in KDE with 2.6.39-rc1 and i915
Product: Drivers Reporter: François Valenduc (francoisvalenduc)
Component: Video(DRI - Intel)Assignee: drivers_video-dri-intel (drivers_video-dri-intel)
Status: CLOSED CODE_FIX    
Severity: normal CC: chris, florian, maciej.rutecki, rjw
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.39-rc1 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 32012    
Attachments: KDE screen under kernel 2.6.39-rc1
Xorg logfile

Description François Valenduc 2011-03-30 20:14:09 UTC
I am using the i915 driver and I have a very strange screen with KDE under kernel 2.6.39-rc1. The wallpaper is replaced by a black screen, there is no KDE menu bar and the desktop icons don't show up.
I am using gentoo and KDE 4.4.5 but the problem also occurs in Debian (also with KDE 4.4.5).
Does anybody have an idea about what's happening ?
Comment 1 François Valenduc 2011-03-30 20:16:30 UTC
Created attachment 52682 [details]
KDE screen under kernel 2.6.39-rc1
Comment 2 François Valenduc 2011-03-30 20:17:13 UTC
Created attachment 52692 [details]
Xorg logfile
Comment 3 François Valenduc 2011-03-31 17:13:21 UTC
A git-bisect run show that the following commit is the first bad one:

commit bcd5023c961a44c7149936553b6929b2b233dd27
Author: Dave Airlie <airlied@redhat.com>
Date:   Mon Mar 14 14:17:55 2011 +1000

    drm/i915: disable opregion lid detection for now.

If I revert it, the problem doesn't occur.
Comment 4 Chris Wilson 2011-04-05 10:03:24 UTC
KDE is mostly at fault here, not handling RandR correctly. But the kernel bug for the incorrect reporting of unknown is fixed by:

commit 6ee3b5a12740eddc5a76e130b6cc7cc64468d1f7
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Mar 24 13:26:43 2011 +0000

    drm/i915/lvds: Always return connected in the absence of better information
    
    The LVDS connector should default to connected. We tried our best to
    verify the claims of the BIOS that the hardware exists during init(),
    and then during detect() we then try to verify that the panel is open.
    In the event of an unsuccessful query, we should then always report
    that the LVDS panel is connected. This was only the case for gen2/3,
    later generations leaked the return value from the panel probe instead.
    
    Reported-and-tested-by: Alessandro Suardi <alessandro.suardi@gmail.com>
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: Keith Packard <keithp@keithp.com>
Comment 5 François Valenduc 2011-04-05 17:11:28 UTC
This patch indeed solves my problem.
Thanks.