Kodi Community Forum

Full Version: XBMC for Linux VDPAU - NVIDIA GPU video decoding support (now in the mainline SVN)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
It is because you have xrandr (Auto refresh rate) enabled - it was force disabled until a day or two ago. It is being worked on.
MrIcka Wrote:I can't get it to work perfect. I'm running a motherboard with Geforce 8300 and my 3200+ Athlon @ 2000Ghz. It decodes 1080p nice when I run XBMC in 720p resolution but when I go 1080 in XBMC i get alot of frame drops and a jerky play =\

This is on Ubuntu 8.10 with Nvidia 180.35 drivers.

You may try to uninstall powernowd, some people have reported success after uninstalling that (with slow video before uninstalling it). Also I've seen people report slow vids with similar setups because of bad RAM, or running the RAM outside of dual channel guidelines for their motherboard. I had similar issues with an 8200 and 3850 Athlon which were solved when I updated the BIOS which had updated agesa information.

I'd try all those things, it will at least narrow it down.
Also try disabling pulse.

For those with the Xrandr trouble, potential fix on SVN. Let me know how that goes.
motd2k Wrote:Also try disabling pulse.

For those with the Xrandr trouble, potential fix on SVN. Let me know how that goes.

SVN18298:
OK without auto refresh enabled

With auto refresh enabled:
Video started, no picture, sound for about some seconds, then freeze
Debug log:

http://pastebin.com/m7ea75f2d
papaf Wrote:As stated before, in order to play 1080 content you have to be sure your videocard has 512Mb available. Check your BIOS settings.

Yes 512MB video memory set in BIOS

philter Wrote:You may try to uninstall powernowd, some people have reported success after uninstalling that (with slow video before uninstalling it). Also I've seen people report slow vids with similar setups because of bad RAM, or running the RAM outside of dual channel guidelines for their motherboard. I had similar issues with an 8200 and 3850 Athlon which were solved when I updated the BIOS which had updated agesa information.

I'd try all those things, it will at least narrow it down.

Pulse is disabled, powernow not installed (didn't work at all well with it installed), 2GB 800Mhz dual channel RAM, Now running it on XBMC live but the same problem.
I will try to update the BIOS today, hope it works better then =) Motherboard: Asus M3N78-EM
asandir Wrote:You could consider this ppa - http://www.avenard.org/media/Ubuntu_Repo...itory.html

I haven't tried them though.

Cheers! I used deb http://www.avenard.org/files/ubuntu-repos/ release/ and they work like a charm.

motd2k Wrote:Also try disabling pulse.

For those with the Xrandr trouble, potential fix on SVN. Let me know how that goes.

Pulse is disabled (i believe as i could not get SPDIF to work with pulse), I will try the new SVN tomorrow and report back. I will also try disabling auto refresh rate if that fails.
motd2k
I am sure you are working on a fix for "pthread_mutex_destroy(&m_mutex)): [XCriticalSection.cpp:86]", but I was able to reproduce it on demand in case you want to test it, I was just launching the trailer in the movie info section and XBMC crashed. BTW this is a clean install of the latest code.

01:26:15 T:2793397136 M:128462848 DEBUG: SECTION:LoadDLL(special://xbmc/system/players/dvdplayer/avformat-52-i486-linux.so)
01:26:15 T:2793397136 M:128462848 DEBUG: Loading: /usr/share/xbmc/system/players/dvdplayer/avformat-52-i486-linux.so
01:26:15 T:2793397136 M:127438848 INFO: ffmpeg: Input #0, flv, from 'http://www.totaleclips.com/Player/Bounce.aspx?eclipid=e40748&bitrateid=314&vendorid=102&type=.flv':
01:26:15 T:2793397136 M:127438848 INFO: ffmpeg: Duration: N/A, start: 0.000000, bitrate: N/A
01:26:15 T:2793397136 M:127438848 INFO: ffmpeg: Stream #0.0: Video: 0x0000, inf tb©
01:26:15 T:2793397136 M:127438848 INFO: ffmpeg: Stream #0.1: Audio: 0x0000, 0 channels, s16
01:26:15 T:2793397136 M:127438848 NOTICE: Opening video stream: 0 source: 256
01:26:15 T:2793397136 M:127438848 NOTICE: Creating video codec with codec id: 0
01:26:15 T:2793397136 M:127438848 NOTICE: Constructing CDVDVideoCodecFFmpeg
01:26:15 T:2793397136 M:127438848 DEBUG: FactoryCodec - Video: FFmpeg - Opening
01:26:15 T:2793397136 M:127438848 NOTICE: Creating VDPAU(0x0)
01:26:15 T:2793397136 M:127438848 DEBUG: Found 6 fbconfigs.
01:26:15 T:2793397136 M:127438848 DEBUG: Using fbconfig index 1.
01:26:15 T:2793397136 M:127438848 INFO: GLX: Created Pixmap context
01:26:15 T:2793397136 M:127438848 INFO: GLX: Creating shared Pixmap context
01:26:15 T:2793397136 M:135766016 WARNING: Cleanup: Having to cleanup texture pointer-focus.png
01:26:15 T:2793397136 M:135766016 DEBUG: GL: Sharing screen surface for thread 2793397136
01:26:15 T:2793397136 M:135766016 ERROR: (pthread_mutex_destroy(&m_mutex)): [XCriticalSection.cpp:86] 16
01:26:15 T:2793397136 M:135663616 NOTICE: HAL: Unmounts MEDIA2
01:26:15 T:2793397136 M:135663616 NOTICE: HAL: UnMounting /org/freedesktop/Hal/devices/volume_uuid_F67C956A7C952681 (UUID F67C956A7C952681 | FileSystem ntfs | Mounted on /media/MEDIA2 | HotPlugged YES | Type 1 |Approved YES )
I am a little concerned over some of the comments made in ticket #5850 on track, considering a lot of hard work has been done to implement VDPAU in XBMC by Motd2k and others. I am no developer but I can read and it seems as if there is a little hostility over VDPAU development. I have taken a little time to formularize myself with the basics of hardware based video decoding under Linux and from what I understand VDPAU is the best we have, simply based on the fact that it actually works and is “in the wild”. Sure there are competing APIs but I haven’t found any working drivers that support them, and I also haven’t found any apps implementing them. For me at least this means nVidia won the API war for the time being as their API is the only one that is currently deployed and actually works. Additionally popular packages such as mplayer and ffmpeg being developed to support it. Correct me if I’m wrong but these types of comments kind of give me the feeling that VDPAU will never be merged back up stream.

Peace,
Slice

P.S. what is the status of the VDPAU development being done? Is the port complete? Is it stable? When can we as a community expect a “finished” product, meaning that the API has been implemented in XBMC completely as much as is required by XBMC?
Don't worry, its just a matter of ironing out some bugs and cleaning up the code. If it doesn't make it for 9.04, it'll be in 9.10.


motd
motd2k Wrote:Don't worry, its just a matter of ironing out some bugs and cleaning up the code. If it doesn't make it for 9.04, it'll be in 9.10.


motd

That is simply wonderful! I truly stand all amazed at how much you have been able to accomplish in such as short period of time. Anyways, I am looking forward to it in 9.04 and if it doesn’t make it then 9.10. Any idea on when the feature freeze will come into effect? I mean version 9.04 is scheduled to be out on 4-29-09.
motd2k I want to thank you and the entire team for the great effort. Yesterday I decided to donate to the project to support you guys mainly because of your effort with VDPAU Smile

I took the plunge and swapped my core 2 duo and 7100gs setup with a VDPAU compatible setup to try and make it more silent and use less power Smile

It works perfectly. It can play back 1080p even the killa sample with very low CPU usage and no dropped frames. No problems playing non-VDPAU accelerated content either. :cool2:

Here's how much the CPU is loaded during playback:

720p: cpu load 5-10%

1080p: cpu load 10-15%

killa sample: cpu load 27%

I guess I could try and find an even lower clocked CPU since this is more that sufficient Smile This is a single core CPU with small amount of cache which doesn't seem to be a problem at all.


Once again thanks for the great effort.


In case people are curious here's my setup:

mobo: gigabyte ga-e7aum-ds2h with integrated nvidia 9400

cpu: intel celeren L-430 1.8GHz (low power )

memory: kingston twinx 4x1GB dual channel (maybe a bit overkill,but it was cheap as chips so I had to buy it lol )

case: silverstone lascala lc-02

OS: XBMC Live 8.10 (ubuntu hardy), nvidia 180.35 drivers

everything runs off a 4GB USB stick.

Still working on reducing the noise even more and trying to cool the nvidia 9400 a bit more. It does go up to 70 degrees sometimes. But it shouldn't be a problems since it's rated to a max of around 100 or so. But still ,I prefer it to be cooler Smile
Well there's overclocking and then there's.... underclocking :-) that Celeron is probably running an unlocked multiplier that allows you to LOWER but not raise it's ratio. You can lower the multiplier OR you can lower it's input clock to go even slower. I know guys doing this on unRAID NAS and they have found measurable differences in power\heat. So if you really do find that it's not too slow you could slow it further - my concern being it will take forever to compile new builds lol! Anyway, poke around in the BIOS and you'll find that going even slower should be possible. Do please let us know where the floor is, I suspect lowering multiplioer would be better than input clock though unless you can keep memory speed up - the IGP seem to be sensitive to memory bandwidth...
BLKMGK Wrote:the IGP seem to be sensitive to memory bandwidth...

That is only on AMD (or Core i7) since they got the memory controller on the die. Unfortunately i had to run my x2 4850 at a minimum of 1800 MHz to deliver enough bandwidth to the IGP, however 1000 MHz was by far enough using vdpau (on mplayer). To lower power consumption one may try cpupowerd on AMD or phc on Intel.
BLKMGK Wrote:Well there's overclocking and then there's.... underclocking :-) that Celeron is probably running an unlocked multiplier that allows you to LOWER but not raise it's ratio. You can lower the multiplier OR you can lower it's input clock to go even slower. I know guys doing this on unRAID NAS and they have found measurable differences in power\heat. So if you really do find that it's not too slow you could slow it further - my concern being it will take forever to compile new builds lol! Anyway, poke around in the BIOS and you'll find that going even slower should be possible. Do please let us know where the floor is, I suspect lowering multiplioer would be better than input clock though unless you can keep memory speed up - the IGP seem to be sensitive to memory bandwidth...

Way ahead of you Smile I've underclocked it to 1.5GHz at the moment and the load is still very low. Actually not much higher than before.

Also I've dropped the supply voltage down from 1.28 to 1.05.

So far temperatures have dropped about 10 degrees C.

There doesn't seem to be a multiplier modifier in the bios of the
ga-e7aum-ds2h Sad

I've even tried upgrading the bios to the latest version to no avail.

What I've done so far is drop the FSB down from 800 to 666. At the same time I've let the memory remain at the 800 MHz it was at standard clock. For some reason I can't get the FSB below 600 because then it won't boot :confused2:

Still needs some more testing. But I'm very pleased so far. I've been able to lower the fan speed to the lowest setting now and the noise has dropped dramatically. I'm considering some new even more silent fans or perhaps an external fanless power supply or something like that Smile
SVN:18315
Update:
Video now does not bomb out back to the desktop when the video ends when auto refresh rate is enabled.

But now it has the following issues:

* seems like any HD file i try to play with or with out auto refresh rate enabled, fails to play. Sometimes it bombs out back to the desktop, sometimes the audio plays for a few seconds then stops hangs, but mostly it displays a jumbled up mosaic of either a frame from the video file or the xbmc menu/skin with the audio playing. The latter does not crash, so i can just hit stop and it drops backk to the menu. All SD content seems perfect.

Here are the logs for the different symptoms i have:

Crash xbmc on start of HD file:
(to come, big log and pastebin does not like it)

Mosaic HD Video with autorefresh on:
http://pastebin.com/m430497da

No Video, sound for a few seconds and hang (arr on):
http://pastebin.com/m1fb9f917

Auto refresh off, hd file, audio but no video (little white boxes in the left top corner):
http://pastebin.com/m4599e459