[GMA950] external lcd does not work on high resolution
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
xf86-video-intel |
Invalid
|
Medium
|
|||
linux (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
I have Acer Aspire 5710Z with Intel GMA950 graphic card and VGA out. Last week I bought a new lcd monitor Samsung SyncMaster 2343nw with VGA input and with resolution of 2048x1152. My operating system is Ubuntu 8.10
When I plugged it in, I can only get 1440x900 out of that external lcd with 1200x800 on internal monitor. I changed Virtual resolution in xorg.conf to 2048x2048(maximum for GMA) and set my external monitor to be on top. I can get then 2 monitors with extended desktop and Compiz fully working, but anything above 1440x900 resolution on external lcd cause some strange artefacts on it. I can't see anything there on that desktop.
I configure only the virtual resolution in xorg.conf and resolution in gnome with "screen resolution" applet.
I was quite interested, how well would it work on Windows. XP no problem, now using Vista with 2048x1152, so it is possible, it's not that my card is not possible to drive it or the DAC is weak.
Any solution? Is it bad configuration or bug in driver?
marcello100 (12312-azet) wrote : | #1 |
marcello100 (12312-azet) wrote : | #2 |
And I forgot to say, that on my 2nd PC with poor intel atom and GMA950 it works flawlessly. However, My main PC, Acer sucks with this. Any ideas?
affects: | ubuntu → xorg (Ubuntu) |
marcello100 (12312-azet) wrote : | #3 |
with uxa I can get only 1280x960. Exa will be in future releases deprecated.
Bryce Harrington (bryce) wrote : | #4 |
Hi 12312-azet,
Thanks for including an image to demonstrate the issue. Could you also please attach the output of `lspci -vvnn`, and attach your /var/log/Xorg.0.log or Xorg.0.log.old file from after reproducing this issue. If you've made any customizations to your /etc/X11/xorg.conf please attach that as well.
[This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]
tags: | added: needs-xorglog |
Changed in xorg (Ubuntu): | |
status: | New → Incomplete |
affects: | xorg (Ubuntu) → xserver-xorg-video-intel (Ubuntu) |
marcello100 (12312-azet) wrote : | #5 |
marcello100 (12312-azet) wrote : | #6 |
marcello100 (12312-azet) wrote : | #7 |
marcello100 (12312-azet) wrote : | #8 |
marcello100 (12312-azet) wrote : | #9 |
- extScreen.png Edit (38.3 KiB, image/png)
I was trying to do this. It printed no errors after applying changes.
marcello100 (12312-azet) wrote : | #10 |
Today I tried Ubuntu 9.10 Alpha 2.
No change at all.. Only loss of wallpaper and everything except the cursor, which was normal in laptop screen and horizontally distorted on 2nd monitor. I tried EXA and UXA also.
Offtopic: performance on glxgears was once 1000FPS, now on 9.04 about 400, and 9.10 300 on exa and uxa also.
I know it's, it's alpha.
It's weird, that on my Atom based PC HD works just fine, on Acer with Core2 with the same graphic card it don't.
tags: | removed: needs-xorglog |
tags: | added: jaunty |
tags: | added: karmic |
summary: |
- GMA950 + external lcd does not work on high resolution + [GMA950] external lcd does not work on high resolution |
Changed in xserver-xorg-video-intel (Ubuntu): | |
status: | Incomplete → Confirmed |
tags: | added: 945gm resolution |
In freedesktop.org Bugzilla #22996, Bryce Harrington (bryce) wrote : | #11 |
Forwarding this bug from Ubuntu reporter marcello100:
http://
[Problem]
External lcd maximum resolution is 1440x900 instead of 2048x1152.
[Original Description]
I have Acer Aspire 5710Z with Intel GMA950 graphic card and VGA out. Last week I bought a new lcd monitor Samsung SyncMaster 2343nw with VGA input and with resolution of 2048x1152. My operating system is Ubuntu 8.10
When I plugged it in, I can only get 1440x900 out of that external lcd with 1200x800 on internal monitor. I changed Virtual resolution in xorg.conf to 2048x2048(maximum for GMA) and set my external monitor to be on top. I can get then 2 monitors with extended desktop and Compiz fully working, but anything above 1440x900 resolution on external lcd cause some strange artefacts on it. I can't see anything there on that desktop.
I configure only the virtual resolution in xorg.conf and resolution in gnome with "screen resolution" applet.
I was quite interested, how well would it work on Windows. XP no problem, now using Vista with 2048x1152, so it is possible, it's not that my card is not possible to drive it or the DAC is weak.
Today I tried Ubuntu 9.10 Alpha 2. No change at all.. Only loss of wallpaper and everything except the cursor, which was normal in laptop screen and horizontally distorted on 2nd monitor. I tried EXA and UXA also.
In freedesktop.org Bugzilla #22996, Bryce Harrington (bryce) wrote : | #12 |
Created an attachment (id=28110)
This happens on the screen screen.jpg
In freedesktop.org Bugzilla #22996, Bryce Harrington (bryce) wrote : | #13 |
Created an attachment (id=28111)
xorg log just BEFORE my ext. monitor was connected
In freedesktop.org Bugzilla #22996, Bryce Harrington (bryce) wrote : | #14 |
Created an attachment (id=28112)
xorg after the monitor was configured to high res.
In freedesktop.org Bugzilla #22996, Bryce Harrington (bryce) wrote : | #15 |
Created an attachment (id=28113)
I was trying to do this. It printed no errors after applying changes.
In freedesktop.org Bugzilla #22996, Michael Fu (michael-fu-intel) wrote : | #16 |
need a xorg.log, with option "modedebug" "true" set in xorg.conf..
Changed in xserver-xorg-video-intel (Ubuntu): | |
importance: | Undecided → Medium |
Bryce Harrington (bryce) wrote : | #17 |
Thanks Marcello, I've forwarded your bug upstream to https:/
Changed in xserver-xorg-video-intel (Ubuntu): | |
status: | Confirmed → Triaged |
Changed in xserver-xorg-video-intel: | |
status: | Unknown → Confirmed |
In freedesktop.org Bugzilla #22996, Marcel-kanta (marcel-kanta) wrote : | #18 |
Created an attachment (id=28126)
xorg.log with modedebug
xorg.log provided
In freedesktop.org Bugzilla #22996, Marcel-kanta (marcel-kanta) wrote : | #19 |
Created an attachment (id=28127)
xorg.log with modedebug
previous xorg.log was from Ubuntu 9.04
this one is from Ubuntu 9.10 Alpha 3 with the same config file.
In freedesktop.org Bugzilla #22996, Michael Fu (michael-fu-intel) wrote : | #20 |
Section "Device"
...
Option "monitor-LVDS" "LVDS"
Option "monitor-TV" "TV"
Option "Modedebug" "True"
...
EndSection
...
Section "Monitor"
Identifier "LVDS"
Option "Ignore" "True"
EndSection
Section "Monitor"
Identifier "TV"
Option "Ignore" "True"
EndSection
On Ubuntu 9.04 , Would you please add this to your xorg.conf and have a try if it works? this should leave only the VGA port enabled. you can remove the VGA section in your xorg.conf, if you have... Please attach your xorg.conf and xorg.log.
Note: on 9.04, not 9.10 alpha... we will eventually fix this for 9.10 but this would help us narrow things down. thanks.
In freedesktop.org Bugzilla #22996, Marcel-kanta (marcel-kanta) wrote : | #21 |
I did, what you asked me to do. I tried Ubuntu 9.04, monitor on laptop was off as it should and ext. monitor was on, but the log in screen was distorted, like on the picture I provided.
Here is the xorg.conf and xorg.log (log was captured when CTRL-SHIFT F1 after log in screen).
In freedesktop.org Bugzilla #22996, Marcel-kanta (marcel-kanta) wrote : | #22 |
Created an attachment (id=28170)
xorg.conf with only ext. monitor on
In freedesktop.org Bugzilla #22996, Marcel-kanta (marcel-kanta) wrote : | #23 |
Created an attachment (id=28171)
Xorg.0.log with only ext. monitor on
In freedesktop.org Bugzilla #22996, Michael Fu (michael-fu-intel) wrote : | #24 |
from the regdump, it looks like fifo issue...
In freedesktop.org Bugzilla #22996, Marcel-kanta (marcel-kanta) wrote : | #25 |
Do you want some more info, logs?
part of lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
I have one more PC with GMA950, which can do on any Ubuntu the max. resolution.
its lspci
00:00.0 Host bridge: Intel Corporation 82945G/GZ/P/PL Memory Controller Hub (rev 02)
00:01.0 PCI bridge: Intel Corporation 82945G/GZ/P/PL PCI Express Root Port (rev 02)
00:02.0 VGA compatible controller: Intel Corporation 82945G/GZ Integrated Graphics Controller (rev 02)
In freedesktop.org Bugzilla #22996, Michael Fu (michael-fu-intel) wrote : | #26 |
(In reply to comment #13)
> Do you want some more info, logs?
>
> part of lspci
> 00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and
> 945GT Express Memory Controller Hub (rev 03)
> 00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS,
> 943/940GML Express Integrated Graphics Controller (rev 03)
> 00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML
> Express Integrated Graphics Controller (rev 03)
>
> I have one more PC with GMA950, which can do on any Ubuntu the max. resolution.
> its lspci
> 00:00.0 Host bridge: Intel Corporation 82945G/GZ/P/PL Memory Controller Hub
> (rev 02)
> 00:01.0 PCI bridge: Intel Corporation 82945G/GZ/P/PL PCI Express Root Port (rev
> 02)
> 00:02.0 VGA compatible controller: Intel Corporation 82945G/GZ Integrated
> Graphics Controller (rev 02)
>
Do you mean your Samsung monitor can work with no problem on this machine? If so, please repeat the steps on comment# 8 and attach the xorg.log. It'll be helpful for us to compare its log with your Acer machine. thanks.
In freedesktop.org Bugzilla #22996, Marcel-kanta (marcel-kanta) wrote : | #27 |
Created an attachment (id=28226)
Xorg.0.log from another working PC
> Do you mean your Samsung monitor can work with no problem on this machine? If
> so, please repeat the steps on comment# 8 and attach the xorg.log. It'll be
> helpful for us to compare its log with your Acer machine. thanks.
>
Yes, another PC with GMA950 works without problems with Samsung monitor.
Here's its xorg.log. It's Intel Atom based PC w. 1GB RAM.
In freedesktop.org Bugzilla #22996, Michael Fu (michael-fu-intel) wrote : | #28 |
(In reply to comment #8)
> Section "Device"
> ...
> Option "monitor-LVDS" "LVDS"
> Option "monitor-TV" "TV"
> Option "Modedebug" "True"
> ...
> EndSection
> ...
> Section "Monitor"
> Identifier "LVDS"
> Option "Ignore" "True"
> EndSection
>
> Section "Monitor"
> Identifier "TV"
> Option "Ignore" "True"
> EndSection
>
>
> On Ubuntu 9.04 , Would you please add this to your xorg.conf and have a try if
> it works? this should leave only the VGA port enabled. you can remove the VGA
> section in your xorg.conf, if you have... Please attach your xorg.conf and
> xorg.log.
>
> Note: on 9.04, not 9.10 alpha... we will eventually fix this for 9.10 but this
> would help us narrow things down. thanks.
>
with this environment as above, what if you add
Option "FrameBufferCom
will it work? thanks.
In freedesktop.org Bugzilla #22996, Marcel-kanta (marcel-kanta) wrote : | #29 |
Created an attachment (id=28380)
xorg.log - Option "FrameBufferCom
No change, it didn't fix it.
In freedesktop.org Bugzilla #22996, Michael Fu (michael-fu-intel) wrote : | #30 |
see if Jesse has any idea...
tags: | added: intrepid |
In freedesktop.org Bugzilla #22996, Jesse Barnes (jbarnes-virtuousgeek) wrote : | #31 |
If it's FIFO related, it should either be fixed by recent kernel bits or by the patch in bug #22921. Can you test?
In freedesktop.org Bugzilla #22996, Marcel-kanta (marcel-kanta) wrote : | #32 |
I will when the Ubuntu 9.10 stable comes out. In older kernels there's no /intel_display.c , so I can't patch it. I'm looking forward to it.
In freedesktop.org Bugzilla #22996, Jesse Barnes (jbarnes-virtuousgeek) wrote : | #33 |
Assuming this one is fixed by the recent FIFO updates to the kernel.
Bryce Harrington (bryce) wrote : | #34 |
Upstream has closed the bug on their end due to lack of response to their questions and because they believe it to now be fixed. Please reopen if you find it to still be an issue.
Also, according to the final comment on the upstream bug, it sounds like this is an issue in the kernel rather than the ddx driver, so re-filing.
affects: | xserver-xorg-video-intel (Ubuntu) → linux (Ubuntu) |
Changed in linux (Ubuntu): | |
status: | Triaged → Fix Released |
Changed in xserver-xorg-video-intel: | |
status: | Confirmed → Fix Released |
In freedesktop.org Bugzilla #22996, Marcel-kanta (marcel-kanta) wrote : | #35 |
I tried Ubuntu 9.10 RC with the 2.6.31-14.48 kernel based on 2.6.31.1.
no, I can't get high resolution from it, should I? What kernel should fix my
problem? What version of graphic driver?
Regards
Marcel
In freedesktop.org Bugzilla #22996, Jesse Barnes (jbarnes-virtuousgeek) wrote : | #36 |
Actually looking at this again it sounds like a rendering issue. Does the same problem occur if you disable compiz? If so maybe our render accel is broken?
In freedesktop.org Bugzilla #22996, Marcel-kanta (marcel-kanta) wrote : | #37 |
Created an attachment (id=30704)
video of the bug
I just tried it without compiz and only on 1 monitor. Still the same bug.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #38 |
Hi, I just wanted to say that I also have the exact same problem. And it can't be related to compiz (I use dwm). I first do
xrandr --output VGA --preferred --output LVDS --off
and then (blindly)
xrandr --output VGA --off --output LVDS --preferred
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #39 |
Created an attachment (id=30707)
Lines added to Xorg.0.log
When running the said commands these are the lines added to Xorg.0.log.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #40 |
Created an attachment (id=30708)
Output of xrandr -q
...and this is the output produced by xrandr -q when the external monitor is plugged in.
In freedesktop.org Bugzilla #22996, Marcel-kanta (marcel-kanta) wrote : | #41 |
Do you have the same graphic card?
(In reply to comment #25)
> Hi, I just wanted to say that I also have the exact same problem.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #42 |
(In reply to comment #28)
> Do you have the same graphic card?
lspci says:
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
which looks identical to yours.
Changed in xserver-xorg-video-intel: | |
status: | Fix Released → Confirmed |
In freedesktop.org Bugzilla #22996, Jesse Barnes (jbarnes-virtuousgeek) wrote : | #43 |
Maybe this was fixed by this kernel commit?
commit 629598da932cfa5
Author: Jesse Barnes <email address hidden>
Date: Tue Oct 20 07:37:32 2009 +0900
drm/i915: update watermarks before enabling PLLs
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #44 |
(In reply to comment #30)
> Maybe this was fixed by this kernel commit?
>
> commit 629598da932cfa5
> Author: Jesse Barnes <email address hidden>
> Date: Tue Oct 20 07:37:32 2009 +0900
>
> drm/i915: update watermarks before enabling PLLs
>
I'm sorry but I'm pretty new to these kind of things. I use 'stock' ubuntu, what would i have to do to try out if it works?
In freedesktop.org Bugzilla #22996, Jesse Barnes (jbarnes-virtuousgeek) wrote : | #45 |
Oh sorry for the slow reply. Ubuntu has a "bleeding edge" kernel repo somewhere you can use for testing whether there's an upstream bug for a fix. You'll have to search around launchpad for it though; I don't remember the name offhand.
In freedesktop.org Bugzilla #22996, Jesse Barnes (jbarnes-virtuousgeek) wrote : | #46 |
Assuming this is fixed or a hardware limitation (945 limits you to 2048x2048 max, so if you have a 1280 or wider external display you'll likely exceed its limits).
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #47 |
(In reply to comment #33)
> Assuming this is fixed or a hardware limitation (945 limits you to 2048x2048
> max, so if you have a 1280 or wider external display you'll likely exceed its
> limits).
>
As for me it still doesn't work; I'm now running Arch Linux with kernel version 2.6.32.7-1, and xf86-video-intel version 2.9.1-1. I still haven't learned how to check bleeding edge versions though (I'll see if I can find some time).
In my case, it works fine on resolutions (up to and including) 1440x900 and 1280x1024, but at resolutions 1680x1050 and 1920x1080, I get the behavior explained above. Note that this is when _only_ using the external one, i.e. issuing
xrandr --output --mode ... --output LVDS --off
Also, since it works with Windows XP on the same machine it can't really be the hardware.
My current xorg.conf:
Section "Device"
Identifier "Card0"
Driver "intel"
EndSection
In freedesktop.org Bugzilla #22996, Jesse Barnes (jbarnes-virtuousgeek) wrote : | #48 |
Ok, re-opening. Can you capture a register dump from the working and broken cases and report which resolutions you had set?
In freedesktop.org Bugzilla #22996, Ts+freedesktop-bugzilla (ts+freedesktop-bugzilla) wrote : | #49 |
Ah, same problem here:
System environment:
-- chipset: 945GM
-- system architecture: 32-bit, i686
-- xf86-video-intel: 2.9.1
-- xserver: 1.6.3
-- libdrm: 2.4.15
-- kernel: 2.6.33rc8
-- Linux distribution: Ubuntu 9.04 (Jaunty)
-- Machine or mobo model: Lenovo ThinkPad R60e
-- Display connector: VGA
Reproducing steps:
Laptop is a ThinkPad R60e. External VGA monitors with a native resolution like 1600x1200 or 1920x1080 results in unusable screen flickering if native mode is used. Some smaller resolutions like 1440x900 do work.
I've tested some configurations:
- Ubuntu 9.04 (Jaunty) with default kernel, default X.org and intel driver
- Jaunty with default X.org (X Server 1.6.3) and intel driver 2.9.1 (edgers)
- Jaunty with Kernel 2.6.33rc8 (X Server 1.6.3) and intel driver 2.9.1
In freedesktop.org Bugzilla #22996, Ts+freedesktop-bugzilla (ts+freedesktop-bugzilla) wrote : | #50 |
Created an attachment (id=33411)
dmesg output of the ThinkPad R60e
In freedesktop.org Bugzilla #22996, Ts+freedesktop-bugzilla (ts+freedesktop-bugzilla) wrote : | #51 |
Created an attachment (id=33412)
Xorg.0.log ThinkPad R60e
In freedesktop.org Bugzilla #22996, Ts+freedesktop-bugzilla (ts+freedesktop-bugzilla) wrote : | #52 |
Created an attachment (id=33413)
xrandr --verbose ThinkPad R60e
In freedesktop.org Bugzilla #22996, Ts+freedesktop-bugzilla (ts+freedesktop-bugzilla) wrote : | #53 |
(In reply to comment #35)
> Ok, re-opening. Can you capture a register dump from the working and broken
> cases and report which resolutions you had set?
Okay, I can do that with my ThinkPad R60e and a Samsung P2350 connected via VGA. Native resolution of the P2350 is 1920x1080.
In freedesktop.org Bugzilla #22996, Ts+freedesktop-bugzilla (ts+freedesktop-bugzilla) wrote : | #54 |
Created an attachment (id=33487)
register dump working resolution 1440x900
In freedesktop.org Bugzilla #22996, Ts+freedesktop-bugzilla (ts+freedesktop-bugzilla) wrote : | #55 |
Created an attachment (id=33488)
register dump broken case, resolution is set to 1920x1080
register dump generated while non working resolution was enabled
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #56 |
I've done some system changes lately (which did not resolve this issue though). Here is an up-to-date report.
System environment:
-- chipset: 945GM
-- system architecture: 32-bit, i686
-- xf86-video-intel: 2.10.0
-- xserver: 1.7.5.901
-- libdrm: 2.4.18
-- mesa: 7.7
-- intel-dri: 7.7
-- kernel: 2.6.32.9
-- Linux distribution: Arch Linux
-- Machine or mobo model: Compaq Presario V6103EA
-- Display connector: VGA
Reproducing steps:
1. Booted with drm.debug=0x06.
2. startx
3. Plugged in VGA
4. xrandr --output VGA1 --auto --output LVDS1 --off # external in 1920x1080, internal off
<now in flicker state>
6. xrandr --output VGA1 --off --output LVDS1 --auto # back to only internal in 1280x800
I attach xrandr --verbose output and reg dumps (with intel_reg_dumper) made before and during the flicker state. After switching back, I saved the output of dmesg, and a copy of Xorg.0.log. I also attach my xorg.conf although it's pretty minimal.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #57 |
Created an attachment (id=33852)
Output of xrandr --verbose before switching on the external display.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #58 |
Created an attachment (id=33853)
Output of intel_reg_dumper before switching on the external display.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #59 |
Created an attachment (id=33854)
Output of xrandr --verbose after switching on the external display at 1920x1080.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #60 |
Created an attachment (id=33855)
Output of intel_reg_dumper after switching on the external display at 1920x1080.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #61 |
Created an attachment (id=33856)
dmesg output after switching back to internal display.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #62 |
Created an attachment (id=33857)
Xorg.0.log after switching back to internal display.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #63 |
Created an attachment (id=33858)
xorg.conf used
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #64 |
Now this is interesting. I don't know if it was clear already, but the problem occurs already _before_ starting X. When booting up with the external monitor plugged in, the external display duplicates the internal. First everything is fine, but at some point the resolution (of both) is changed (kms?). From this point onward, the external shows the weird flickering. See attached video (sorry for the really bad quality).
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #65 |
Video of flickering during boot up can be found here:
http://
In freedesktop.org Bugzilla #22996, Jesse Barnes (jbarnes-virtuousgeek) wrote : | #66 |
Could be FIFO underruns, Yakui maybe your FIFO patchset fixes this.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #67 |
Can someone comment on the fact that I'm seeing the resolution problem already in the virtual consoles before starting X. What does this mean? Which is the relevant software component (i.e. is this the right one)?
Is more information needed? I'd do anything to get more active help on this issue.
In freedesktop.org Bugzilla #22996, Jesse Barnes (jbarnes-virtuousgeek) wrote : | #68 |
I think this should be fixed now; we've made some changes to our FIFO allocations to make things work better.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #69 |
I tried this with the following packages (arch linux)
-- xf86-video-intel: 2.12.0-1
-- xserver: 1.8.1.902-1
-- libdrm: 2.4.21-1
-- mesa: 7.8.2-1
-- intel-dri: 7.8.2-1
in conjunction with kernel versions 2.6.34.1 and 2.6.35rc5 and I am sorry to say that neither gave any improvements. It behaves exactly like described above. Is there anything I can do, or any information I can provide?
In freedesktop.org Bugzilla #22996, Jesse Barnes (jbarnes-virtuousgeek) wrote : | #70 |
Arg I was really hoping we had fixed this... Can you load drm with debug=4 and attach the output of dmesg from a fresh boot here? Don't bother starting X, since the problem occurs with a plain console I'd like to avoid all the debug output that X creates.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #71 |
Created an attachment (id=37180)
dmesg output (2.6.34.1 kernel)
Sure.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #72 |
Created an attachment (id=37181)
dmesg output (2.6.35rc5 kernel)
In freedesktop.org Bugzilla #22996, Jesse Barnes (jbarnes-virtuousgeek) wrote : | #73 |
Chris reminded me that we don't adjust DSPARB. If this really is a FIFO size problem, this patch may help. It steals all the plane C entries for use in plane B, so it might change things. Please give it a try and attach the debug=4 output again.
Thanks.
diff --git a/drivers/
index 9ddb7b5..f57f83e 100644
--- a/drivers/
+++ b/drivers/
@@ -1434,6 +1434,8 @@ static int i915_load_
+ I915_WRITE(DSPARB, (127 << 7) | (28));
+
ret = intel_fbdev_
if (ret)
In freedesktop.org Bugzilla #22996, Chris Wilson (ickle) wrote : | #74 |
The argument centers around:
[drm:intel_
[drm:intel_
[drm:i9xx_
[drm:i9xx_
[drm:intel_
[drm:intel_
[drm:intel_
[drm:intel_
[drm:i9xx_
[drm:i9xx_
What should be noted here is that by simply using the preset fifo sizes of 28, 31 we cannot accommodate the external display which requires 43 entires [43 >> 31].
As this is a 915 we should have 96 entries to play with, but the advice is not to modify the fifo sizes at runtime, so to test the hypothesis we can try setting the DSPARB to give the maximum bandwidth to external displays at init:
diff --git a/drivers/
index 9ddb7b5..edaae6c 100644
--- a/drivers/
+++ b/drivers/
@@ -1434,6 +1434,13 @@ static int i915_load_
+ /* XXX hack for bug 22996, preset the FIFO to accommodate a 2048 external display */
+ {
+ uint32_t size = I915_READ(DSPARB) & 0x7f;
+ size = (95 - size) << DSPARB_
+ I915_WRITE(DSPARB, size);
+ }
+
ret = intel_fbdev_
if (ret)
In freedesktop.org Bugzilla #22996, Chris Wilson (ickle) wrote : | #75 |
D'oh, missed Jesse replied! :)
In freedesktop.org Bugzilla #22996, Jesse Barnes (jbarnes-virtuousgeek) wrote : | #76 |
Have you had a chance to try one of the patches yet?
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #77 |
Okay, I managed to compile the kernel with the patch (I'm proud). I applied it (Chris') to the drm-intel branch of Eric Anholt.
The results are not that good though. The VGA display behaves exactly like before. Now, however, the internal laptop display goes blank at the same moment as the resolution normally changes. When I tried to compile the unpatched branch the problem was gone, so it really has to be due to this patch.
dmesg outputs obtained like above are attached (with and without the external display plugged in respectively).
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #78 |
Created an attachment (id=37354)
dmesg output (patched kernel, VGA unplugged)
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #79 |
Created an attachment (id=37355)
dmesg output (patched kernel, VGA attached)
In freedesktop.org Bugzilla #22996, Chris Wilson (ickle) wrote : | #80 |
(In reply to comment #64)
> Okay, I managed to compile the kernel with the patch (I'm proud). I applied it
> (Chris') to the drm-intel branch of Eric Anholt.
>
> The results are not that good though. The VGA display behaves exactly like
> before. Now, however, the internal laptop display goes blank at the same moment
> as the resolution normally changes. When I tried to compile the unpatched
> branch the problem was gone, so it really has to be due to this patch.
mea culpa.
Can you retry with size |= (95 - size) << DSPARB_
Sorry.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #81 |
Now the issue with the internal display is gone. Still no improvement on the VGA though. Note that it showed the same flickering with both the good and the bad patch (and without them). Attaching dmesg.out as always.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #82 |
Created an attachment (id=37356)
dmesg output (patched kernel, VGA attached)
In freedesktop.org Bugzilla #22996, Chris Wilson (ickle) wrote : | #83 |
Karl, humour me and put a printk("setting DSPARB to %x\n", size); in the hack as the patch kernel, VGA attached dmesg still only has:
[drm:i9xx_
[drm:i9xx_
which is what we trying to fix.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #84 |
Created an attachment (id=37357)
dmesg output (patched kernel, VGA attached)
In freedesktop.org Bugzilla #22996, Chris Wilson (ickle) wrote : | #85 |
Jesse was right, I am an idiot. Just re-read the description for DSPARB and it is the cumulative value and not the width for the pipe. So:
+ I915_WRITE(DSPARB, (127 << 7) | (I915_READ(DSPARB) & 0x7f));
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #86 |
Created an attachment (id=37359)
dmesg output (patch2, VGA attached)
Tried this, but there was no noticeable change. dmesg output attached (still with that printk statement).
In freedesktop.org Bugzilla #22996, Chris Wilson (ickle) wrote : | #87 |
Well at least we succeed in generating enough head room for the FIFO.
[drm:intel_
[drm:intel_
[drm:i9xx_
[drm:i9xx_
[drm:intel_
[drm:intel_
[drm:intel_
[drm:intel_
[drm:i9xx_
[drm:i9xx_
Hah, I wonder if we are now stressing the hardware too much in the other direction.
Tobias, one last test before we look elsewhere:
I915_WRITE(DSPARB, (50 << 7) | 28); /* give's up on all pretence of elegance */
In freedesktop.org Bugzilla #22996, Chris Wilson (ickle) wrote : | #88 |
idiot in charge of keyboard again, should be:
I915_WRITE(DSPARB, ((50 + 28) << 7) | 28)
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #89 |
Tried the suggested changes. Although the problem is still there, the flickering was somewhat different. I would say that the frequency is lower. To me it has always appeared as if the the problem was that the lines drawn are somewhat too long. It now seems like this difference is smaller. I'll upload a video so you can judge yourselves.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #90 |
Created an attachment (id=37362)
dmesg output (patch3, VGA attached)
In freedesktop.org Bugzilla #22996, Chris Wilson (ickle) wrote : | #91 |
Or maybe we are on the right track and underestimating the latency and thus the required FIFO size?
I915_WRITE(DSPARB, (95 << 7) | 28);
Worth a shot.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #92 |
Take a look here:
http://
I want to stress that the frequency is not higher than it appears to be on the
video. Compare against the old video:
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #93 |
Created an attachment (id=37365)
dmesg output (patch4, VGA attached)
Nope, now it went back to the higher frequency.
In freedesktop.org Bugzilla #22996, Chris Wilson (ickle) wrote : | #94 |
Ok, go back to the least broken DSPARB, and try setting various modes on the panel. Start with the lowest resolution and work up, and note when it breaks. I think that will tell us more about the limits we are trying to fix.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #95 |
Okay:
1920x1080 The slow flickering captured on the video
1600x1200 Fast flickering as before
1680x1050 Fast flickering as before
1280x1024 OK
1440x900 OK
1280x960 OK
1280x800 OK
1024x768 OK
800x600 OK
640x480 OK
In freedesktop.org Bugzilla #22996, Chris Wilson (ickle) wrote : | #96 |
Karl, please tell me you have the drm.debug log for that session? :-)
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #97 |
Created an attachment (id=37392)
dmesg output when trying out various resolutions (patch3, VGA attached)
Nope. But shell scripting saves the day once again. :)
Here you go. There are lines indicating where each mode was turned on. The screen was also active during the boot up and log in.
In freedesktop.org Bugzilla #22996, Chris Wilson (ickle) wrote : | #98 |
Next random patch, this will need to be applied in conjunction with increasing DSPARB:
diff --git a/drivers/
index 1edaa3f..962405b 100644
--- a/drivers/
+++ b/drivers/
@@ -2844,7 +2844,7 @@ static void pineview_
* A value of 5us seems to be a good balance; safe for very low end
* platforms but not overly aggressive on lower latency configs.
*/
-static const int latency_ns = 5000;
+static const int latency_ns = 9000;
static int i9xx_get_
{
Karl, as an aside what is your memory configuration? I presume DDR2 (since it is an 945GM). But what speed/latency? Jesse thinks there are some bits in the MCHBAR that can help us, but it will probably need a magic table as well.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #99 |
(In reply to comment #85)
> Next random patch, this will need to be applied in conjunction with increasing
> DSPARB:
>
> diff --git a/drivers/
> b/drivers/
> index 1edaa3f..962405b 100644
> --- a/drivers/
> +++ b/drivers/
> @@ -2844,7 +2844,7 @@ static void pineview_
> * A value of 5us seems to be a good balance; safe for very low end
> * platforms but not overly aggressive on lower latency configs.
> */
> -static const int latency_ns = 5000;
> +static const int latency_ns = 9000;
>
> static int i9xx_get_
> {
>
> Karl, as an aside what is your memory configuration? I presume DDR2 (since it
> is an 945GM). But what speed/latency? Jesse thinks there are some bits in the
> MCHBAR that can help us, but it will probably need a magic table as well.
I tried applying this on top of the old working one, but there were no observable difference.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #100 |
Created an attachment (id=37417)
dmesg output when trying out various resolutions ('patch3' & increased latency)
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #101 |
(In reply to comment #87)
> Created an attachment (id=37417) [details]
> dmesg output when trying out various resolutions ('patch3' & increased latency)
Have you had any new ideas regarding this?
In freedesktop.org Bugzilla #22996, Chris Wilson (ickle) wrote : | #102 |
I have a suspicion (that I'm currently working through) that our WM calculation is off by a factor of 10. That is I believe clock_in_khz is a misnomer as the clock is [elsewhere at least!] being passed around in 10 KHz units,
[cut-n-paste fail so manually typing]
intel_display.
change entries_required to be
entries_required = ((clock_in_khz / 1000) * pixel_size *latency_ns) / 10000;
That is change the final divide to be by ten thousand instead of one thousand.
In freedesktop.org Bugzilla #22996, Chris Wilson (ickle) wrote : | #103 |
Created an attachment (id=38008)
Change WM computation
The 10KHz clock was a red-herring. In the LVO dtd it is in 10KHz units, but we only ever use 1KHz for mode clocks.
Looking again at the watermark calculation, it feels backward. The goal is to compute the how many entries will be drained whilst we fetch from memory, not how many entries will be fetched. So the attached patch corrects that.
However, this is likely to be half the problem as we simply do not allocate sufficient FIFO memory to handle the resolution of the pipe (probably ;-). So you may need to try the DSPARB adjustments in conjunction with this patch. Please let me know how this works for you.
In freedesktop.org Bugzilla #22996, Chris Wilson (ickle) wrote : | #104 |
Dug out my 915GM and plugged it into my 1920x1080 panel => immediate flicker.
Applied patch, rebuilt world. It works.
\o/ Party!
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #105 |
Created an attachment (id=38083)
dmesg output, various resolutions, patch 38008
I cloned git://anongit.
By itself this patch did not solve the problem for me. The flickering is sort of the same, and it even introduced a new issue: from resolutions 1024x768 and upward the picture jumps sideways every other second (depends on the activity on the desktop, i.e. if I resize a window, it jumps frantically). This seems to be happening on my internal panel as well, regardless of whether the external is on or off.
Here is a dmesg dump similar to 37392.
I'll try it in conjunction with the other one that improved things.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #106 |
Observations:
1920x1080 Fast flickering
1600x1200 Fast flickering
1680x1050 Fast flickering
1280x1024 OK, but jumpy
1440x900 OK, but jumpy
1280x960 OK, but jumpy
1280x800 OK, but jumpy
1024x768 OK, but jumpy
800x600 OK
640x480 OK
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #107 |
Created an attachment (id=38084)
dmesg output, various resolutions, patch 38008 + DSPARB fix
Tried to add this again:
diff --git a/drivers/
index 2110ad8..7b96981 100644
--- a/drivers/
+++ b/drivers/
@@ -1438,6 +1438,8 @@ static int i915_load_
/* FIXME: do pre/post-mode set stuff in core KMS code */
+ I915_WRITE(DSPARB, ((50 + 28) << 7) | 28);
+
ret = intel_fbdev_
if (ret)
Results are:
* The flickering on 1920x1080 is slower again
* The jumpiness is gone on the external, now it only happens on the internal display, at the same modes as above.
The usual dmesg output attached.
In freedesktop.org Bugzilla #22996, Chris Wilson (ickle) wrote : | #108 |
I think we're winning! Aside from that you also suffer from the spurious TV detection, which drives the system nuts later on, I think we're underestimating the FIFO space required. Even the 50 for the external display is too little for 1680x1050 and up [as reported in dmesg].
Let's bump up the amount of memory allocated to each pipe:
I915_
and be more pessimistic in our latency:
diff --git a/drivers/
index a0a8457..d020823 100644
--- a/drivers/
+++ b/drivers/
@@ -2858,7 +2858,7 @@ static void pineview_
* A value of 5us seems to be a good balance; safe for very low end
* platforms but not overly aggressive on lower latency configs.
*/
-static const int latency_ns = 5000;
+static const int latency_ns = 7000;
static int i9xx_get_
{
Karl, do you have any clues as to what memory you have in your system? In our table of know configurations on PineView, latency ranges from 3300 (DDR2-400) to 6500 (DDR3-667). In constrast Ironlake latency is 700!
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #109 |
Now this is very interesting. At the moment I have access to a 22" display with maximum resolution 1680x1050. I tried plugging it in, and believe it or not, but it works using the standard 2.6.35.3 kernel! I don't know what this means, but it definitely seems weird that 1680x1050 works on one monitor but not on another.
Once I get home I'll try out the new edits (and check the memory configuration, need a screwdriver for that).
In freedesktop.org Bugzilla #22996, Chris Wilson (ickle) wrote : | #110 |
(In reply to comment #96)
> Now this is very interesting. At the moment I have access to a 22" display with
> maximum resolution 1680x1050. I tried plugging it in, and believe it or not,
> but it works using the standard 2.6.35.3 kernel! I don't know what this means,
> but it definitely seems weird that 1680x1050 works on one monitor but not on
> another.
Would be worth having a look at the differences in dmesg [and xrandr --verbose]. The critical factor in the calculations is the pixel clock [mode clock], it may just be that for one monitor due to hblank/vblank the pixel clock is much higher.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #111 |
Created an attachment (id=38100)
dmesg output, 22", 2.6.25.3, up to console login
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #112 |
Created an attachment (id=38101)
xrandr output, 22", 2.6.25.3
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #113 |
Created an attachment (id=38102)
dmesg output, 23", 2.6.25.3, up to console login
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #114 |
Created an attachment (id=38103)
xrandr output, 23", 2.6.25.3
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #115 |
(In reply to comment #95)
> Karl, do you have any clues as to what memory you have in your system? In our
> table of know configurations on PineView, latency ranges from 3300 (DDR2-400)
> to 6500 (DDR3-667). In constrast Ironlake latency is 700!
The RAM memory chip says PC2-5300 which I think means 667MHz, but dmidecode reports 533 MHz.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #116 |
(In reply to comment #95)
> Let's bump up the amount of memory allocated to each pipe:
>
> I915_WRITE(DSPARB, ((80 + 40) << 7) | 40);
>
> and be more pessimistic in our latency:
>
> diff --git a/drivers/
> ...
Tried this, applied to drm-testing (2450f47494ed63
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #117 |
Created an attachment (id=38104)
dmesg output, various resolutions, patch 38008, DSPARB fix #2, latency increase
Changed in xserver-xorg-video-intel: | |
importance: | Unknown → Medium |
Changed in xserver-xorg-video-intel: | |
importance: | Medium → Unknown |
In freedesktop.org Bugzilla #22996, Jesse Barnes (jbarnes-virtuousgeek) wrote : | #120 |
Looks like 16x10 on the 23" panel uses a higher dotclock; it's not a reduced blanking mode:
good:
1680x1050 (0x44) 119.0MHz +HSync -VSync *current +preferred
h: width 1680 start 1728 end 1760 total 1840 skew 0 clock 64.7KHz
v: height 1050 start 1053 end 1059 total 1080 clock 59.9Hz
bad:
1680x1050 (0xb6) 146.2MHz -HSync +VSync
h: width 1680 start 1784 end 1960 total 2240 skew 0 clock 65.3KHz
v: height 1050 start 1053 end 1059 total 1089 clock 60.0Hz
The 1920x1080 resolution on the 23" looks like it's reduced though:
1920x1080 (0xb4) 138.5MHz +HSync -VSync +preferred
h: width 1920 start 1968 end 2000 total 2080 skew 0 clock 66.6KHz
v: height 1080 start 1083 end 1088 total 1111 clock 59.9Hz
I wonder if the Windows driver squeezes the htotal/vtotal down even further though, reducing the pixel clock requirements a bit more...
If you want to run 16x10 on the 23", you could try adding a custom mode using the output of cvt -r 1680 1050, and using that in your config instead of the EDID provided mode.
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #121 |
(In reply to comment #105)
> If you want to run 16x10 on the 23", you could try adding a custom mode using
> the output of cvt -r 1680 1050, and using that in your config instead of the
> EDID provided mode.
Yes, that did work! The image was a little bit blurry, or should I say 'uncrisp', but no flickering at all.
In freedesktop.org Bugzilla #22996, Jesse Barnes (jbarnes-virtuousgeek) wrote : | #122 |
I assume it's just as blurry under Windows? Did you want to run the panel at 19x12 or is 16x10 what you were aiming for?
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #123 |
(In reply to comment #107)
> I assume it's just as blurry under Windows? Did you want to run the panel at
> 19x12 or is 16x10 what you were aiming for?
Right. The blurriness is there on windows too, and of course it's just aliasing effects from the supersampling. Anyways, it is the 1920x1080 I want to use since that is the native resolution of the display.
In freedesktop.org Bugzilla #22996, Jesse Barnes (jbarnes-virtuousgeek) wrote : | #124 |
Can you somehow get the timings of the modes used under Windows? And ideally a register dump of the MMIO region of the gfx device?
In freedesktop.org Bugzilla #22996, Karl Ljungkvist (k-ljungkvist) wrote : | #125 |
(In reply to comment #109)
> Can you somehow get the timings of the modes used under Windows? And ideally a
> register dump of the MMIO region of the gfx device?
Wow, that's a bit out of my field. Would you mind giving me some help on how I would go about doing that?
Changed in xserver-xorg-video-intel: | |
importance: | Unknown → Medium |
In freedesktop.org Bugzilla #22996, Jesse Barnes (jbarnes-virtuousgeek) wrote : | #126 |
Looks like a tool like http://
Laszlo_Lebrun (lazlo-lebrun) wrote : | #118 |
I have got following config: a notebook with GMA950 running Ubuntu 11.04 and an external monitor with 1920x1080 resolution connected over VGA.
With the previous version 10.10 I could run both screens flawlessly.
With Ubuntu 11.04 running dual screen produces a lot of artifacts, running on internal flat panel is OK.
Upon moving a window, the trail is not cleared; the background disapears, unity fails to return the dock.
The artifacts come with Gnome and Unity equally.
I suppose Compiz is the culprit...
Michel.Firholz (michel-firholz-vr-web) wrote : | #119 |
I can confirm: without effects GMA 950 runs perfectly two HD monitors. With Compiz, only one.
I just stay without Compiz... and in consequence without Unity.
In freedesktop.org Bugzilla #22996, Pde-u (pde-u) wrote : | #127 |
I have been suffering from blurry VGA output on my Thinkpad T410s under Debian. For me this occurs even at lower resolutions (800x600 @ 60 Hz, say). It is Extremely Frustrating. Is there anything I can do to help get a fix implemented?
In freedesktop.org Bugzilla #22996, Chris Wilson (ickle) wrote : | #128 |
Mass status change to NEEDINFO based on presence of NEEDINFO keyword. Please reopen if you can still reproduce the bug and are able to provide the information requested, thanks.
Changed in xserver-xorg-video-intel: | |
status: | Confirmed → Incomplete |
In freedesktop.org Bugzilla #22996, Chris Wilson (ickle) wrote : | #129 |
Timeout. Please do reopen if you can still reproduce the issue and help us diagnose the problem, thanks.
Changed in xserver-xorg-video-intel: | |
status: | Incomplete → Invalid |
Now using Ubuntu 9.04. Will try 9.10 alpha 2, I don't thing it's solved yet. This happened also in Fedora 11 I tried.