Fwd: FreeBSD 6.3 and Intel G33

Eric Anholt eric at anholt.net
Wed Jan 16 10:42:59 PST 2008


On Wed, 2008-01-16 at 11:47 +1030, Daniel O'Connor wrote:
> On Wed, 16 Jan 2008, Eric Anholt wrote:
> > I took a quick review of the docs again and I think it's almost
> > complete.  The gtt_size detection is broken, though.  We should have
> > gtt_size (the amount of graphics stolen memory used for storing the
> > GTT data) equal to zero on this hardware, instead of using the G965
> > path. However, this also requires current xf86-video-intel, which
> > fixes the mistaken assumption we originally had for xf86-video-intel
> > and linux agp that the gtt stolen memory was stolen out of graphics
> > stolen memory.
> 
> OK.. Not sure what GTT is though :)

Think page tables on your CPU, but for the graphics device's virtual
addressing inside of the AGP aperture.

> > Updating just the AGP driver for fixing the bad stolen memory
> > assumption means that the 2d driver tries to bind memory lower than
> > the AGP driver will let you, and your server won't start.  The
> > "proper" fix would be for us to remember the stolen memory address
> in
> > the GTT and let you bind over them, but restore them on unbind.
> Some
> > day we would love to release this memory to the general page
> > allocator and get rid of this stolen memory disaster.
> >
> > To test, install xf86-video-intel from ports, uncomment those PCI
> > IDs, and start X.  If things are working, then it probably means
> > you're good to go and we can enable it by default.  If you're
> getting
> > the "agp0: trying to bind into stolen memory" complaint, you need
> > current 2D from
> > git://anongit.freedesktop.org/git/xorg/driver/xf86-video-intel and
> we
> > should cherry-pick the relevant patch into our ports.

> With the ports xf86-video-intel I get..
> (==) intel(0): Backing store disabled
> (==) intel(0): Silken mouse enabled
> (II) intel(0): Initializing HW Cursor
> (II) intel(0): xf86BindGARTMemory: bind key 1 at 0x006ff000 (pgoffset 1791)
> (WW) intel(0): xf86BindGARTMemory: binding of gart memory with key 1
>         at offset 0x6ff000 failed (Invalid argument)
> 
> Fatal server error:
> Couldn't bind memory for front buffer
> 
> I tried to build your git repo of the driver but I am getting..
> gmake[3]: Entering directory `/local0/tmp/xf86-video-intel/src'
> /usr/local/bin/bash ../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..    -Wall -Wpointer-arith -Wstrict-prototypes    -Wmissing-prototypes -Wmissing-declarations     -Wnested-externs -fno-strict-aliasing -D_THREAD_SAFE -I/usr/local/include/xorg -I/usr/local/include/pixman-1 -I/usr/local/include   -I/usr/local/include -I/usr/local/include/drm -I/usr/local/include/X11/dri -DI830_XV -DI830_USE_XAA -DI830_USE_EXA -g -O2 -MT i810_driver.lo -MD -MP -MF .deps/i810_driver.Tpo -c -o i810_driver.lo i810_driver.c
>  gcc -DHAVE_CONFIG_H -I. -I.. -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -D_THREAD_SAFE -I/usr/local/include/xorg -I/usr/local/include/pixman-1 -I/usr/local/include -I/usr/local/include -I/usr/local/include/drm -I/usr/local/include/X11/dri -DI830_XV -DI830_USE_XAA -DI830_USE_EXA -g -O2 -MT i810_driver.lo -MD -MP -MF .deps/i810_driver.Tpo -c i810_driver.c  -fPIC -DPIC -o .libs/i810_driver.o
> i810_driver.c:456: error: `PACKAGE_VERSION_MAJOR' undeclared here (not in a function)
> i810_driver.c:456: error: initializer element is not constant
> i810_driver.c:456: error: (near initialization for `intelVersRec.majorversion')
> i810_driver.c:456: error: `PACKAGE_VERSION_MINOR' undeclared here (not in a function)
> i810_driver.c:456: error: initializer element is not constant
> i810_driver.c:456: error: (near initialization for `intelVersRec.minorversion')
> i810_driver.c:456: error: `PACKAGE_VERSION_PATCHLEVEL' undeclared here (not in a function)
> ...

Your xorg-macros package is stale.

> I modified config.h to add those #defines and the man Makefile (configure is
> fun!) and installed but now I get..
> (==) intel(0): Write-combining range (0xa0000,0x10000) was already clear
> (II) EXA(0): Offscreen pixmap area of 30720000 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 8 at 0x006ff000 (pgoffset 1791)
> (WW) intel(0): xf86BindGARTMemory: binding of gart memory with key 8
>         at offset 0x6ff000 failed (Invalid argument)
> 
> Fatal server error:
> Couldn't bind memory for front buffer

That's almost surely as a result of the stolen memory issue.

> > To be sure that everything's working, also enable DRI by installing
> > updated DRM from git://anongit.freedesktop.org/git/mesa/drm (bsd-core
> > directory, make all install).  It may complain if you have witness
> > enabled, since I haven't brought over the witness fix from -current
> > yet.
> 
> OK.
> I really only want the 2D driver so DPMS works and the screen saver can
> turn the monitor off (although faster 2D would be good as well)

DPMS should work with the VESA driver even, not to discourage you from
the right solution.

-- 
Eric Anholt                             anholt at FreeBSD.org
eric at anholt.net                         eric.anholt at intel.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20080116/66bbae5a/attachment.pgp


More information about the freebsd-stable mailing list