Bug 44898

Summary: [SNB] blackscreen without nomodeset (Vostro 360)
Product: DRI Reporter: olivier.sauzet
Component: DRM/IntelAssignee: Jesse Barnes <jbarnes>
Status: CLOSED DUPLICATE QA Contact:
Severity: major    
Priority: high CC: ben, chris, daniel, jbarnes, olivier.sauzet
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
all log in one file...
none
Litttle patch by keithp (on irc) for one first test
none
second little patch from keithp
none
new log
none
dmesg-17-04-2012
none
intel_reg_dumper_17-04-2012
none
dmesg-19-04-2012
none
Xorg.log-19-04-2012
none
intel_reg_dumper-19-04-2012 none

Description olivier.sauzet 2012-01-18 05:11:22 UTC
Created attachment 55734 [details]
all log in one file...

Hello,

I have this All-In-One machine : 
https://www.dell.com/uk/business/p/vostro-360/pd

The hardware seems to be Synergy card :
lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: nVidia Corporation Device 0df5 (rev a1)

I blacklist the "nouveau" driver in /etc/modprobe.d/blacklist.conf

When i start in nomodeset i have an X resolution in 1280*1024 while the hardware supports 1920*1080

When i start without nomodeset, i can see the boot log and the desktop in very short flash image... this flash have cycle between 3 to 20 second... but it seams not regular...


Linux distribution : Ubuntu precise (12.04)
Version :
xserver-xorg-core                      2:1.10.4-1ubuntu6 
linux-image-3.2.0-8-generic            3.2.0-8.14
libgl1-mesa-dri                        7.11-0ubuntu4
libgl1-mesa-glx                        7.11-0ubuntu4 libglapi-mesa                          7.11-0ubuntu4
libglu1-mesa                           7.11-0ubuntu4
libdrm-intel1                          2.4.30-1ubuntu1

Chipset : i915
uname -m : x86_64
uname -r : 3.2.0-8-generic

On my hardware the bug are 100% reproducible
I have not edit the xorg.conf for any modification
I can't give you an xrandr --verbose because iam connected by ssh when i boot whith "drm.debug=0x06", or if you whant one whith nomdeset... it's possible...


I also try this kernel here :

git clone git://git.kernel.org/pub/scm/linux/kernel/git/keithp/linux.git
cd linux
git checkout -t origin/drm-intel-fixes
complil' and boot whith this one...
No more result.

Iam on irc chan #intel-gfx whith nick "ZyTer" if you whant to tell me some test, or issue...

In the file attachement i put in first :
/var/log/dmesg with normal boot   or here http://pastebin.com/B9naGcZ0
next 
 ------------@@@@@@@@---------------
/var/log/dmesq with nomodeset boot option  or here http://pastebin.com/L3wrxqkC
next
 ------------@@@@@@@@---------------
/var/log/dmesg with debug option "drm.debug=0x06"  or here http://pastebin.com/3KvrKMK6
next
 ------------@@@@@@@@---------------
intel_reg_dumper  or here http://pastebin.com/w7GNH5RZ
next 
 ------------@@@@@@@@---------------
Xorg.0.log  or here http://pastebin.com/Q6KZPmnV

Thanks for help...

Olivier.S
Comment 1 olivier.sauzet 2012-01-18 05:19:44 UTC
another short bug report, for this problem is here :
https://bugs.launchpad.net/lpbugreporter/+bug/752542/comments/466
Comment 2 olivier.sauzet 2012-01-19 06:24:14 UTC
Created attachment 55781 [details] [review]
Litttle patch by keithp (on irc) for one first test
Comment 3 olivier.sauzet 2012-01-19 06:27:46 UTC
Comment on attachment 55781 [details] [review]
Litttle patch by keithp (on irc) for one first test

This test, have not solved the problèrem, keithp tell me to test the second little patch
Comment 4 olivier.sauzet 2012-01-19 06:29:22 UTC
Created attachment 55782 [details] [review]
second little patch from keithp

No more result with this one...
Comment 5 Jesse Barnes 2012-04-16 14:03:24 UTC
Does this still happen in drm-intel-next?  An eDP fix from Daniel seems to have fixed a lot of our "blank screen" issues.
Comment 6 olivier.sauzet 2012-04-17 03:06:13 UTC
I try this kernel version : http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.4-rc3-precise/  with no more result.

Today i try to test :
git clone git://git.kernel.org/pub/scm/linux/kernel/git/keithp/linux.git
cd linux
git checkout -t origin/drm-intel-fixes
complil' 

and boot whith this one...
Comment 7 Daniel Vetter 2012-04-17 03:53:48 UTC
Pleas use this the git tree at http://cgit.freedesktop.org/~danvet/drm-intel/ and try the drm-intel-next-queued branch.
Comment 8 olivier.sauzet 2012-04-17 12:17:58 UTC
Created attachment 60214 [details]
new log

log with rm.debug=0x06 from this kernel  git://people.freedesktop.org/~danvet/drm-intel 
branch drm-intel-next-queued
Comment 9 olivier.sauzet 2012-04-17 12:19:24 UTC
a new fresh install whith ubuntu precise 12.04 on the same machine

uname -m : i686
uname -r : 3.4.0-rc3+

with this kernel :

git clone git://people.freedesktop.org/~danvet/drm-intel
cd drm-intel
git checkout -t origin/drm-intel-next-queued
cp /boot/config-`uname -r` .config && sudo make oldconfig && sudo make menuconfig
make-kpkg --initrd --revision=002 kernel_image kernel_headers modules_image
cd ..
dpkg -i *
reboot

i try to boot whith nomodeset, and drm.debug=0x06  but i have a black screen...

xserver-xorg-core                         2:1.11.4-0ubuntu6
linux-image-3.4.0-rc3+                    002
libgl1-mesa-dri                           8.0.1-0ubuntu5
libgl1-mesa-glx                           8.0.1-0ubuntu5
libglu1-mesa                              8.0.1-0ubuntu5
libdrm-intel1                             2.4.30-1ubuntu1

i put le Xorg.0.log-NEW in file flag "new log"

thanks for help...
Comment 10 olivier.sauzet 2012-04-17 14:29:22 UTC
Created attachment 60223 [details]
dmesg-17-04-2012

dmesg whith kernel  command line: BOOT_IMAGE=/boot/vmlinuz-3.4.0-rc3+ root=UUID=cc1afab4-2d6d-46a6-8556-1b5c2f1cfaa3 ro quiet splash drm.debug=0x06 vt.handoff=7
Comment 11 olivier.sauzet 2012-04-17 14:33:44 UTC
Created attachment 60224 [details]
intel_reg_dumper_17-04-2012
Comment 12 Jesse Barnes 2012-04-18 10:11:52 UTC
Going out on a limb and associating these two bugs.

Can one of you get the output from /sys/kernel/debug/dri/0/i915_gem_interrupt?  You may need to capture it a few times to get the output I'm looking for, specifically what the "South Display Interrupt identity" field is when the hotplug occurs.  I'm guessing bit 23, 22, or 21 is stuck on, but it could be one of the others.

After you've gathered that, you could try this patch, which ought to shut up your hotplug interrupts at least:

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 967b92e..9b6d8ac 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -2106,6 +2106,8 @@ static int ironlake_irq_postinstall(struct drm_device *dev
                                SDE_AUX_MASK);
        }
 
+       hotplug_mask = 0;
+
        dev_priv->pch_irq_mask = ~hotplug_mask;
 
        I915_WRITE(SDEIIR, I915_READ(SDEIIR));

*** This bug has been marked as a duplicate of bug 42278 ***
Comment 13 olivier.sauzet 2012-04-18 15:02:17 UTC
Created attachment 60285 [details]
dmesg-19-04-2012

After this patch

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 967b92e..9b6d8ac 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -2106,6 +2106,8 @@ static int ironlake_irq_postinstall(struct drm_device
*dev
                                SDE_AUX_MASK);
        }

+       hotplug_mask = 0;
+
        dev_priv->pch_irq_mask = ~hotplug_mask;

        I915_WRITE(SDEIIR, I915_READ(SDEIIR));
Comment 14 olivier.sauzet 2012-04-18 15:03:18 UTC
Created attachment 60286 [details]
Xorg.log-19-04-2012

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 967b92e..9b6d8ac 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -2106,6 +2106,8 @@ static int ironlake_irq_postinstall(struct drm_device
*dev
                                SDE_AUX_MASK);
        }

+       hotplug_mask = 0;
+
        dev_priv->pch_irq_mask = ~hotplug_mask;

        I915_WRITE(SDEIIR, I915_READ(SDEIIR));
Comment 15 olivier.sauzet 2012-04-18 15:04:14 UTC
Created attachment 60287 [details]
intel_reg_dumper-19-04-2012

after this patch

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 967b92e..9b6d8ac 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -2106,6 +2106,8 @@ static int ironlake_irq_postinstall(struct drm_device
*dev
                                SDE_AUX_MASK);
        }

+       hotplug_mask = 0;
+
        dev_priv->pch_irq_mask = ~hotplug_mask;

        I915_WRITE(SDEIIR, I915_READ(SDEIIR));
Comment 16 olivier.sauzet 2012-04-18 15:23:08 UTC
Whith this patch its much better :

- i can see the desktop in 1920*1080 (whith no option : not nomodeset in kernel boot)

but...

the scren turn black every 1 or two second..., and some times "in an all black mode" and do not retrun

On IRC, ickle_ and jbarnes  tell me to put :
drm_kms_helper.poll=0 in the kernel boot line.

After boot with that option, its better, the screen seams to be OK


but...

the screen flash in "in an all black mode" sometime :
- on some startup i do not see the desktop at all
- on some startup i see the desktop, can use it, but some minutes after, it turn in "all black mode"... 
- sometimes i can use it with no problem...
Comment 17 olivier.sauzet 2012-04-19 04:54:28 UTC
It work like Bug 42278 :  without patch on an ubuntu kernel : 3.3.0-030300-generic-pae

But its the same behavior than before :
sometime black screnn randomly

I try to "stress" by playing video HD, but its pretty mellow , if you have a better method...
Comment 18 Jesse Barnes 2012-04-19 07:54:24 UTC
Since output detection seems to be the cause of the black screen, I'd expect you to see it whenever some app polls the output configuration.  The media player or other desktop apps may do that periodically (every GNOME app used to do it at app startup time).

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.