--system architecture: i686
--xf86-video-intel: xserver-xorg-video-intel 2:184.108.40.2062-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
Using the version 220.127.116.112 of the intel driver I only get a black screen on my system. Version 18.104.22.1681 and older did work fine (except my bug #15168).
1, boot system
2, wait for kdm to start
Created attachment 15615 [details]
Created attachment 15616 [details]
jesse, zhenyu said it's because of the panel fitting patch...
Created attachment 15621 [details] [review]
proposal fix for 8xx LVDS
Jesse, how about this patch?
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.
I had a similar problem on my ThinkPad X40 with i855GM, reported here:
The patch by Wang Zhenyu seems to fix it.
Thanks and best regards,
Wang, using your second patch it's working fine again, thanks.
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.
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 22.214.171.124)
> This patch bombs the build when on top of .902. Attached is full build log.
Same here. Config:
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.
builds fine here with updated patch and works so far.
xserver-126.96.36.199 from debian unstable
kernel 2.6.24-1-686 from debian testing
Have you tried setting a lower resolution mode? It *should* center on the screen with no scaling...
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
Created attachment 15655 [details]
Xorg log after changing resolutions
Thanks for testing Lukasz, can you attach the output of intel_reg_dumper after switching to a low resolution mode?
Also, can you try 'xrandr --output LVDS --set PANEL_FITTING center' after switching to 800x600?
Created attachment 15657 [details]
Output from regdumper after switching to 800x600
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
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)...
Created attachment 15659 [details] [review]
Panel fitting fixes
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.
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
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).
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: *** [i830_display.lo] Error 1
Created attachment 15681 [details] [review]
LVDS PFIT programming fixes
Oops, the last patch didn't include the i830.h changes. This one should work.
It builds, but the screen is still garbled after setting PANEL_FITTING to center
Confirming driver builds and works fine for default settings. I haven't tried other resolutions and fitting properties.
Jesse, it looks we still need to disable panel fitting for 855GM for now.
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...
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)
Jesse, no success on 855GM yet. We have to disable it on 8xx now, as it's included in 2.3 branch...
Ok, thanks for trying.
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.
*** Bug 15254 has been marked as a duplicate of this bug. ***
Patch is pushed. Close this.