• 1(current)
  • 2
  • 3
  • 4
  • 5
  • 22
  •   
No multithreaded Video decoding on XBMC INTREPID version (in-depth testing)
#1
I was making an in-depth testing of Hardy and intrepid versions of XBMC, because there are a lot of people having problems with the Intrepid version. There are already some threads and tickets about this problem. I found out that with all versions of Hardy based distributions the CPU core load is even, whilest on the Interpid distros (including Server, Alternate, Kubuntu, x86, x64 versions) it is totally uneven. I made screenshots of this problem on both systems:

Screenshot from XBMC playing 1080p video on HARDY (with core utilization data)

Image

Screenshot from XBMC playing 1080p video on INTREPID (with core utilization data)

Image

It can be seen clearly that with the Hardy version there are no problems at all, core loads are almost perfectly even, framedrops are the only ones generated at the begining of the playing but not increasing at all while the whole of the movie.

On the Intrepid version it's a whole different story. Core load is totally uneven 80-100 % against 5-25%, there are a lot of dropped frames and the framerate is also slow.

I tested also the stable and the latest SVN version with the same result.

I tested it on an Nvidia 9400 integrated motherboard with Core 2 Duo 7200 CPU and also an Intel P35 based motherboard with an Nvidia 8600 GPU with the same results (of course the utilizations may differ)

Any Devs out there, we just need a little help what could be the problem. Maybe it is just an added option line in the ffmpeg compile configuration script what we need ! Where can we look for the solutions. I am ready to test out anything on any system what you say.

Thank you in the name of all others who would like to use the new Kernel for better audio or Mobo chipset support.

Corresponding threads and tickets:

http://forum.xbmc.org/showthread.php?tid=42721
http://forum.xbmc.org/showthread.php?tid=42668

http://trac.xbmc.org/ticket/5556
http://trac.xbmc.org/ticket/5423
Reply
#2
I can't shed any light on it, but some people have observed a decreased performance when running SMP [email protected]Home on 8.10 vs. 8.04. They attribute it to the new kernel.
Reply
#3
Thanks for the info, but it is not just a slight performance difference in this case. What we can see is practically having one core working instead of two.

Does this mean that we have to stick for 2.6.24 kernel forever ? Stare
Reply
#4
I've just installed Hardy kernel (linux-image-2.6.24-22-generic) in Intrepid and the CPU load is even (cpu0=~80%, cpu1=~75%), using the current Intrepid kernel (linux-image-2.6.27-9-generic) the cpu load is cpu0=100%, cpu1=25% with the resulting framedrop

Must be something with the kernel, is there any backported kernel for intrepid to try?
Reply
#5
It is actually the new Kernel what a lot of people need for newer hardware, so i think there is no sense using Intrepid with an old Kernel.

I wonder how it would work on th brand new Kernels for Jaunty..

I tried alpha 2, but it ships with a new xorg ans there is no nvidia support for that.
Reply
#6
You could add the jaunty repository temporarily and install the kernel image and headers (and possibly restricted modules) and then disable that repository again. But this might be unadvisable, for one you won't get the kernel updates (including security updates and who knows, maybe major bugfix updates) unless checking that manually everytime. And also I think there is an update of libc6 involved because of dependencies - at least on slackware I have caused major problems with a borked installation of libc - that almost caused me to reinstall the whole system.
Better solution might be to compile the new kernel from source and test that first, if it solves the problem.

edit: spelling mistakes
Reply
#7
@alanwww1
yesterday i installed jaunty alpha2 and, of course, had troubles with nvidia not supporting the right version of xorg... but there is a solution: install 180.18 and put at the end of xorg.conf this code
Code:
Section "ServerFlags"
Option "IgnoreABI" "True"
EndSection
that's all... anyway, still had no time to test with 1080p, will let you know tomorrow
Reply
#8
alanwww1 this is pretty much what I experience too when I tested Intrepid and hardy
intrepid works flaky and drop frames and hardy is 100% fine. (with XBMC of course)
Reply
#9
If it was a kernel option change, why not try to get to the bottom of what changed?

Diffing the .configs would help. I don't have an ubuntu box handy, so I can't help.

Could someone running Hardy/Intrepid pastebin their config (and specify which it is)? Could be at /proc/config.gz if the kernel option is set, otherwise somewhere in /boot/config-* or /usr/src/linux/.config if the proper packages are installed.

TheUni
Reply
#10
succo Wrote:@alanwww1
yesterday i installed jaunty alpha2 and, of course, had troubles with nvidia not supporting the right version of xorg... but there is a solution: install 180.18 and put at the end of xorg.conf this code
Code:
Section "ServerFlags"
Option "IgnoreABI" "True"
EndSection
that's all... anyway, still had no time to test with 1080p, will let you know tomorrow

Thanks for the tip Succo !

I try it today and report back ! Ireally think that with the brand new kernel we don't run into this problem !!!
Reply
#11
theuni Wrote:Could someone running Hardy/Intrepid pastebin their config (and specify which it is)? Could be at /proc/config.gz if the kernel option is set, otherwise somewhere in /boot/config-* or /usr/src/linux/.config if the proper packages are installed.
TheUni

config-2.6.27-9-generic:
http://pastebin.com/m7dade9d9

config-2.6.24-22-generic:
http://pastebin.com/m75560fb

doing a diff config-2.6.27-9-generic config-2.6.24-22-generic|grep CPU|sort the only diference I see is:
< CONFIG_NR_CPUS=64
> CONFIG_NR_CPUS=8
Reply
#12
ok, i think i'm going to confuse a little... i tested with 1080p 57hz and this is what i have as a result

Image

so, as usual, i put back xbmc resolution at 1080i and this is the result

Image

so, 1080p is uneven (the strange thing is that if 'window' xbmc pushing \ it gets even and i have no more dropped frames) while in 1080i it's even
Reply
#13
Hirs-

I got a headache trying to parse the diff... it's a big one. Far too much to find the culprit (if there is one).

Are you comfortable building your own? If so, try building the intrepid kernel with the hardy options. To do this, copy the contents of the hardy config to /usr/src/linux/.config. make oldconfig. hit enter to all of the changes, it'll pick the defaults. then make && make modules_install. then copy the bzimage to /boot and modify the menu.lst or grub.conf

There may be a more ubuntu-ish way of doing that, not sure. But the performance of the resulting kernel should narrow down whether it was kernel-code change, or kernel-option change. It would also give us an apples to apples config to diff.

TheUni
Reply
#14
The problem is likely in the code more so than the configuration. Something in process scheduling. The threads are there, but the OS is scheduling them on the same core for some reason. I get balanced decoding until the video hits really high bitrate decoding on killa, I don't have any other samples that exhibit the behavior.
Reply
#15
succo Wrote:so, 1080p is uneven (the strange thing is that if 'window' xbmc pushing \ it gets even and i have no more dropped frames) while in 1080i it's even

If look at gnome system monitor, the load is balanced. I think this is just XBMC misreporting the CPU loads.
Reply
  • 1(current)
  • 2
  • 3
  • 4
  • 5
  • 22
  •   
 
Thread Rating:
  • 1 Vote(s) - 5 Average



Logout Mark Read Team Forum Stats Members Help
No multithreaded Video decoding on XBMC INTREPID version (in-depth testing)51