XBMC Community Forum
XBMC for Linux VDPAU - NVIDIA GPU video decoding support (now in the mainline SVN) - Printable Version

+- XBMC Community Forum (http://forum.xbmc.org)
+-- Forum: Help and Support (/forumdisplay.php?fid=33)
+--- Forum: Kodi General Help and Support (/forumdisplay.php?fid=111)
+---- Forum: Linux and Live support (/forumdisplay.php?fid=52)
+---- Thread: XBMC for Linux VDPAU - NVIDIA GPU video decoding support (now in the mainline SVN) (/showthread.php?tid=45525)



- biggles - 2009-04-15 22:33

Thanks a lot!


VDPAU_TRACE=1|2, *_destroy calls and NUM_OUTPUT_SURFACES - maksimenko - 2009-04-16 02:58

Hello,

First of all, i'd like to thank motd2k for giving us the ability to use vdpau in xbmc and of course every person that helped in the creation of the xbmc, my wife and i have been using it for a few months and we are very happy with it!

I'm currently using linuxport r19488. I've an NVIDIA 8500gt 512mb.

I've been debugging some "ERROR: (VDPAU) Error: The system does not have enough resources to complete the requested operation at this time.(23) .." that occasionally occurs when i play some 1080p h264 vids on a 1080p output screen. (The vids play fine with mplayer -fs -vo vdpau -vd ffh264_vpdau.... even with xbmc running minimized in the bg).

a) Is there any reason why currently the NUM_OUTPUT_SURFACES is set to 4? when i set it to 2, the vids play fine (well... at least most of the time)... but i'm not completely sure if it's set to 4 for some particular reason. (just for reference, i peeked into mplayer code and it uses 3 output surfaces... and according to the nvidia readme, the minimum has to be 2...). (to be able to play with the num_output_surface variable, i created another variable that holds the totalAvailableOutputSurfaces in case in cant even create the surfaces set in num_output_surface_variable... and changed a line in the PrePresent method to "if (surfaceNum >= totalAvailableOutputSurfaces) surfaceNum = 0"; and a line in the Present method to "if (presentSurfaceNum >= totalAvailableOutputSurfaces) presentSurfaceNum = 0;")

b) Another thing that i've noticed is that when i set the VDPAU_TRACE to 1 or 2, and VDPAU_TRACE_FILE=vdpau.log and run xbmc (with an unmodified vdpau.[cpp|h] or with my modified one) the log contains the record for all the vdp_*_create calls, but not even one vdp_*_destroy call... tracing mplayer, it records both vdp_*_create and vdp_*_destroy calls... (I've tried with both 180.44 and 185.19 nvidia driver versions with the same results)... So, i dont know if vdpau is freeing its resources sucessfully or not...

Does anybody else have seen this behavior?

Thanks for any insight and collaboration...

Let me know if there's some info that you need so i can provide it... i've could pastebin the logs/modified sources if needed, etc...

ps. please take into consideration that point b) happens also with vanilla r19488 sources... so its not caused by my changes... i just dont know if it's just my configuration thats causing it, or if its a general problem... caused by some vdp_get_proc_address problems, etc.. i have no idea...


- Zeron - 2009-04-16 03:06

Use nvidia driver version 185.19 and "ERROR: (VDPAU) Error: The system does not have enough resources to complete the requested operation at this time.(23) .." should no longer happen as it will use system memory when the card does not have enough.


- maksimenko - 2009-04-16 14:49

Zeron Wrote:Use nvidia driver version 185.19 and "ERROR: (VDPAU) Error: The system does not have enough resources to complete the requested operation at this time.(23) .." should no longer happen as it will use system memory when the card does not have enough.

Hi Zeron,

Yup, I remember reading that on the new features of an nvidia driver... cant recall from which version onwards that feature is available....

The thing is that it still happens to me no matter if i use the 180.44 or the 185.19 driver... so i thought that feature was only available for integrated nvidia cards with dynamic vram allocation...

Either way, I'm gonna post in nvnews forums to clarify that...

Thanks bringing that up


- Haggy - 2009-04-16 15:00

maksimenko Wrote:Either way, I'm gonna post in nvnews forums to clarify that...
You're right - that's only relevant for IGPs as the Changelog states.


- nunu - 2009-04-16 18:06

Hello,
some time with original bluray stream or 180p h264 file of 14Go, i have the message "buffering...." (it pauses the video, buffering... and restart).

Is it a limitation of the vdpau or i need more memory in my system ?

I have an AMD 3200+ with 512MB 9500 GT 512MB ubuntu 8.10 32bits.

The CPU is around 40%


- tslayer - 2009-04-16 18:08

Are you using the correct version? You mentioned 8.10 which doesn't have vdpau. More details please.


- nunu - 2009-04-16 18:30

sorry, i have forgotten version. This is the 8.10 version of ubuntu and i use linuxport svn 19391 and last beta driver of nvidia (185.19)


- alanwww1 - 2009-04-16 19:46

[QUOTE|
a) Is there any reason why currently the NUM_OUTPUT_SURFACES is set to 4? when i set it to 2, the vids play fine (well... at least most of the time)... but i'm not completely sure if it's set to 4 for some particular reason. (just for reference, i peeked into mplayer code and it uses 3 output surfaces... and according to the nvidia readme, the minimum has to be 2...). (to be able to play with the num_output_surface variable, i created another variable that holds the totalAvailableOutputSurfaces in case in cant even create the surfaces set in num_output_surface_variable... and changed a line in the PrePresent method to "if (surfaceNum >= totalAvailableOutputSurfaces) surfaceNum = 0"; and a line in the Present method to "if (presentSurfaceNum >= totalAvailableOutputSurfaces) presentSurfaceNum = 0;")
[/quote]

I don't know if it has to do anything with the number of surfaces, but when i turn on SRT subtitles i see some ocasional stuttering when vdpau is on.
Has anyone has the same experience ?


- tslayer - 2009-04-16 19:50

nunu, show your debug log (pastebin).


- nunu - 2009-04-16 20:07

tslayer : i will provide as soon as possible !! (i have reencoded and don't have the orignal stream anymore). It seems that the bitrate plays with the problem.

It's the reason why i have asked people if they try to play bluray stream and if they have issues with them.

For example, indiana jones 4 has the "buffering problem" with XBMC.


regards
Manuel


- gert - 2009-04-17 15:42

Is the svn readme-linux-file up to date? I have installed all it asks for, but there was one library not mentioned which was needed to get trough ./configure (forgot to note which one, unfortunately), and now make fails with:

make[1]: *** [GraphicContext.o] Error 1
make[1]: Leaving directory `/home/gert/xbmc-vdpau/XBMC/guilib'
make: *** [guilib] Error 2

and a lot of errors before this.

Is there any deps not listed in the readme file that might cause this?

edit. forgot to mention I'm using Ubutnu 9.04.


- maksimenko - 2009-04-17 15:48

gert Wrote:Is the svn readme-linux-file up to date? I have installed all it asks for, but there was one library not mentioned which was needed to get trough ./configure (forgot to note which one, unfortunately), and now make fails with:

make[1]: *** [GraphicContext.o] Error 1
make[1]: Leaving directory `/home/gert/xbmc-vdpau/XBMC/guilib'
make: *** [guilib] Error 2

and a lot of errors before this.

Is there any deps not listed in the readme file that might cause this?

edit. forgot to mention I'm using Ubutnu 9.04.

gert,

Yesterday I had some errors on GraphicContext when compiling .... I've just did a 'make reallyclean', 'configure --disable-pulse', 'make' and it compiled without problems...

Dont know if that would help you, but maybe it's worth a shot

edit: Im also on ubuntu 9.04 and the compiling errors happened after I upgraded some mesa/gl packages...


- olympia - 2009-04-17 15:51

gert Wrote:Is the svn readme-linux-file up to date? I have installed all it asks for, but there was one library not mentioned which was needed to get trough ./configure (forgot to note which one, unfortunately), and now make fails with:

make[1]: *** [GraphicContext.o] Error 1
make[1]: Leaving directory `/home/gert/xbmc-vdpau/XBMC/guilib'
make: *** [guilib] Error 2

and a lot of errors before this.

Is there any deps not listed in the readme file that might cause this?

edit. forgot to mention I'm using Ubutnu 9.04.

You should use linuxport, not the vdpau branch. If you had read the initial post, you would know that vdpau was already merged back.
This branch is not maintained at the moment (every fine tune is done on the linuxport now)...


- Rand Al Thor - 2009-04-17 23:43

I am still getting "Vdpau Failed" errors. I even installed the 185. drivers from an overlay.
Gentoo 2.6.23.8
Intel Celeron 3.2ghz
4gb Ram
Nvidia GeForce 8400 (185.13 Drivers)
SVN:19503


Log

Not really sure what the deal is. It worked fine about a week before the merge with the main branch. I might roll back to one of those versions and see what happens.
Cheers,
Rand