kwin composite w/ opengl on r600?

Jung-uk Kim jkim at FreeBSD.org
Fri Dec 4 17:50:18 UTC 2009


On Friday 04 December 2009 11:08 am, Robert Noland wrote:
> On Thu, 2009-12-03 at 12:57 -0800, Mark Atkinson wrote:
> > Robert Noland wrote:
> > > On Thu, 2009-12-03 at 09:32 -0800, Mark Atkinson wrote:
> > >> Hi,
> > >>
> > >> I've been trying to get some of the window effects to work
> > >> under kwin/kde4.x, however I think I'm being stymied by the
> > >> dri mesa build from ports not supporting the r600.
> > >>
> > >> e.g. it only loads/enables the software rasterizer below.
> > >>
> > >> Any hints on getting this working?  Can I build the git head
> > >> for r600/mesa and have it works with the ports?
> > >
> > > right now, you need to update libdrm and mesa.  For libdrm, you
> > > can just bump the version in the port to 2.4.15 and it should
> > > be fine.  For mesa, you need to install from git until 7.6.1 is
> > > released.  7.6 has r600 support, but there were a few bugs that
> > > didn't get addressed prior to release, which make it very
> > > annoying to use in compiz/kde4.
> > >
> > > My normal process is:
> > >
> > > Clone the mesa/mesa repo.
> > >
> > > Use the following to autogen/configure.
> > > CPPFLAGS="${CPPFLAGS} -I/usr/local/include" LDFLAGS="${LDFLAGS}
> > > -L/usr/local/lib" ./autogen.sh --enable-xcb
> > >
> > > gmake
> > >
> > > sudo cp lib/lib* /usr/local/lib
> > > sudo cp lib/*_dri.so /usr/local/lib/dri
> > >
> > > That should have things working pretty well.  Note that you
> > > need xf86-video-ati 6.12.4, which I just updated the other day.
> > >
> > > robert.
> >
> > Many thanks, that seems to help.  glxgears -info now reports:
> >
> > OpenGL vendor string: Advanced Micro Devices, Inc.
> > OpenGL renderer string: Mesa DRI R600 (RV610 94C1) 20090101
> > x86/MMX/SSE2 TCL OpenGL version string: 1.5 Mesa 7.8-devel
> >
> > If I follow the kde 4.0 composite instructions, compositing is
> > available but is disabled because it is too slow.   I only see
> > one suspicious message:
> >
> > (II) AIGLX: Screen 0 is not DRI2 capable
> >
> > If I disable checks, I can run with compositing, but it is
> > definitely very slow.
>
> Hrm, I don't normally use kde, but I have tested with it at times.
> Normally I use compiz+gnome and performance should be more than
> acceptable.  Even games like nexuiz, openarena, UT and vdrift
> should be well into the playable range now.
>
> > If you notice anything conflicting in my xorg.conf please let me
> > know. plain text document attachment (xorg.conf)
>
> Actually, I don't see anything odd in this config.  The only thing
> I can point out is that I use the radeon driver rather than
> radeonhd, but it isn't clear to me if that could somehow impact
> performance in this area. The only reason that I know of to use
> radeonhd currently is if you need HDMI audio, otherwise radeon has
> everything and more.

I am a happy radeonhd user and x11-drivers/xf86-video-radeonhd-devel 
works pretty fine for me on -CURRENT.  Here is what I did:

%echo 'WHITELIST="radeon radeonhd"' > ~/.config/compiz/compiz-manager
%env CM_DRY=yes /usr/local/bin/compiz-manager
Checking for Xgl: not present. 
xset q doesn't reveal the location of the log file. Using 
fallback /var/log/Xorg.0.log 
Checking for texture_from_pixmap: not present. 
Trying again with indirect rendering:
Checking for texture_from_pixmap: present. 
Checking for non power of two support: present. 
Checking for Composite extension: present. 
Comparing resolution (1280x1024) to maximum 3D texture size (4096): 
Passed.
Checking for nVidia: not present. 
Checking for FBConfig: present. 
Checking for Xgl: not present. 
Dry run finished: everything should work with regards to Compiz and 
3D.
Execute: /usr/local/bin/compiz --ignore-desktop-hints --replace 
--indirect-rendering    ccp 

If the last line is "Execute: /usr/local/bin/compiz", you are all set.

FYI...

Jung-uk Kim

> What kernel are you running on?  Any -CURRENT or -STABLE branch
> should have all the needed bits.  If you have a kernel that doesn't
> have r600_blit.c then it will be really slow since the initial code
> used a memcpy before the hardware support was enabled.
>
> robert.
>
> > Section "ServerLayout"
> > 	Identifier     "X.org Configured"
> > 	Screen      0  "Screen0" 0 0
> > 	InputDevice    "Mouse0" "CorePointer"
> > 	InputDevice    "Keyboard0" "CoreKeyboard"
> > EndSection
> >
> > Section "Files"
> > 	ModulePath   "/usr/local/lib/xorg/modules"
> > 	FontPath     "/usr/local/lib/X11/fonts/misc/"
> > 	FontPath     "/usr/local/lib/X11/fonts/TTF/"
> > 	FontPath     "/usr/local/lib/X11/fonts/OTF"
> > 	FontPath     "/usr/local/lib/X11/fonts/Type1/"
> > 	FontPath     "/usr/local/lib/X11/fonts/100dpi/"
> > 	FontPath     "/usr/local/lib/X11/fonts/75dpi/"
> > EndSection
> >
> > Section "Module"
> > 	Load  "extmod"
> > 	Load  "record"
> > 	Load  "dbe"
> > 	Load  "glx"
> > 	Load  "dri"
> > 	Load  "dri2"
> > EndSection
> >
> > Section "InputDevice"
> > 	Identifier  "Keyboard0"
> > 	Driver      "kbd"
> > EndSection
> >
> > Section "InputDevice"
> > 	Identifier  "Mouse0"
> > 	Driver      "mouse"
> > 	Option	    "Protocol" "auto"
> > 	Option	    "Device" "/dev/sysmouse"
> > 	Option	    "ZAxisMapping" "4 5 6 7"
> > EndSection
> >
> > Section "Monitor"
> > 	Identifier   "Monitor0"
> > 	VendorName   "Monitor Vendor"
> > 	ModelName    "Monitor Model"
> > EndSection
> >
> > Section "Device"
> >         ### Available Driver options are:-
> >         ### Values: <i>: integer, <f>: float, <bool>:
> > "True"/"False", ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
> > ### [arg]: arg optional
> >         #Option     "NoAccel"            	# [<bool>]
> >         #Option     "AccelMethod"        	# [<str>]
> >         #Option     "offscreensize"      	# [<str>]
> >         #Option     "SWcursor"           	# [<bool>]
> >         #Option     "ignoreconnector"    	# [<str>]
> >         #Option     "forcereduced"       	# [<bool>]
> >         #Option     "forcedpi"           	# <i>
> >         #Option     "useconfiguredmonitor" 	# [<bool>]
> >         #Option     "HPD"                	# <str>
> >         #Option     "NoRandr"            	# [<bool>]
> >         #Option     "RROutputOrder"      	# [<str>]
> >         #Option     "DRI"                	# [<bool>]
> >         #Option     "TVMode"             	# [<str>]
> >         #Option     "ScaleType"          	# [<str>]
> >         #Option     "UseAtomBIOS"        	# [<bool>]
> >         #Option     "AtomBIOS"           	# [<str>]
> >         #Option     "UnverifiedFeatures" 	# [<bool>]
> >         #Option     "Audio"              	# [<bool>]
> >         #Option     "HDMI"               	# [<str>]
> >         #Option     "COHERENT"           	# [<str>]
> > 	Identifier  "Card0"
> > 	Driver      "radeonhd"
> > 	Option      "AccelMethod" "exa"
> > 	Option      "DRI" "on"
> > 	VendorName  "ATI Technologies Inc"
> > 	BoardName   "RV610 [Radeon HD 2400 XT]"
> > 	BusID       "PCI:1:0:0"
> > EndSection
> >
> > Section "Extensions"
> > 	Option "Composite" "Enable"
> > EndSection
> >
> > Section "ServerFlags"
> > 	Option "AIGLX"
> > EndSection
> >
> > Section "DRI"
> > 	Group "video"
> > 	Mode 0660
> > EndSection
> >
> > Section "Screen"
> > 	Identifier "Screen0"
> > 	DefaultDepth 24
> > 	SubSection "Display"
> > 		Depth     24
> > 		Modes     "1600x1200"
> > 		Virtual   3200 1200
> > 	EndSubSection
> > EndSection
> > _______________________________________________
> > freebsd-x11 at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-x11
> > To unsubscribe, send any mail to
> > "freebsd-x11-unsubscribe at freebsd.org"


More information about the freebsd-x11 mailing list