Summary: | [945GM FBC] FBC causes video playback underruns & display failure | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Martin Klein <martink2> | ||||||||||||||||||||||
Component: | Driver/intel | Assignee: | Jesse Barnes <jbarnes> | ||||||||||||||||||||||
Status: | RESOLVED DUPLICATE | QA Contact: | Xorg Project Team <xorg-team> | ||||||||||||||||||||||
Severity: | critical | ||||||||||||||||||||||||
Priority: | medium | Keywords: | NEEDINFO | ||||||||||||||||||||||
Version: | unspecified | ||||||||||||||||||||||||
Hardware: | x86 (IA32) | ||||||||||||||||||||||||
OS: | Linux (All) | ||||||||||||||||||||||||
Whiteboard: | |||||||||||||||||||||||||
i915 platform: | i915 features: | ||||||||||||||||||||||||
Attachments: |
|
Created attachment 20233 [details]
lspci Output
My xorg.conf : Section "Device" Identifier "Configured Video Device" Driver "intel" Option "Monitor-TMDS-1" "plasma" Option "ModeDebug" "yes" EndSection Section "Extensions" Option "AllowGLXWithComposite" "true" Option "Composite" "Enable" EndSection Section "Monitor" Identifier "plasma" EndSection Section "Monitor" Identifier "Configured Monitor" EndSection Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" Device "Configured Video Device" EndSection Section "ServerLayout" Identifier "Default Layout" Screen "Default Screen" EndSection Some more Infos: I tried to connect the Screen via VGA cable but it did not Change anything, the screen goes Blank also when playing video. I updated my Kernel to 2.6.28-rc4 and got a new effect: now the screen is flickering very badly when X is running, it gets better when the video starts but does not disapear completely(the flickering) but the black screen remains. And I found another way of getting the screen back: Switching from console to X does not help but putting the maschine in Suspend-To-Ram and waking gives me the screen back. Which xv port do you use for mplayer? xvinfo will give you the available list. Could you try if this problem is with 'overlay' port or does it exist for 'textured video' as well? I tried both but I think I found the solution for me. When I set Framebuffercompresssion off the Problem disappears. So maybe something in the framebuffer code is broken. Hm, sounds like we're not setting DSPARB up correctly for your configuration. More than that, we shouldn't be enabling FBC at all if both pipes are active (do you have both your local panel and an external DVI connected?) I use an EEE-Box b202 not the eee-pc nettop so it does not have an internal panel it only has an dvi out which is active. One thing I observed is: The video works fine now but a few times an hour the display drops black for half a second then comes back again. Hoping to be of Help martin Created attachment 21732 [details] [review] allocate video overlay FIFO entries Can you give this patch a try? It should allow you to keep framebuffer compression enabled (which saves power) and still watch videos w/o flicker. Thank you for the patch but unfortuntely the situation did not change. with compression enabled the screen goes black after a random interval between 5 and 200 minutes but the flickering is gone. without frambuffer compression the screen flickers (drops black for about a second then comes back) the only thing that changed is: with the patch i can recover the screen by putting the pc to sleep (suspend to ram) and waking it up again. without the patch i had to reboot the machine. Created attachment 22319 [details] [review] set conservative FIFO watermark values Ok, so the patch is helping a little in that your display doesn't become totally hosed and that you don't see flicker, but you still eventually end up with a blank display. I wonder if the FIFO watermark values are also too aggressive on your platform. Can you try this patch and also attach the output of intel_reg_dumper? Oh and please attach the intel_reg_dumper output from a fresh boot before starting the patched driver. Thanks. ping for response....Martin @Martin Klein: If you test the patch as well, you should replace + uint32_t watermark = (3 << 8) | 0x3f; with + uint32_t watermark = (3 << 8) | 1; This patch already has been tested quite extensively in bug 19304, and 0x3f totally breaks it (and was a typo, according to Jesse Barnes). Sorry for the long delay I have applied your new patch with the same results. Screen blank but working after standby/resume. attached are the regdumper outputs. thank you so far Martin Created attachment 23215 [details]
after reboot without x
Created attachment 23216 [details]
after reboot with x
Created attachment 23217 [details]
after reboot without x
Martin, can you try removing the lines that do OUTREG(DSPARB..)? With my last patch applied that should just leave you with FW writes, and will tell us if the DSPARB writes are the root cause of your problem. Created attachment 24061 [details] [review] set proper watermark values How about this patch? It tries to set "proper" watermark values, and hopefully will allow you to use fbc again... Hi, I have tried your last patch, but it wouldn't apply cleanly. I tried a clean 2.5.0 download. unfortunately i cannot build the new 2.6.0 on my system yet could you provide a patch against 2.5.0 ? thanks Martin ...can you try removing the lines that do OUTREG(DSPARB..)? ... Yes I did that unfortunately no changes at all. Created attachment 24376 [details] [review] patch against 2.5.0 This one's not well tested, but it's against 2.5.0 so should be easier for you to apply. With This patch I only get a very unstable picture like vsync is gone on a vga connection ... Can you attach your X log? Ok I tried your patch i830-fifo-wm-only-5.patch against the 2.5.99.2 driver and get the flickering and after a short time the display goes solid grey yorg log attached .. Created attachment 24565 [details]
xorg log 2.5.99.2 patch-5
I fixed some of the calculations in the last patch and added back some debugging code, can you give it a try? https://bugs.freedesktop.org/attachment.cgi?id=24651 sorry no changes still flickering... relevant xorg.log: (II) intel(0): EDID vendor "SAM", prod id 233 (II) intel(0): FIFO entries - A: 5, B: 0 (II) intel(0): FIFO size - A: 28, B: 59 (II) intel(0): Setting FIFO watermarks - A: 21, B: 1, C: 2, SR 68 (EE) intel(0): First SDVOB output reported failure to sync (EE) intel(0): underrun on pipe A! (EE) intel(0): underrun on pipe A! (EE) intel(0): underrun on pipe A! (EE) intel(0): underrun on pipe A! Hm that pipe A watermark looks way off... What's the modeline for the mode on pipe A? (II) intel(0): Modeline "848x480"x0.0 31.50 848 872 952 1056 480 483 488 500 -hsync +vsync (29.8 kHz) commit 7662c8bd6545c12ac7b2b39e4554c3ba34789c50 Author: Shaohua Li <shaohua.li@intel.com> Date: Fri Jun 26 11:23:55 2009 +0800 drm/i915: add FIFO watermark support just got pushed to the kernel. Can you try with a recent stack using KMS? Duping to the main FIFO programming bug. *** This bug has been marked as a duplicate of bug 19304 *** |
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.
Created attachment 20232 [details] Xorg Logfile Bug description: When Playing Video with XBMC or mplayer the connected DVI Monitor goes Blank. The System ist still responsive the video is still playing (I can hear the sound and stop the video via keyboard). I can switch to Console and Back without change. Even restarting the X server does not help. The Console still shows a picture but only a reboot makes X usable again. I tried a lot of settings in xorg.conf xaa/exa, xv-textured/xv-overlay nothing seems to help. I switched Displays too. System environment: -- chipset: i945GME -- system architecture: 32-bit -- xf86-video-intel: Git Clone from 11.11.2008 -- xserver: 7.4~5ubuntu3 / 1.5.2-2ubuntu3 -- mesa: 7.2-1ubuntu2 -- drm: libdrm2 2.3.1+git+20081002-1 -- kernel: 2.6.27-7-generic -- Linux distribution: Ubuntu 8.10 -- Machine or mobo model: ASUS Eee Box b202 -- Display connector: DVI -- Display : Samsung 42" Reproducing steps: Play Video and wait for 1 to 20 Minutes. Additional info: I tried fresh Installs of Ubuntu 8.04 (driver 2.2) and Ubuntu 8.10 (driver 2.4) and I compiled the latest git all with the same Result Screen goes Black( sometimes Blue or White). On The Stock Ubuntu 8.10 driver I got the Folowing: (EE) intel(0): First SDVOB output reported failure to sync (EE) intel(0): underrun on pipe A! (<- Repeated a lot as soon as screen goes blank) Complete Log from latest git / lspci is attached