Bug 15313 - [855GM regression panel fitting ] black screen with 2.2.99.902
Summary: [855GM regression panel fitting ] black screen with 2.2.99.902
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Wang Zhenyu
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
: 15254 (view as bug list)
Depends on:
Blocks: 15000
  Show dependency treegraph
 
Reported: 2008-04-01 14:59 UTC by Maximilian Engelhardt
Modified: 2008-04-08 18:38 UTC (History)
5 users (show)

See Also:
i915 platform:
i915 features:


Attachments
xorg.conf (2.06 KB, text/plain)
2008-04-01 15:00 UTC, Maximilian Engelhardt
no flags Details
Xorg.0.log (29.36 KB, text/plain)
2008-04-01 15:03 UTC, Maximilian Engelhardt
no flags Details
proposal fix for 8xx LVDS (1.60 KB, patch)
2008-04-01 20:37 UTC, Wang Zhenyu
no flags Details | Splinter Review
updated proposal fix (2.16 KB, patch)
2008-04-01 22:05 UTC, Wang Zhenyu
no flags Details | Splinter Review
Only enable "center" panel fitting on pre-9xx (3.03 KB, text/plain)
2008-04-02 14:04 UTC, Jesse Barnes
no flags Details
build log for patch 15631 (51.67 KB, text/plain)
2008-04-02 23:12 UTC, Rémi Cardona
no flags Details
Only enable "center" panel fitting on pre-9xx (2.68 KB, patch)
2008-04-03 08:44 UTC, Jesse Barnes
no flags Details | Splinter Review
Xorg log after changing resolutions (222.48 KB, text/plain)
2008-04-03 10:53 UTC, Lukasz Jernas
no flags Details
Output from regdumper after switching to 800x600 (8.51 KB, text/plain)
2008-04-03 11:08 UTC, Lukasz Jernas
no flags Details
Ouput from an attempt to set panel fitting with xrandr (394 bytes, text/plain)
2008-04-03 11:11 UTC, Lukasz Jernas
no flags Details
Panel fitting fixes (1.86 KB, patch)
2008-04-03 11:33 UTC, Jesse Barnes
no flags Details | Splinter Review
Registry dump after switching PANEL_FITTING (8.51 KB, text/plain)
2008-04-03 11:51 UTC, Lukasz Jernas
no flags Details
Fix LVDS programming (3.89 KB, patch)
2008-04-03 14:02 UTC, Jesse Barnes
no flags Details | Splinter Review
LVDS PFIT programming fixes (4.30 KB, patch)
2008-04-04 10:08 UTC, Jesse Barnes
no flags Details | Splinter Review

Description Maximilian Engelhardt 2008-04-01 14:59:20 UTC
System environment:
------------------------
--chipset: 855GM
--system architecture: i686
--xf86-video-intel: xserver-xorg-video-intel 2:2.2.99.902-1 from debian
experimental, xserver from debian sid
--kernel version: 2.6.25-rc8
--Linux distribution: debian sid
--Machine or mobo model: Acer TM 661lci


Bug Description:
Using the version 2.2.99.902 of the intel driver I only get a black screen on my system. Version 2.2.99.901 and older did work fine (except my bug #15168).


Reproduce steps:
1, boot system
2, wait for kdm to start
Comment 1 Maximilian Engelhardt 2008-04-01 15:00:35 UTC
Created attachment 15615 [details]
xorg.conf
Comment 2 Maximilian Engelhardt 2008-04-01 15:03:13 UTC
Created attachment 15616 [details]
Xorg.0.log
Comment 3 Michael Fu 2008-04-01 19:14:08 UTC
jesse, zhenyu said it's because of the panel fitting patch...
Comment 4 Wang Zhenyu 2008-04-01 20:37:06 UTC
Created attachment 15621 [details] [review]
proposal fix for 8xx LVDS

Jesse, how about this patch?
Comment 5 Wang Zhenyu 2008-04-01 22:05:33 UTC
Created attachment 15622 [details] [review]
updated proposal fix

Ignore panel fitting property for 8xx and make behavior act like before.

Jesse, it seems those dpms call order makes the trick.
Comment 6 Soenke 2008-04-02 05:26:31 UTC
Hi everyone,

I had a similar problem on my ThinkPad X40 with i855GM, reported here:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=+473838

The patch by Wang Zhenyu seems to fix it.
Thanks and best regards,

Soenke
Comment 7 Maximilian Engelhardt 2008-04-02 06:47:39 UTC
Wang, using your second patch it's working fine again, thanks.
Comment 8 Jesse Barnes 2008-04-02 14:04:55 UTC
Created attachment 15631 [details]
Only enable "center" panel fitting on pre-9xx

Zhenyu, can you give this a try?  It should limit pre-9xx users to "center" mode, which should work on 8xx.
Comment 9 Rémi Cardona 2008-04-02 23:12:21 UTC
Created attachment 15637 [details]
build log for patch 15631

(In reply to comment #8)
> Created an attachment (id=15631) [details]
> Only enable "center" panel fitting on pre-9xx

This patch bombs the build when on top of .902. Attached is full build log.

(This is done on Gentoo x86 with xserver 1.4.0.90)
Comment 10 Lukasz Jernas 2008-04-03 08:11:46 UTC
> This patch bombs the build when on top of .902. Attached is full build log.

Same here. Config:
xorg-xserver-server-1.4.0.90-2.i686
Mesa-libGL-7.0.2-6.i686
Mesa-libGLU-devel-7.0.2-6.i686
Mesa-dri-driver-intel-i810-7.0.2-6.i686
Mesa-libGLU-7.0.2-6.i686
Mesa-dri-driver-intel-i965-7.0.2-6.i686
Mesa-utils-7.0.2-6.i686
Mesa-libGL-devel-7.0.2-6.i686
Mesa-dri-driver-intel-i915-7.0.2-6.i686
Comment 11 Jesse Barnes 2008-04-03 08:44:14 UTC
Created attachment 15651 [details] [review]
Only enable "center" panel fitting on pre-9xx

Here's an updated one that builds here.  It'll falsely list all panel fitting modes as available, but it should be ok for testing.
Comment 12 Soenke 2008-04-03 09:06:35 UTC
Hi Jesse,

builds fine here with updated patch and works so far.

Thanks,

Soenke

--
ThinkPad X40
i855GM
xserver-1.4.0.90 from debian unstable
kernel 2.6.24-1-686 from debian testing
Comment 13 Jesse Barnes 2008-04-03 10:41:38 UTC
Have you tried setting a lower resolution mode?  It *should* center on the screen with no scaling...
Comment 14 Lukasz Jernas 2008-04-03 10:51:12 UTC
With the patch, I can use my laptop again ;)
xrandr -s 800x600 or 640x480 scales the output on the screen for me, the same when running xrandr --output LVDS --mode 800x600
Comment 15 Lukasz Jernas 2008-04-03 10:53:56 UTC
Created attachment 15655 [details]
Xorg log after changing resolutions
Comment 16 Jesse Barnes 2008-04-03 11:00:54 UTC
Thanks for testing Lukasz, can you attach the output of intel_reg_dumper after switching to a low resolution mode?
Comment 17 Jesse Barnes 2008-04-03 11:01:23 UTC
Also, can you try 'xrandr --output LVDS --set PANEL_FITTING center' after switching to 800x600?
Comment 18 Lukasz Jernas 2008-04-03 11:08:08 UTC
Created attachment 15657 [details]
Output from regdumper after switching to 800x600
Comment 19 Lukasz Jernas 2008-04-03 11:11:26 UTC
Created attachment 15658 [details]
Ouput from an attempt to set panel fitting with xrandr

The regdumper output after that doesn't differ (a did a diff). Versions of randr installed:
[deejay1@betty ~]$ rpm -qa | grep randr
xorg-lib-libXrandr-1.2.2-1.i686
xorg-lib-libXrandr-devel-1.2.2-1.i686
xorg-proto-randrproto-devel-1.2.1-1.i686
xorg-app-xrandr-1.2.3-1.i686
Comment 20 Jesse Barnes 2008-04-03 11:33:28 UTC
Ok, neat.  Looks like 855 has functional panel fitting after all.  This patch should let you set any of the PANEL_FITTING (hopefully fixing the error you saw when you tried the xrandr command I mentioned)...
Comment 21 Jesse Barnes 2008-04-03 11:33:55 UTC
Created attachment 15659 [details] [review]
Panel fitting fixes
Comment 22 Lukasz Jernas 2008-04-03 11:44:41 UTC
OK, after the first switch to 800x600 the screen got scaled, then I've run 'xrandr --output LVDS --set PANEL_FITTING center' the screen got all garbled with vertical colored stripes, I had to blindly type xrandr -s 1024x768 and the screen got normal again, after switching again to 800x600 the screen is correctly centered on the panel with no scaling set. So something is still wrong. I will try to reproduce that and dump the registers.
Comment 23 Lukasz Jernas 2008-04-03 11:51:10 UTC
Created attachment 15662 [details]
Registry dump after switching PANEL_FITTING

It just happened another time, while following the steps outlined above...
Here's the registry dump - hope it helps
Comment 24 Jesse Barnes 2008-04-03 14:02:36 UTC
Created attachment 15665 [details] [review]
Fix LVDS programming

We need to enable the border bit at LVDS enable time, which actually occurs in i830_display.c.  So this patch adds a new output private field that lets the LVDS code communicate back to the CRTC code whether specific additional LVDS settings are required.  Hopefully it'll fix the "switch to center mode" failure case for you (it does for me).
Comment 25 Lukasz Jernas 2008-04-04 08:17:08 UTC
It doesn't build for me:
 i686-pld-linux-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -I/usr/include/xorg -I/usr/include/pixman-1 -I/usr/include/drm -I/usr/include/X11/dri -DI830_XV -DI830_USE_XAA -DI830_USE_EXA -O2 -fno-strict-aliasing -fwrapv -march=i686 -mtune=pentium4 -MT i830_display.lo -MD -MP -MF .deps/i830_display.Tpo -c i830_display.c  -fPIC -DPIC -o .libs/i830_display.o
i830_display.c: In function 'i830_crtc_mode_set':
i830_display.c:1306: error: 'struct _I830OutputPrivateRec' has no member named 'lvds_bits'
make[3]: *** [i830_display.lo] Error 1
Comment 26 Jesse Barnes 2008-04-04 10:08:28 UTC
Created attachment 15681 [details] [review]
LVDS PFIT programming fixes

Oops, the last patch didn't include the i830.h changes.  This one should work.
Comment 27 Lukasz Jernas 2008-04-04 10:21:03 UTC
It builds, but the screen is still garbled after setting PANEL_FITTING to center
Comment 28 Rémi Cardona 2008-04-06 14:41:15 UTC
Confirming driver builds and works fine for default settings. I haven't tried other resolutions and fitting properties.
Comment 29 Wang Zhenyu 2008-04-06 18:53:29 UTC
Jesse, it looks we still need to disable panel fitting for 855GM for now.
Comment 30 Jesse Barnes 2008-04-07 08:57:25 UTC
Zhenyu, I think we can get it working, but I don't have an 855 test platform (still), maybe you can hack the last attached patch to work on your 855s?  I don't think it'll need much...
Comment 31 Lukasz Jernas 2008-04-07 09:24:28 UTC
For what it's worth: I can offer ssh access to my notebook...
BTW I've got word, that a similar problem (in the original report) exists on i915, although I'm still trying to confirm this (as it isn't any platform I own)
Comment 32 Wang Zhenyu 2008-04-07 22:51:25 UTC
Jesse, no success on 855GM yet. We have to disable it on 8xx now, as it's included in 2.3 branch...
Comment 33 Jesse Barnes 2008-04-08 07:36:00 UTC
Ok, thanks for trying.
Comment 34 Jesse Barnes 2008-04-08 16:21:29 UTC
Ok Zhenyu, I'll let you push the 855 disable fix (since you can test it) along with the last patch, which has the other fixes we need.

Thanks,
Jesse
Comment 35 Jesse Barnes 2008-04-08 16:22:16 UTC
*** Bug 15254 has been marked as a duplicate of this bug. ***
Comment 36 Wang Zhenyu 2008-04-08 18:38:08 UTC
Patch is pushed. Close this.


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.