View Full Version : Open-Source Radeon Driver Improvements
phoronix
08-25-2008, 08:50 PM
Phoronix: Open-Source Radeon Driver Improvements
For those following the xf86-video-ati developments or use this open-source Radeon driver for their graphics card, you may want to check out the latest development code. Committed to its git branch today was a lot of new work from Alex Deucher, Dennis Kasprzyk, David Airlie, Egbert Eich, and Corbin Simpson. There is now bi-cubic X-Video support for the Radeon R300 and R500 series GPUs, heavy optimizations in the video functions, and lots of code cleaning...
http://www.phoronix.com/vr.php?view=NjY3NA
duby229
08-26-2008, 01:29 AM
Big improvement. I can switch virtual terminals again. Video still has some tearing, but not nearly as bad as it once was. I still cant get 3d to work.
All in all it seems to be a great improvement. Keep up the good work guys, and lets try to get 3d working again.
Mesa 7.1 also looks pretty finished to me. Release today, tomorrow? Xorg 7.4 should be released then, too, with RadeonHD 1.3 hopefully arriving in time for the october distributions.
RealNC
08-26-2008, 11:04 AM
Big improvement. I can switch virtual terminals again. Video still has some tearing, but not nearly as bad as it once was. I still cant get 3d to work.
All in all it seems to be a great improvement. Keep up the good work guys, and lets try to get 3d working again.
I just updated to git master. It works just as fine as it did before, including 3D :) (Save for Xv tearing.)
kadambi
08-26-2008, 03:55 PM
This works fine for me too. Has anyone tried "mplayer -vo xv" (on a widescreen. I have 1680X1050) on R400 cards (I have a X800 card). Video works fine through gl2 on mplayer but the resolution gets horribly messed up when I use xv. Same behavior with the latest git driver.
bridgman
08-26-2008, 05:46 PM
On an X800 I believe radeon will expose both overlay and textured video ports, and mplayer will use the overlay port by default while the improvements are on the textured video path. Are you telling mplayer to use the texvid ports ?
I think the xvinfo command should give you details of the available Xv ports.
Are you using XAA or EXA acceleration ? Apparently EXA works much better than XAA with Textured Video.
kadambi
08-26-2008, 06:01 PM
On an X800 I believe radeon will expose both overlay and textured video ports, and mplayer will use the overlay port by default while the improvements are on the textured video path. Are you telling mplayer to use the texvid ports ?
I think the xvinfo command should give you details of the available Xv ports.
Are you using XAA or EXA acceleration ? Apparently EXA works much better than XAA with Textured Video.
I am using EXA.
My xvinfo gives
Adaptor #1: "Radeon Textured Video"
number of ports: 16
port base: 58
operations supported: PutImage
supported visuals:
depth 24, visualID 0x21
no port attributes defined
maximum XvImage size: 2048 x 2048
Number of image formats: 4
id: 0x32595559 (YUY2)
guid: 59555932-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x32315659 (YV12)
guid: 59563132-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x30323449 (I420)
guid: 49343230-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x59565955 (UYVY)
guid: 55595659-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
and I used
mplayer -vo xv:\port=58 <video file>
This messes up the resolution completely. I can live with "-vo gl2" since it works fine.
xv seems to work fine on 4:3 monitor too. Looks like a widescreen issue?
duby229
08-26-2008, 10:34 PM
I just updated to git master. It works just as fine as it did before, including 3D :) (Save for Xv tearing.)
Any suggestion on how to resolve this problem?
Error: couldn't get an RGB, Double-buffered visual
I get this on any 3d application I try to run? Any logs you want to see? Any configuration? Any commands you need run? Any help at all guys. I would be totally appreciative.
dungeon
08-27-2008, 02:59 AM
@duby229
Read this (http://www.nabble.com/Problem-with-commit-acae6f06-%22dri%3A-fix-crash-in-driGetConfigAttribIndex%22-td19150677.html). I think you can also safely revert back this patch to make your 3D work again, but maybe it is already fixed in 7.1 release and you can tried that first.
RealNC
08-27-2008, 06:08 AM
Any suggestion on how to resolve this [Xv tearing] problem?
It's not possible. The only workaround is to use Gl video and enable vsync with driconf. Unfortunately this will need more CPU than Xv but it does work flawlessly (at least on my R580 chip).
duby229
08-27-2008, 08:26 AM
@duby229
Read this (http://www.nabble.com/Problem-with-commit-acae6f06-%22dri%3A-fix-crash-in-driGetConfigAttribIndex%22-td19150677.html). I think you can also safely revert back this patch to make your 3D work again, but maybe it is already fixed in 7.1 release and you can tried that first.
Yeah I think that's it. After reading the guru's, I'm not sure what I can do except wait. I can try to reverse that patch, but I have no idea how to do it. I'll just wait it out and till it gets fixed in master then I'll just resync and reinstall.
bridgman
08-27-2008, 10:40 AM
The key point from the link seems to be :
Long story short: Mesa 7.1 requires xserver > 1.4.99.906
Backing out that specific commit makes Mesa work with slightly older X servers (say 1.4.99.905) but it seems that picking up the very latest X server is the real answer. The commit in question had a corresponding commit in X server so you need both for things to work.
Haven't actually tried it or anything though...
dungeon
08-27-2008, 11:40 AM
Yes, yes, krh was yesterday applied fix (http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commit;h=fd94651fc3a6f49ec153ffb823b 86c1d125bb298) for this and that means... LSS: xserver must be from git:).
duby229
08-27-2008, 09:56 PM
Yes, yes, krh was yesterday applied fix (http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commit;h=fd94651fc3a6f49ec153ffb823b 86c1d125bb298) for this and that means... LSS: xserver must be from git:).
I've been trying to rebuild the xserver for a few weeks now, but so far I've had no luck at all. Every single time I try it craps out at the same spot.
../doltcompile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../include -I../hw/xfree86/os-support -I../hw/xfree86/os-support/bus -I../hw/xfree86/common -I../hw/xfree86/dri -I../hw/xfree86/dri2 -I../mi -DHAVE_DIX_CONFIG_H -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/hal -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I../include -I../include -I../Xext -I../composite -I../damageext -I../xfixes -I../Xi -I../mi -I../miext/shadow -I../miext/damage -I../render -I../randr -I../fb -I/usr/include/drm -I/usr/include/X11/dri -DXFree86Server -D__GLX_ALIGN64 -O2 -pipe -march=k8 -MT indirect_dispatch_swap.lo -MD -MP -MF .deps/indirect_dispatch_swap.Tpo -c -o indirect_dispatch_swap.lo indirect_dispatch_swap.c
../doltcompile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../include -I../hw/xfree86/os-support -I../hw/xfree86/os-support/bus -I../hw/xfree86/common -I../hw/xfree86/dri -I../hw/xfree86/dri2 -I../mi -DHAVE_DIX_CONFIG_H -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/hal -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I../include -I../include -I../Xext -I../composite -I../damageext -I../xfixes -I../Xi -I../mi -I../miext/shadow -I../miext/damage -I../render -I../randr -I../fb -I/usr/include/drm -I/usr/include/X11/dri -DXFree86Server -D__GLX_ALIGN64 -O2 -pipe -march=k8 -MT indirect_reqsize.lo -MD -MP -MF .deps/indirect_reqsize.Tpo -c -o indirect_reqsize.lo indirect_reqsize.c
In file included from indirect_dispatch.c:40:
glapitable.h:812: error: expected declaration specifiers or '...' before 'GLint64EXT'
glapitable.h:813: error: expected declaration specifiers or '...' before 'GLuint64EXT'
indirect_dispatch.c: In function '__glXDisp_TexSubImage1D':
indirect_dispatch.c:2976: warning: cast to pointer from integer of different size
indirect_dispatch.c: In function '__glXDisp_TexSubImage2D':
indirect_dispatch.c:3000: warning: cast to pointer from integer of different size
indirect_dispatch.c: In function '__glXDisp_TexImage3D':
indirect_dispatch.c:3748: warning: cast to pointer from integer of different size
indirect_dispatch.c: In function '__glXDisp_TexSubImage3D':
indirect_dispatch.c:3777: warning: cast to pointer from integer of different size
make[1]: *** [indirect_dispatch.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from indirect_dispatch_swap.c:40:
glapitable.h:812: error: expected declaration specifiers or '...' before 'GLint64EXT'
glapitable.h:813: error: expected declaration specifiers or '...' before 'GLuint64EXT'
indirect_dispatch_swap.c: In function '__glXDispSwap_TexSubImage1D':
indirect_dispatch_swap.c:3096: warning: cast to pointer from integer of different size
indirect_dispatch_swap.c: In function '__glXDispSwap_TexSubImage2D':
indirect_dispatch_swap.c:3120: warning: cast to pointer from integer of different size
indirect_dispatch_swap.c: In function '__glXDispSwap_TexImage3D':
indirect_dispatch_swap.c:3884: warning: cast to pointer from integer of different size
indirect_dispatch_swap.c: In function '__glXDispSwap_TexSubImage3D':
indirect_dispatch_swap.c:3913: warning: cast to pointer from integer of different size
make[1]: *** [indirect_dispatch_swap.lo] Error 1
mv -f .deps/indirect_reqsize.Tpo .deps/indirect_reqsize.Plo
make[1]: Leaving directory `/var/tmp/portage/x11-base/xorg-server-9999/work/xorg-server-9999/glx'
make: *** [all-recursive] Error 1
Any idea on how to get around this error when compiling the xserver?
reavertm
08-28-2008, 12:45 PM
duby229
Check whether you have the latest (git) x11-proto packages and mesa from git installed.
I have a problem with building xorg-server from git as well, but the problem is with osdep.h header (OPEN_MAX macrodefinition - it needs manual tweak to compile).
Besides maybe this forum is not the best place to discuss problems with Gentoo ebuilds.
duby229
08-28-2008, 05:41 PM
duby229
Check whether you have the latest (git) x11-proto packages and mesa from git installed.
I have a problem with building xorg-server from git as well, but the problem is with osdep.h header (OPEN_MAX macrodefinition - it needs manual tweak to compile).
Besides maybe this forum is not the best place to discuss problems with Gentoo ebuilds.
Yeah I've got both of thos packages installed from git... I'm not saying that it's not gentoo's fault, but I highly doubt it... And this is a forum where many of the people who work on these projects gather and discuss these topics.. I mean if this isnt the place to ask for help,. then where is?
EDIT: I've created a thread (http://forums.gentoo.org/viewtopic-t-705770-highlight-.html) on the gentoo forums. (I'm gonna hold off on creating a bug just yet) So please feel free to post either here or there any suggestions you may have.
vBulletin® v3.8.4, Copyright ©2000-2009, Jelsoft Enterprises Ltd.