Bugzilla – Bug 292026
oprofile confirms slow xvideo with x11-video-nvidia and GeForce FX 5200
Last modified: 2007-11-02 20:48:54 UTC
I use XGL with x11-video-nvidia-1.0.9631-0.1. When I watch a video using xvideo output I can't watch it fullscreen. I run graphics at 1920x1200. Thsi happends regardless of the player (totem on gstreamer/mplayer). I run oprofile and this is what I get: samples % image name app name symbol name 81916607 85.7412 libGLcore.so.1.0.9631 libGLcore.so.1.0.9631 (no symbols) 3312559 3.4672 libgstflumpeg4videodec.so libgstflumpeg4videodec.so (no symbols) 2527801 2.6458 no-vmlinux no-vmlinux (no symbols) 1969886 2.0619 libasound.so.2.0.0 libasound.so.2.0.0 (no symbols) 1426707 1.4933 libc-2.5.so libc-2.5.so memcpy 931036 0.9745 libgstflump3dec.so libgstflump3dec.so (no symbols) 371625 0.3890 Xgl Xgl (no symbols) Some Xorg developers said that I quite likely hit a slow path in my GL lib, which the profile seems to confirm. Now I wonder how I could help to fix this. Can I provide any additional information? Can I get debug symbols or even sources for x11-video-nvidia-1.0.9631-0.1?
Does this also happen with driver release 100.14.11?
Can we assign this to the XGL team. I was also talking to Lonni J Friedmann from nvidea and also tried the latest drivers from nvidea. The issue is the xvideo emulation of XGL. That is slow on my card. The XGL team could look what code mplayer -vo gl (or -vo gl2) uses, as this is fast. It could be stuff like texturesize that hit a limmit of my relative low-end card.
Hello Stefan, We're still working on reproducing this. In our most recent attempt, we were not successful in reproducing the problem using similar hardware; I had smooth playback using mplayer -vo xv -fs at 1920x1200. But in light of the fact that this may be XGL related, we will have to retest with XGL enabled. Thanks, Roland
Do you use Xgl option "-accel xv:pbuffer"? See also /etc/sysconfig/displaymanager and /usr/share/doc/packages/xgl/README.SUSE for more details. I also add Matthias Hopf and David Reveman to comment on this issue.
I had DISPLAYMANAGER_XGL_OPTS="-accel glx:pbuffer -accel xv" and just retried with DISPLAYMANAGER_XGL_OPTS="-accel glx:pbuffer -accel xv:pbuffer" but that does not seem to change anything.
(In reply to comment #2 from Stefan Kost) > Can we assign this to the XGL team. I was also talking to Lonni J Friedmann > from nvidea and also tried the latest drivers from nvidea. The issue is the > xvideo emulation of XGL. That is slow on my card. The XGL team could look what > code mplayer -vo gl (or -vo gl2) uses, as this is fast. It could be stuff like > texturesize that hit a limmit of my relative low-end card. You didn't state your card so far. Also, the texture size only limits the maximum image size to be displayed, not the the scaled size. So you would hit the slow path already without resizing it fullscreen. Can you try 'xine -V opengl', and select the fragment program version there? That's the code I used in Xgl. Or do you have a pre-5600 card? The GeForce 4 series and below don't support fragment programs, the GeForce 5xxx hit slow paths. That is a FAQ: http://en.opensuse.org/Xgl mplayer has more sophisticated rendering modes nowadays. Never had time to port them back to xine and/or Xgl.
Yes, its a FX5200. Thanks for pointing me to the FAQ. I haven't seen this when I've installed XGL almost a year ago. Would be great if the xv code could be updated.
So is this still a driver issue or an enhancement request for xine/Xgl?
Your're right. I relabeled it as enhancement request. I wonder how it could be made more clear to users that there is nothing they can do right now.
I better reassign this one to Matthias.
Actually, there are a couple of different possible techniques for color conversion that can be implemented with graphics hardware. Fragment shaders are the most obvious ones, but there are others. Code for this is available in mplayer, and the Author already allowed me to relicense it. It "just" has to be done, and that takes time. There is already an open bug for that. *** This bug has been marked as a duplicate of bug 152140 ***
Removing "-accel xv" completely and having xgl do scaling and color-space conversions in software is probably more efficient on that card. The proper long term solution for efficient video playback is to use something like the video interface that compiz provides. That will provide the most efficient video playback possible on a composited desktop.
Yes, I can confirm that its better with "-accel xv" removed. Not as good as with mplayers -vo gl unfortunately. cpu is maxed and there are frames dropped. Thanks for the help!
No idea if this is properly fixed. Atleast with the upgrade to opensuse 10.3 and compiz-fusion everything is fine. Videoplayback performance is top. From my pov this can be closed.