Bug 18651 - [945GM FBC] FBC causes underruns & flicker
[945GM FBC] FBC causes underruns & flicker
Status: RESOLVED DUPLICATE of bug 19304
Product: xorg
Classification: Unclassified
Component: Driver/intel
7.4 (2008.09)
x86-64 (AMD64) Linux (All)
: high major
Assigned To: Jesse Barnes
Xorg Project Team
: NEEDINFO
Depends on:
Blocks: 18858 20276
  Show dependency treegraph
 
Reported: 2008-11-21 06:03 UTC by Adam Jones
Modified: 2009-03-31 14:40 UTC (History)
10 users (show)

See Also:


Attachments
don't modify dsparb (488 bytes, patch)
2008-11-25 17:32 UTC, Jesse Barnes
no flags Details | Splinter Review
Xorg logfile with ModeDebug=1 (100.23 KB, text/plain)
2008-12-19 15:51 UTC, Adam Jones
no flags Details
update 945 fifo entry count (1.75 KB, patch)
2009-01-06 13:29 UTC, Jesse Barnes
no flags Details | Splinter Review
lspci -vvv of asus eeeBox (20.40 KB, text/plain)
2009-02-22 09:37 UTC, Alexander Krause
no flags Details
set watermarks based on mode calculation (7.22 KB, patch)
2009-03-19 16:57 UTC, Jesse Barnes
no flags Details | Splinter Review
registers with patch applied (7.76 KB, text/plain)
2009-03-20 02:35 UTC, Martin Pitt
no flags Details
x.org log with patch applied (150.85 KB, text/x-log)
2009-03-20 02:35 UTC, Martin Pitt
no flags Details
Updated watermark calculations (7.67 KB, patch)
2009-03-30 13:23 UTC, Jesse Barnes
no flags Details | Splinter Review
registers with version 5 of the patch, working perfectly (7.75 KB, text/plain)
2009-03-31 01:25 UTC, Martin Pitt
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Jones 2008-11-21 06:03:39 UTC
Using the intel driver version 2.5.0 and 2.5.1 with EXA acceleration on Linux/x86_64 results in intermittent screen flicker every few seconds and a report of "(EE) intel(0): underrun on pipe B!" in the XOrg log.  2.4.x driver revisions appear to work fine and do not exhibit this issue.  Hardware is a Dell XPS M1210 with Intel 945GM graphics.

The full X log is as follows:

X.Org X Server 1.5.2
Release Date: 10 October 2008
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.27 x86_64 
Current Operating System: Linux cassiel 2.6.27 #1 SMP PREEMPT Mon Oct 13 18:04:34 BST 2008 x86_64
Build Date: 15 October 2008  06:41:35AM
 
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Fri Nov 21 13:03:11 2008
(==) Using config file: "/etc/X11/xorg.conf"
(**) Option "defaultserverlayout" "Layout"
(**) ServerLayout "Layout"
(**) |-->Screen "LFPScreen" (0)
(**) |   |-->Monitor "LCD"
(**) |   |-->Device "LFPDev"
(**) Option "OffTime" "5"
(==) Automatically adding devices
(==) Automatically enabling devices
(WW) The directory "/usr/share/fonts/local/" does not exist.
	Entry deleted from font path.
(==) Including the default font path /usr/share/fonts/misc/,/usr/share/fonts/TTF/,/usr/share/fonts/OTF,/usr/share/fonts/Type1/,/usr/share/fonts/100dpi/,/usr/share/fonts/75dpi/.
(**) FontPath set to:
	/usr/share/fonts/misc/,
	/usr/share/fonts/75dpi/:unscaled,
	/usr/share/fonts/100dpi/:unscaled,
	/usr/share/fonts/Type1/,
	/usr/share/fonts/Speedo/,
	/usr/share/fonts/75dpi/,
	/usr/share/fonts/100dpi/,
	/usr/share/fonts/TTF/,
	/usr/share/fonts/freefonts/,
	/usr/share/fonts/corefonts/,
	/usr/share/fonts/cheapskatefonts/,
	/usr/share/fonts/unifont/,
	/usr/local/share/fonts/,
	/usr/share/fonts/misc/,
	/usr/share/fonts/TTF/,
	/usr/share/fonts/OTF,
	/usr/share/fonts/Type1/,
	/usr/share/fonts/100dpi/,
	/usr/share/fonts/75dpi/
(==) ModulePath set to "/usr/lib64/xorg/modules"
(**) Extension "RENDER" is enabled
(**) Extension "Composite" is enabled
(II) Cannot locate a core pointer device.
(II) Cannot locate a core keyboard device.
(II) The server relies on HAL to provide the list of input devices.
	If no devices become available, reconfigure HAL or disable AllowEmptyInput.
(II) Open ACPI successful (/var/run/acpid.socket)
(II) Loader magic: 0x7ad000
(II) Module ABI versions:
	X.Org ANSI C Emulation: 0.4
	X.Org Video Driver: 4.1
	X.Org XInput driver : 2.1
	X.Org Server Extension : 1.1
	X.Org Font Renderer : 0.6
(II) Loader running on linux
(++) using VT number 8

(--) PCI:*(0@0:2:0) Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller rev 3, Mem @ 0xeff00000/524288, 0xd0000000/268435456, 0xefec0000/262144, I/O @ 0x0000eff8/8
(--) PCI: (0@0:2:1) Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller rev 3, Mem @ 0xeff80000/524288
(II) System resource ranges:
	[0] -1	0	0xffffffff - 0xffffffff (0x1) MX[B]
	[1] -1	0	0x000f0000 - 0x000fffff (0x10000) MX[B]
	[2] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
	[3] -1	0	0x00000000 - 0x0009ffff (0xa0000) MX[B]
	[4] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
	[5] -1	0	0x00000000 - 0x00000000 (0x1) IX[B]
(II) "extmod" will be loaded. This was enabled by default and also specified in the config file.
(II) "dbe" will be loaded. This was enabled by default and also specified in the config file.
(II) "glx" will be loaded. This was enabled by default and also specified in the config file.
(II) "freetype" will be loaded. This was enabled by default and also specified in the config file.
(II) "record" will be loaded by default.
(II) "dri" will be loaded. This was enabled by default and also specified in the config file.
(II) LoadModule: "dbe"

(II) Loading /usr/lib64/xorg/modules/extensions//libdbe.so
(II) Module dbe: vendor="X.Org Foundation"
	compiled for 1.5.2, module version = 1.0.0
	Module class: X.Org Server Extension
	ABI class: X.Org Server Extension, version 1.1
(II) Loading extension DOUBLE-BUFFER
(II) LoadModule: "extmod"

(II) Loading /usr/lib64/xorg/modules/extensions//libextmod.so
(II) Module extmod: vendor="X.Org Foundation"
	compiled for 1.5.2, module version = 1.0.0
	Module class: X.Org Server Extension
	ABI class: X.Org Server Extension, version 1.1
(II) Loading extension SHAPE
(II) Loading extension MIT-SUNDRY-NONSTANDARD
(II) Loading extension BIG-REQUESTS
(II) Loading extension SYNC
(II) Loading extension MIT-SCREEN-SAVER
(II) Loading extension XC-MISC
(II) Loading extension XFree86-VidModeExtension
(II) Loading extension XFree86-Misc
(II) Loading extension XFree86-DGA
(II) Loading extension DPMS
(II) Loading extension TOG-CUP
(II) Loading extension Extended-Visual-Information
(II) Loading extension XVideo
(II) Loading extension XVideo-MotionCompensation
(II) Loading extension X-Resource
(II) LoadModule: "freetype"

(II) Loading /usr/lib64/xorg/modules/fonts//libfreetype.so
(II) Module freetype: vendor="X.Org Foundation & the After X-TT Project"
	compiled for 1.5.2, module version = 2.1.0
	Module class: X.Org Font Renderer
	ABI class: X.Org Font Renderer, version 0.6
(II) Loading font FreeType
(II) LoadModule: "glx"

(II) Loading /usr/lib64/xorg/modules/extensions//libglx.so
(II) Module glx: vendor="X.Org Foundation"
	compiled for 1.5.2, module version = 1.0.0
	ABI class: X.Org Server Extension, version 1.1
(==) AIGLX enabled
(==) Exporting typical set of GLX visuals
(II) Loading extension GLX
(II) LoadModule: "dri"

(II) Loading /usr/lib64/xorg/modules/extensions//libdri.so
(II) Module dri: vendor="X.Org Foundation"
	compiled for 1.5.2, module version = 1.0.0
	ABI class: X.Org Server Extension, version 1.1
(II) Loading extension XFree86-DRI
(II) LoadModule: "record"

(II) Loading /usr/lib64/xorg/modules/extensions//librecord.so
(II) Module record: vendor="X.Org Foundation"
	compiled for 1.5.2, module version = 1.13.0
	Module class: X.Org Server Extension
	ABI class: X.Org Server Extension, version 1.1
(II) Loading extension RECORD
(II) LoadModule: "intel"

(II) Loading /usr/lib64/xorg/modules/drivers//intel_drv.so
(II) Module intel: vendor="X.Org Foundation"
	compiled for 1.5.2, module version = 2.5.1
	Module class: X.Org Video Driver
	ABI class: X.Org Video Driver, version 4.1
(II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
	i810-dc100, i810e, i815, i830M, 845G, 852GM/855GM, 865G, 915G,
	E7221 (i915), 915GM, 945G, 945GM, 945GME, 965G, G35, 965Q, 946GZ,
	965GM, 965GME/GLE, G33, Q35, Q33,
	Mobile Intel® GM45 Express Chipset,
	Intel Integrated Graphics Device, G45/G43, Q45/Q43, G41
(II) Primary Device is: PCI 00@00:02:0
(II) resource ranges after xf86ClaimFixedResources() call:
	[0] -1	0	0xffffffff - 0xffffffff (0x1) MX[B]
	[1] -1	0	0x000f0000 - 0x000fffff (0x10000) MX[B]
	[2] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
	[3] -1	0	0x00000000 - 0x0009ffff (0xa0000) MX[B]
	[4] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
	[5] -1	0	0x00000000 - 0x00000000 (0x1) IX[B]
(II) resource ranges after probing:
	[0] -1	0	0xffffffff - 0xffffffff (0x1) MX[B]
	[1] -1	0	0x000f0000 - 0x000fffff (0x10000) MX[B]
	[2] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
	[3] -1	0	0x00000000 - 0x0009ffff (0xa0000) MX[B]
	[4] 0	0	0x000a0000 - 0x000affff (0x10000) MS[B]
	[5] 0	0	0x000b0000 - 0x000b7fff (0x8000) MS[B]
	[6] 0	0	0x000b8000 - 0x000bffff (0x8000) MS[B]
	[7] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
	[8] -1	0	0x00000000 - 0x00000000 (0x1) IX[B]
	[9] 0	0	0x000003b0 - 0x000003bb (0xc) IS[B]
	[10] 0	0	0x000003c0 - 0x000003df (0x20) IS[B]
(II) Loading sub module "vgahw"
(II) LoadModule: "vgahw"

(II) Loading /usr/lib64/xorg/modules//libvgahw.so
(II) Module vgahw: vendor="X.Org Foundation"
	compiled for 1.5.2, module version = 0.1.0
	ABI class: X.Org Video Driver, version 4.1
(**) intel(0): Depth 24, (--) framebuffer bpp 32
(==) intel(0): RGB weight 888
(==) intel(0): Default visual is TrueColor
(**) intel(0): Option "AccelMethod" "EXA"
(**) intel(0): Option "PageFlip" "true"
(**) intel(0): Option "XVideo" "true"
(**) intel(0): Option "TripleBuffer" "true"
(**) intel(0): Option "XvMC" "true"
(II) intel(0): Integrated Graphics Chipset: Intel(R) 945GM
(--) intel(0): Chipset: "945GM"
(--) intel(0): Linear framebuffer at 0xD0000000
(--) intel(0): IO registers at addr 0xEFF00000
(WW) intel(0): libpciaccess reported 0 rom size, guessing 64kB
(**) intel(0): Using EXA for acceleration
(II) intel(0): 2 display pipes available.
(II) Loading sub module "ddc"
(II) LoadModule: "ddc"
(II) Module "ddc" already built-in
(II) Loading sub module "i2c"
(II) LoadModule: "i2c"
(II) Module "i2c" already built-in
(II) intel(0): Output VGA using monitor section LCD
(**) intel(0): Option "PreferredMode" "1280x800"
(II) intel(0): Output LVDS using monitor section LCD
(II) intel(0): I2C bus "LVDSDDC_C" initialized.
(II) intel(0): Attempting to determine panel fixed mode.
(II) intel(0): I2C device "LVDSDDC_C:ddc2" registered at address 0xA0.
(II) intel(0): EDID vendor "AUO", prod id 12820
(II) intel(0): found backlight control method /sys/class/backlight/acpi_video1
(II) intel(0): Output TV has no monitor section
(II) intel(0): EDID vendor "AUO", prod id 12820
(II) intel(0): Output VGA disconnected
(II) intel(0): Output LVDS connected
(II) intel(0): Output TV disconnected
(II) intel(0): Using user preference for initial modes
(II) intel(0): Output LVDS using initial mode 1280x800
(II) intel(0): Monitoring connected displays enabled
(II) intel(0): detected 256 kB GTT.
(II) intel(0): detected 7932 kB stolen memory.
(==) intel(0): video overlay key set to 0x101fe
(**) intel(0): Intel XvMC decoder enabled
(**) intel(0): Will try to enable page flipping
(**) intel(0): Triple buffering enabled
(==) intel(0): Using gamma correction (1.0, 1.0, 1.0)
(==) intel(0): DPI set to (96, 96)
(II) Loading sub module "fb"
(II) LoadModule: "fb"

(II) Loading /usr/lib64/xorg/modules//libfb.so
(II) Module fb: vendor="X.Org Foundation"
	compiled for 1.5.2, module version = 1.0.0
	ABI class: X.Org ANSI C Emulation, version 0.4
(II) Loading sub module "exa"
(II) LoadModule: "exa"

(II) Loading /usr/lib64/xorg/modules//libexa.so
(II) Module exa: vendor="X.Org Foundation"
	compiled for 1.5.2, module version = 2.4.0
	ABI class: X.Org Video Driver, version 4.1
(II) Loading sub module "ramdac"
(II) LoadModule: "ramdac"
(II) Module "ramdac" already built-in
(II) intel(0): Comparing regs from server start up to After PreInit
(WW) intel(0): Register 0x61200 (PP_STATUS) changed from 0xc0000008 to 0xd000000a
(WW) intel(0): PP_STATUS before: on, ready, sequencing idle
(WW) intel(0): PP_STATUS after: on, ready, sequencing on
(WW) intel(0): Register 0x61114 (PORT_HOTPLUG_STAT) changed from 0x00000000 to 0x00000400
(WW) intel(0): Register 0x68000 (TV_CTL) changed from 0x00000000 to 0x000c0000
(WW) intel(0): Register 0x68004 (TV_DAC) changed from 0x00000000 to 0x70000000
(WW) intel(0): Register 0x68010 (TV_CSC_Y) changed from 0x00000000 to 0x0332012d
(WW) intel(0): Register 0x68014 (TV_CSC_Y2) changed from 0x00000000 to 0x07d30104
(WW) intel(0): Register 0x68018 (TV_CSC_U) changed from 0x00000000 to 0x0733052d
(WW) intel(0): Register 0x6801c (TV_CSC_U2) changed from 0x00000000 to 0x05c70200
(WW) intel(0): Register 0x68020 (TV_CSC_V) changed from 0x00000000 to 0x0340030c
(WW) intel(0): Register 0x68024 (TV_CSC_V2) changed from 0x00000000 to 0x06d00200
(WW) intel(0): Register 0x68028 (TV_CLR_KNOBS) changed from 0x00000000 to 0x00404000
(WW) intel(0): Register 0x6802c (TV_CLR_LEVEL) changed from 0x00000000 to 0x010b00e1
(WW) intel(0): Register 0x68030 (TV_H_CTL_1) changed from 0x00000000 to 0x00400359
(WW) intel(0): Register 0x68034 (TV_H_CTL_2) changed from 0x00000000 to 0x80480022
(WW) intel(0): Register 0x68038 (TV_H_CTL_3) changed from 0x00000000 to 0x007c0344
(WW) intel(0): Register 0x6803c (TV_V_CTL_1) changed from 0x00000000 to 0x00f01415
(WW) intel(0): Register 0x68040 (TV_V_CTL_2) changed from 0x00000000 to 0x00060607
(WW) intel(0): Register 0x68044 (TV_V_CTL_3) changed from 0x00000000 to 0x80120001
(WW) intel(0): Register 0x68048 (TV_V_CTL_4) changed from 0x00000000 to 0x000900f0
(WW) intel(0): Register 0x6804c (TV_V_CTL_5) changed from 0x00000000 to 0x000a00f0
(WW) intel(0): Register 0x68050 (TV_V_CTL_6) changed from 0x00000000 to 0x000900f0
(WW) intel(0): Register 0x68054 (TV_V_CTL_7) changed from 0x00000000 to 0x000a00f0
(WW) intel(0): Register 0x68060 (TV_SC_CTL_1) changed from 0x00000000 to 0xc1710088
(WW) intel(0): Register 0x68064 (TV_SC_CTL_2) changed from 0x00000000 to 0x4e2d1dc8
(WW) intel(0): Register 0x68070 (TV_WIN_POS) changed from 0x00000000 to 0x00360024
(WW) intel(0): Register 0x68074 (TV_WIN_SIZE) changed from 0x00000000 to 0x02640198
(WW) intel(0): Register 0x68080 (TV_FILTER_CTL_1) changed from 0x00000000 to 0x800010bb
(WW) intel(0): Register 0x68084 (TV_FILTER_CTL_2) changed from 0x00000000 to 0x00028283
(WW) intel(0): Register 0x68088 (TV_FILTER_CTL_3) changed from 0x00000000 to 0x00014141
(WW) intel(0): Register 0x68100 (TV_H_LUMA_0) changed from 0x00000000 to 0xb1403000
(WW) intel(0): Register 0x681ec (TV_H_LUMA_59) changed from 0x00000000 to 0x0000b060
(WW) intel(0): Register 0x68200 (TV_H_CHROMA_0) changed from 0x00000000 to 0xb1403000
(WW) intel(0): Register 0x682ec (TV_H_CHROMA_59) changed from 0x00000000 to 0x0000b060
(==) Depth 24 pixmap format is 32 bpp
(II) do I need RAC?  No, I don't.
(II) resource ranges after preInit:
	[0] -1	0	0xffffffff - 0xffffffff (0x1) MX[B]
	[1] -1	0	0x000f0000 - 0x000fffff (0x10000) MX[B]
	[2] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
	[3] -1	0	0x00000000 - 0x0009ffff (0xa0000) MX[B]
	[4] 0	0	0x000a0000 - 0x000affff (0x10000) MS[B](OprD)
	[5] 0	0	0x000b0000 - 0x000b7fff (0x8000) MS[B](OprD)
	[6] 0	0	0x000b8000 - 0x000bffff (0x8000) MS[B](OprD)
	[7] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
	[8] -1	0	0x00000000 - 0x00000000 (0x1) IX[B]
	[9] 0	0	0x000003b0 - 0x000003bb (0xc) IS[B](OprU)
	[10] 0	0	0x000003c0 - 0x000003df (0x20) IS[B](OprU)
(II) intel(0): Kernel reported 488960 total, 1 used
(II) intel(0): I830CheckAvailableMemory: 1955836 kB available
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 11, (OK)
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 11, (OK)
drmOpenByBusid: Searching for BusID pci:0000:00:02.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 11, (OK)
drmOpenByBusid: drmOpenMinor returns 11
drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0
(II) [drm] DRM interface version 1.3
(II) [drm] DRM open master succeeded.
(II) intel(0): [drm] Using the DRM lock SAREA also for drawables.
(II) intel(0): [drm] framebuffer mapped by ddx driver
(II) intel(0): [drm] added 1 reserved context for kernel
(II) intel(0): X context handle = 0x1
(II) intel(0): [drm] installed DRM signal handler
(WW) intel(0): DRM version 1.9 or newer required for Page flipping. Disabling.
(**) intel(0): Framebuffer compression enabled
(**) intel(0): Tiling enabled
(==) intel(0): VideoRam: 262144 KB
(II) intel(0): Attempting memory allocation with tiled buffers.
(II) intel(0): Tiled allocation successful.
(II) intel(0): [drm] Registers = 0xeff00000
(II) intel(0): [drm] ring buffer = 0xd0000000
(EE) intel(0): I830 Dma Initialization Failed
(II) intel(0): [drm] removed 1 reserved context for kernel
(II) intel(0): [drm] unmapping 8192 bytes of SAREA 0x2efff000 at 0x7fc790a9e000
(II) intel(0): [drm] Closed DRM master.
(II) intel(0): adjusting plane->pipe mappings to allow for framebuffer compression
(II) intel(0): Page Flipping disabled
(II) intel(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000
(II) EXA(0): Offscreen pixmap area of 50331648 bytes
(II) EXA(0): Driver registered support for the following operations:
(II)         Solid
(II)         Copy
(II)         Composite (RENDER acceleration)
(==) intel(0): Backing store disabled
(==) intel(0): Silken mouse enabled
(II) intel(0): Initializing HW Cursor
(II) intel(0): xf86BindGARTMemory: bind key 0 at 0x01000000 (pgoffset 4096)
(II) intel(0): xf86BindGARTMemory: bind key 1 at 0x02000000 (pgoffset 8192)
(II) intel(0): Fixed memory allocation layout:
(II) intel(0): 0x00000000-0x0001ffff: ring buffer (128 kB)
(II) intel(0): 0x00020000-0x0061ffff: compressed frame buffer (6144 kB, 0x000000007f820000 physical
)
(II) intel(0): 0x00620000-0x00620fff: compressed ll buffer (4 kB, 0x000000007fe20000 physical
)
(II) intel(0): 0x00621000-0x0062afff: HW cursors (40 kB, 0x000000007fe21000 physical
)
(II) intel(0): 0x0062b000-0x00632fff: logical 3D context (32 kB)
(II) intel(0): 0x00633000-0x00732fff: fake bufmgr (1024 kB)
(II) intel(0): 0x00733000-0x00733fff: overlay registers (4 kB, 0x000000007ff33000 physical
)
(II) intel(0): 0x007bf000:            end of stolen memory
(II) intel(0): 0x01000000-0x01ffffff: front buffer (16384 kB) X tiled
(II) intel(0): 0x02000000-0x04ffffff: exa offscreen (49152 kB)
(II) intel(0): 0x10000000:            end of aperture
(II) intel(0): using SSC reference clock of 96 MHz
(II) intel(0): Selecting standard 18 bit TMDS pixel format.
(II) intel(0): Output configuration:
(II) intel(0):   Pipe A is off
(II) intel(0):   Display plane B is now disabled and connected to pipe A.
(II) intel(0):   Pipe B is on
(II) intel(0):   Display plane A is now enabled and connected to pipe B.
(II) intel(0):   Output VGA is connected to pipe none
(II) intel(0):   Output LVDS is connected to pipe B
(II) intel(0):   Output TV is connected to pipe none
(II) intel(0): RandR 1.2 enabled, ignore the following RandR disabled message.
(**) Option "dpms"
(**) intel(0): DPMS enabled
(II) intel(0): Set up textured video
(II) intel(0): Set up overlay video
(EE) intel(0): [drm] drmAddMap(batchbuffer_handle) failed!
(WW) intel(0): [XvMC] fail to init batch buffer
XvMC driver initialize failed.
(II) intel(0): direct rendering: Failed
(WW) intel(0): Option "PreferredMode" is not used
(--) RandR disabled
(II) Initializing built-in extension MIT-SHM
(II) Initializing built-in extension XInputExtension
(II) Initializing built-in extension XTEST
(II) Initializing built-in extension XKEYBOARD
(II) Initializing built-in extension XINERAMA
(II) Initializing built-in extension XFIXES
(II) Initializing built-in extension RENDER
(II) Initializing built-in extension RANDR
(II) Initializing built-in extension COMPOSITE
(II) Initializing built-in extension DAMAGE
(II) Initializing built-in extension XEVIE
(II) AIGLX: Screen 0 is not DRI capable
(II) AIGLX: Loaded and initialized /usr/lib64/dri/swrast_dri.so
(II) GLX: Initialized DRISWRAST GL provider for screen 0
(II) intel(0): Setting screen physical size to 261 x 163
(II) config/hal: Adding input device SynPS/2 Synaptics TouchPad
(II) LoadModule: "synaptics"

(II) Loading /usr/lib64/xorg/modules/input//synaptics_drv.so
(II) Module synaptics: vendor="X.Org Foundation"
	compiled for 1.5.2, module version = 0.99.1
	Module class: X.Org XInput Driver
	ABI class: X.Org XInput driver, version 2.1
(II) Synaptics touchpad driver version 0.99.1
(**) Option "Device" "/dev/input/event8"
(II) SynPS/2 Synaptics TouchPad: x-axis range 1472 - 5472
(II) SynPS/2 Synaptics TouchPad: y-axis range 1408 - 4448
(II) SynPS/2 Synaptics TouchPad: pressure range 0 - 255
(II) SynPS/2 Synaptics TouchPad: finger width range 0 - 0
(II) SynPS/2 Synaptics TouchPad: buttons: left right middle double triple
(**) Option "SHMConfig" "yes"
(**) Option "MaxTapMove" "220"
(**) Option "CornerCoasting" "yes"
(**) Option "VertTwoFingerScroll" "yes"
(**) Option "HorizTwoFingerScroll" "yes"
(**) Option "TapButton1" "1"
(**) Option "PalmDetect" "yes"
(--) SynPS/2 Synaptics TouchPad touchpad found
(**) SynPS/2 Synaptics TouchPad: always reports core events
(II) XINPUT: Adding extended input device "SynPS/2 Synaptics TouchPad" (type: TOUCHPAD)
(--) SynPS/2 Synaptics TouchPad touchpad found
(II) config/hal: Adding input device AT Translated Set 2 keyboard
(II) LoadModule: "evdev"

(II) Loading /usr/lib64/xorg/modules/input//evdev_drv.so
(II) Module evdev: vendor="X.Org Foundation"
	compiled for 1.5.2, module version = 2.0.7
	Module class: X.Org XInput Driver
	ABI class: X.Org XInput driver, version 2.1
(**) AT Translated Set 2 keyboard: always reports core events
(**) AT Translated Set 2 keyboard: Device: "/dev/input/event0"
(II) AT Translated Set 2 keyboard: Found keys
(II) AT Translated Set 2 keyboard: Configuring as keyboard
(II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD)
(**) Option "xkb_rules" "xorg"
(**) AT Translated Set 2 keyboard: xkb_rules: "xorg"
(**) Option "xkb_model" "evdev"
(**) AT Translated Set 2 keyboard: xkb_model: "evdev"
(**) Option "xkb_layout" "gb"
(**) AT Translated Set 2 keyboard: xkb_layout: "gb"
(II) config/hal: Adding input device Video Bus
(**) Video Bus: always reports core events
(**) Video Bus: Device: "/dev/input/event6"
(II) Video Bus: Found keys
(II) Video Bus: Configuring as keyboard
(II) XINPUT: Adding extended input device "Video Bus" (type: KEYBOARD)
(**) Option "xkb_rules" "xorg"
(**) Video Bus: xkb_rules: "xorg"
(**) Option "xkb_model" "evdev"
(**) Video Bus: xkb_model: "evdev"
(**) Option "xkb_layout" "gb"
(**) Video Bus: xkb_layout: "gb"
(II) config/hal: Adding input device Video Bus
(**) Video Bus: always reports core events
(**) Video Bus: Device: "/dev/input/event5"
(II) Video Bus: Found keys
(II) Video Bus: Configuring as keyboard
(II) XINPUT: Adding extended input device "Video Bus" (type: KEYBOARD)
(**) Option "xkb_rules" "xorg"
(**) Video Bus: xkb_rules: "xorg"
(**) Option "xkb_model" "evdev"
(**) Video Bus: xkb_model: "evdev"
(**) Option "xkb_layout" "gb"
(**) Video Bus: xkb_layout: "gb"
(II) config/hal: Adding input device Video Bus
(**) Video Bus: always reports core events
(**) Video Bus: Device: "/dev/input/event4"
(II) Video Bus: Found keys
(II) Video Bus: Configuring as keyboard
(II) XINPUT: Adding extended input device "Video Bus" (type: KEYBOARD)
(**) Option "xkb_rules" "xorg"
(**) Video Bus: xkb_rules: "xorg"
(**) Option "xkb_model" "evdev"
(**) Video Bus: xkb_model: "evdev"
(**) Option "xkb_layout" "gb"
(**) Video Bus: xkb_layout: "gb"
AUDIT: Fri Nov 21 13:03:24 2008: 25674 X: client 3 rejected from local host ( uid=1000 gid=100 pid=25716 )
AUDIT: Fri Nov 21 13:03:24 2008: 25674 X: client 3 rejected from local host ( uid=1000 gid=100 pid=25717 )
AUDIT: Fri Nov 21 13:03:24 2008: 25674 X: client 3 rejected from local host ( uid=1000 gid=100 pid=25718 )
(II) intel(0): EDID vendor "AUO", prod id 12820
(II) intel(0): Printing DDC gathered Modelines:
(II) intel(0): Modeline "1280x800"x0.0   68.90  1280 1301 1333 1408  800 804 808 816 -hsync -vsync (48.9 kHz)
(II) intel(0): EDID vendor "AUO", prod id 12820
(EE) intel(0): underrun on pipe B!
(II) intel(0): EDID vendor "AUO", prod id 12820
(II) intel(0): Printing DDC gathered Modelines:
(II) intel(0): Modeline "1280x800"x0.0   68.90  1280 1301 1333 1408  800 804 808 816 -hsync -vsync (48.9 kHz)
(II) intel(0): EDID vendor "AUO", prod id 12820
(II) intel(0): EDID vendor "AUO", prod id 12820
(II) intel(0): Printing DDC gathered Modelines:
(II) intel(0): Modeline "1280x800"x0.0   68.90  1280 1301 1333 1408  800 804 808 816 -hsync -vsync (48.9 kHz)
(II) intel(0): EDID vendor "AUO", prod id 12820
(II) intel(0): EDID vendor "AUO", prod id 12820
(II) intel(0): Printing DDC gathered Modelines:
(II) intel(0): Modeline "1280x800"x0.0   68.90  1280 1301 1333 1408  800 804 808 816 -hsync -vsync (48.9 kHz)
(II) intel(0): EDID vendor "AUO", prod id 12820
(EE) intel(0): underrun on pipe B!
(EE) intel(0): underrun on pipe B!
(EE) intel(0): underrun on pipe B!
(EE) intel(0): underrun on pipe B!
(EE) intel(0): underrun on pipe B!
(EE) intel(0): underrun on pipe B!
(EE) intel(0): underrun on pipe B!
(EE) intel(0): underrun on pipe B!
(EE) intel(0): underrun on pipe B!
(EE) intel(0): underrun on pipe B!
(EE) intel(0): underrun on pipe B!
Comment 1 Jesse Barnes 2008-11-25 17:32:37 UTC
Created attachment 20589 [details] [review]
don't modify dsparb

It may be that we're not doing DSPARB right on your system.  Does this patch help?
Comment 2 Adam Jones 2008-11-26 10:34:20 UTC
(In reply to comment #1)

> It may be that we're not doing DSPARB right on your system.  Does this patch
> help?

After running with it for half an hour or so, I've not seen any underruns or glitches yet, and previously they happened at least every few minutes.  I'd say it fixes it, yes.  (Looking at the patch, I'm guessing it's not really a long-term solution, but hopefully it points in the right direction.  Happy to test alternative fixes if need be - thank you.)
Comment 3 Adam Jones 2008-11-26 13:24:16 UTC
(In reply to comment #2)

> After running with it for half an hour or so, I've not seen any underruns or
> glitches yet, and previously they happened at least every few minutes.

Sadly, a correction:

Whilst I'm no longer getting messages about underruns in the X log, I am still seeing some occasional screen flicker (although perhaps rather less often than before).
Comment 4 Jesse Barnes 2008-12-18 14:30:33 UTC
Can you attach your X log after enabling the modedebug option in your xorg.conf and after seeing the problem?  Another thing to try is to disable framebuffer compression, since that will prevent the pipe/plane swap.
Comment 5 Adam Jones 2008-12-19 15:51:11 UTC
Created attachment 21334 [details]
Xorg logfile with ModeDebug=1

Here's a new logfile with ModeDebug set to true and driver version 2.5.1.
Comment 6 Manuel 2008-12-21 08:39:43 UTC
is there any (binary) solution yet? I have xorg-version which is shipped with opensuse 11.1 on the dell mini 9 (gma950 (?)) and the backlight flickering is so annoyning every 2-20 seconds... the xorg.conf entry does not do the trick for me:

Option     "FramebufferCompression" "False"
Comment 7 Adam Jones 2008-12-21 08:58:10 UTC
(In reply to comment #6)
> is there any (binary) solution yet? I have xorg-version which is shipped with
> opensuse 11.1 on the dell mini 9 (gma950 (?)) and the backlight flickering is
> so annoyning every 2-20 seconds...

Just to be clear: on my machine the backlight is not affected (as far as I can tell).  The "flicker" generally appears as though the screen image jumps sideways momentarily, or as a blank black screen for a frame or so.
Comment 8 Jesse Barnes 2009-01-06 13:29:32 UTC
Created attachment 21733 [details] [review]
update 945 fifo entry count

Looks like 945 might have 128 FIFO entries rather than the 96 we had coded.  Can you try this patch?
Comment 9 Jesse Barnes 2009-01-06 13:30:20 UTC
*** Bug 19304 has been marked as a duplicate of this bug. ***
Comment 10 Raghu 2009-01-16 14:51:22 UTC
A few clarifications : 
  - This occurs (more specifically Bug 19304) occurs with Ubuntu 8.10 as well (intel driver 2.4.1). The bug description says it does not occur with 2.4.x. 
  - The bug sets hardware to x86-64. Not sure if it matters.
 
Any pointers on how I can try out the patch with my freshly installed Ubuntu 8.10? 

"Keywords" says "NEEDINFO".. what other info is needed?

thanks.
Comment 11 Martin Pitt 2009-01-20 17:11:43 UTC
The patch does not fix things for me (no noticeable difference), so either my bug (bug 19304) is different and needs un-dup'ing, or the patch is generally insufficient. Thank you!
Comment 12 qwang13 2009-01-21 18:23:52 UTC
Jesse,
Tha patch also does not work for bug 17988. 

Is there any idea for that?
Comment 13 Adam Jones 2009-01-21 23:37:30 UTC
(In reply to comment #8)

> Looks like 945 might have 128 FIFO entries rather than the 96 we had coded. 
> Can you try this patch?

Oddly, after upgrading to kernel 2.6.28, the flicker seems to have gone away, although the buffer underrun messages were still present.  (Sadly the 3D performance seems to have collapsed - Stellarium has gone from ~30fps to ~3 - but that's almost certainly a separate issue.  I also now get the following errors earlier in the log:
(EE) intel(0): Failed to set tiling on front buffer: rejected by kernel
(EE) intel(0): Failed to set tiling on back buffer: rejected by kernel
(EE) intel(0): Failed to set tiling on third buffer: rejected by kernel
(EE) intel(0): Failed to set tiling on depth buffer: rejected by kernel
)

With this patch I've not yet (about 15 minutes) had an underrun message.  I'll add another comment later if I see one.
Comment 14 Martin Pitt 2009-01-22 00:23:49 UTC
I have been on kernel 2.6.28 for quite a long time, and it didn't change anything wrt. the flicker and the occasional total breaking (thousands of underruns, and irrecoverable black screen)
Comment 15 Raghu 2009-01-23 14:56:38 UTC
I think this should be a high priority bug. Pretty much all the netbooks have Intel 9xxGME and the bug affects current Ubuntu.
Comment 16 Adam Jones 2009-01-23 15:08:39 UTC
(In reply to comment #13)
> (In reply to comment #8)
> > Looks like 945 might have 128 FIFO entries rather than the 96 we had coded. 
> > Can you try this patch?
> With this patch I've not yet (about 15 minutes) had an underrun message.  I'll
> add another comment later if I see one.

After a couple of days with this patch applied, still no underrun messages.  I'd say that problem's gone on my hardware - thanks.
Comment 17 Jesse Barnes 2009-01-28 13:12:01 UTC
Note that a few underruns are a normal part of mode setting, but flicker and black screens after running for awhile definitely shouldn't happen.  Anyway sounds like the patch is helping at least some people so I've posted it for review to include in the next release.
Comment 18 Raghu 2009-01-28 14:03:33 UTC
I think we should un-dup this from bug 19304. bug 19304 affects existing releases and most likely a different problem.
Comment 19 Jesse Barnes 2009-01-28 14:27:07 UTC
Well, I'll wait until Martin confirms/denies that before un-duping (after all if the same patch fixes both problems there's no need for two bugs to be open).
Comment 20 Raghu 2009-01-28 14:32:31 UTC
Martin Pitts mentioned above that the patch did not fix his problem (comments on Jan 20th and Jan 22nd, his last two comments). Not sure if he has a later patch not mentioned on this bug. 
Comment 21 Jesse Barnes 2009-01-28 14:36:55 UTC
Oh you're right, sorry.  I was just looking at his comments on #19304.  Will un-dup.
Comment 22 Martin Pitt 2009-01-29 00:18:44 UTC
I re-confirm that I tested this patch, and it didn't change anything at all.

However, I have used the suggestion in https://bugs.launchpad.net/bugs/311895 since yesterday (Option "FramebufferCompression" "off"), and that *seems* to do the trick. I want to test it a little longer before fully confirming, especially since the most recent X.org stopped logging the underruns in Xorg.0.log, and I got too used to the occasional screen flicker, so I might well have ignored them.

But my screen went black (or brown, or white) irrecoverably after a day or two without that option. If that doesn't happen any more either, I'll report this finding to bug 19304.

Thanks!
Comment 23 Alexander Krause 2009-02-22 09:33:36 UTC
I got the same problem on my ausus eeeBox (intel 2.6.1).

Setting 
Option     "FramebufferCompression" "False"
in the drivers section fixed the problem for me - haven't had any hangs since then.

I'll attach my lspci output if it helps.
Comment 24 Alexander Krause 2009-02-22 09:37:33 UTC
Created attachment 23178 [details]
lspci -vvv of asus eeeBox
Comment 25 Jesse Barnes 2009-03-19 16:57:28 UTC
Created attachment 24060 [details] [review]
set watermarks based on mode calculation

Can you guys give this patch a try?  It uses a more proper watermark calculation and sets the various planes to what seem like reasonable values on my 945 test machine...
Comment 26 Martin Pitt 2009-03-20 02:34:19 UTC
I'm the reporter of bug 19304, but since these are closely related, I tried this patch. More specifically, I replaced the patch from http://bugs.freedesktop.org/show_bug.cgi?id=19304#c13 (fixed for the s/0x3f/1/ error) with Jesse's recent one (http://bugs.freedesktop.org/attachment.cgi?id=24060), applied to version 2.6.3.

This survived a quick test on my internal LVDS (1280x800), but when I dock it (1280x1024 TFT, internal LVDS off) I get major screen flicker on just about every activity (key press, light I/O). It reminded me a lot of the situation of the original patch in bug 19304, with the "0x3f" initial value.

Or did I misunderstood this, and both patches need to be merged together somehow?

I'll attach registers and xorg.log, for the record.
Comment 27 Martin Pitt 2009-03-20 02:35:24 UTC
Created attachment 24072 [details]
registers with patch applied

This is on 

00:00.0 Host bridge [0600]: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub [8086:27a0] (rev 03)
        Subsystem: Dell Device [1028:0201]
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR- INTx-
        Latency: 0
        Capabilities: <access denied>
        Kernel driver in use: agpgart-intel
        Kernel modules: intel-agp

Linux 2.6.28.8, -intel 2.6.3, i386.
Comment 28 Martin Pitt 2009-03-20 02:35:44 UTC
Created attachment 24073 [details]
x.org log with patch applied
Comment 29 Jesse Barnes 2009-03-20 11:26:45 UTC
Hm, the plane a fifo entry count seems low, and the watermark seems too high.  The hw will do a FIFO fetch when the number of entries programmed are free in the fifo, so in your case it looks like we won't fetch a new set of data until 20 lines are free.  In the plane B case this might be ok, since it has a much larger number of fifo entries allocated to it, but for plane A it's probably a bit off...  I'll see if I can refine the calculation further.
Comment 30 Jesse Barnes 2009-03-30 13:23:23 UTC
Created attachment 24375 [details] [review]
Updated watermark calculations

This one uses what I hope is the correct calculation; we figure out the total number of entries needed for a given dotclock & depth, then use that number to determine when to start fetching new lines into the FIFO by subtracting...
Comment 31 Martin Pitt 2009-03-31 01:24:08 UTC
Looks great for me so far on my i945, see 
https://bugs.freedesktop.org/show_bug.cgi?id=19304#c41 for testing details.

For completeness I attach the register dump, after some heavy load and testing, and a suspend cycle.
Comment 32 Martin Pitt 2009-03-31 01:25:28 UTC
Created attachment 24393 [details]
registers with version 5 of the patch, working perfectly
Comment 33 Jesse Barnes 2009-03-31 14:40:38 UTC
Ok since the patch seems to fix this and 19304 I'm marking as a dup

*** This bug has been marked as a duplicate of bug 19304 ***