XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post Reply
mdrjr
Site Admin
Posts: 11965
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Has thanked: 5 times
Been thanked: 110 times
Contact:

XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by mdrjr »

--- Technical stuff ---
As everyone might know we have issues playing back 1080p on 1080p.
Most of us tough that the issue would lie in the Hardware Decode block (MFC). Kibergus didn't found that we didn't had any issue over the MFC but yet on the presentation of the images to the screen.
We did got Mali r4p0 drivers from ARM and this image packs this new driver. The new driver doesn't use UMP anymore but instead its using dma-buf.
Also, we don't relay on xf86-video-mali anymore but yet on armsoc ddx.

Kernel: https://github.com/hardkernel/linux/tre ... -mali_r4p0
DDX: http://git.linaro.org/arm/xorg/driver/x ... armsoc.git
DDX works by dsd: https://github.com/dsd/xf86-video-armsoc/tree/r4p0
XBMC Sources: https://github.com/mdrjr/xbmc

There's one major issue in using that combo that I'll discuss below. That's why the kernel for it is being kept for now as a different branch.
--- END Technical stuff ---


We present you our rev2. XBMC version.
Its based on our Ubuntu 13.10 image, using the LXDE GUI. (Its the same Xubuntu image that we provide already, but instead with LXDE over XFCE).

It's still considered experimental.

I've tested several 1080p videos and got not a single framedrop
.

I urge you to NOT run the kernel-update or the xbmc-update scripts on that image. If there's something urgent to be fixed at kernel level I'll post a method on how to do such.

XBMC Version is 12.3 Frodo
CEC is working (must use HDMI1 input)
Samba issue is Fixed
PVR addons are installed (I haven't tested it)


New Features:
Its now possible to change resolution on the image. (by using regular Ubuntu Display Settings).
Tearing on videos is now heavily reduced.

Current known issues:
- 2D Operations are slow (such as moving large windows). This doesn't affect XBMC.
This is an issue on the armsoc DDX that is KNOWN to ARM. Happily for us, there are a good skilled person attempting to fix that. -> @dsd
- Some videos eg. Big buck bunny will fail to render. That is believed to be caused when you reach the maximum codec speeds.


Supported video formats: (Those are the absolute maximums, if your video exceed those you'll have issues).

H.264 - High Profile Level 4.0 1920x1080 @ 30fps @ 20Mbps
H.263 - Profile 3, Level 70 D1 @ 30fps @ 8Mbps
MPEG4 - Advanced Simple Profile Level 5 D1 @ 30fps @ 8Mbps (XviD is supported).
MPEG2 - Main Profile High Level - 1920x1080 @ 30fps @ 40Mbps
VC-1: Advanced Profile Level 3, 1920x1080 @ 30fps @ 45Mbps

Maximum Absolute Image sizes are:
1920x1088 on Progressive mode
1920x544 on Interlaced mode

Please hold a few hours before downloading, New images with newer driver will make 2d performance a lot better.

Images are updated with a faster driver! Download the 20140408 version.

Download link: http://www.odroid.in/lubuntu-13.10-xbmc/

GUIDE: How to rebuild ARMSOC ddx based on dsd repo
1. Dependencies:

Code: Select all

apt-fast build-dep xserver-xorg-video-armsoc
apt-fast install git
2. Sources & build:

Code: Select all

git clone https://github.com/dsd/xf86-video-armsoc.git -b r4p0
cd xf86-video-armsoc
./autogen --with-drmmode=exynos
make -j5
make install
3. Install

Code: Select all

cp /usr/local/lib/xorg/modules/drivers/armsoc_drv.* /usr/lib/xorg/modules/drivers
Reboot and enjoy

dsd
Posts: 61
Joined: Wed Nov 06, 2013 12:53 am
languages_spoken: english
Has thanked: 0
Been thanked: 0
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version

Post by dsd »

Thanks for publishing this. The performance increase is likely because fullscreen 3D apps (like XBMC?) can now render "to the screen" without relying on the CPU doing the final pixel-pushing from the GPU's rendering output as before. The move to xf86-video-armsoc also means hardware cursor, dynamic resolution switching, etc.

https://github.com/dsd/xf86-video-armsoc/ branch r4p0 already has a patch that will improve 2D and 3D performance somewhat, lets see what else I can fix.

mdrjr
Site Admin
Posts: 11965
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Has thanked: 5 times
Been thanked: 110 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version

Post by mdrjr »

dsd wrote:Thanks for publishing this. The performance increase is likely because fullscreen 3D apps (like XBMC?) can now render "to the screen" without relying on the CPU doing the final pixel-pushing from the GPU's rendering output as before. The move to xf86-video-armsoc also means hardware cursor, dynamic resolution switching, etc.

https://github.com/dsd/xf86-video-armsoc/ branch r4p0 already has a patch that will improve 2D and 3D performance somewhat, lets see what else I can fix.
Hey!

I've updated the OP with your git repo :) Thanks for the work :)

User avatar
memeka
Posts: 4420
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Has thanked: 2 times
Been thanked: 61 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version

Post by memeka »

Congrats.

XBMC running full speed 1080p + nearing Gotham release soon + Ubuntu 14.04 releasing this month = gold.

Edit: will the new mali driver work with xf86-video-mali ?

mdrjr
Site Admin
Posts: 11965
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Has thanked: 5 times
Been thanked: 110 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version

Post by mdrjr »

Nope, it won't work with the old ddx.

User avatar
memeka
Posts: 4420
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Has thanked: 2 times
Been thanked: 61 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version

Post by memeka »

@mdrjr - heads up: Gotham branch :)

mdrjr
Site Admin
Posts: 11965
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Has thanked: 5 times
Been thanked: 110 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version

Post by mdrjr »

memeka wrote:@mdrjr - heads up: Gotham branch :)
I'll only deal with Gotham when its final and PVR addons are known to work with it.
Right now they fail even to show to menu..

Also there are some fixes from kibergus that aren't on the gotham branch

But thanks :)

User avatar
memeka
Posts: 4420
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Has thanked: 2 times
Been thanked: 61 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version

Post by memeka »

Gotham branch has the kibergaus patches applied :)

dsd
Posts: 61
Joined: Wed Nov 06, 2013 12:53 am
languages_spoken: english
Has thanked: 0
Been thanked: 0
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version

Post by dsd »

I pushed another performance fix, this one for 2D apps. There is still room for improvement but I think this might be "good enough" now - or can you still solidly perceive a 2D performance regression over r3p2?

In some situations you will also need X server patch https://gist.github.com/dsd/6f2984f87f972f62d53e
Not sure if XBMC is affected, but you can see this bug quite clearly if you run a raw X session and launch es2gears, the measured FPS will continually decrease.

mdrjr
Site Admin
Posts: 11965
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Has thanked: 5 times
Been thanked: 110 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version

Post by mdrjr »

Nope.. on XBMC fps's are rock solid.

EDIT: Dammit.. that last commit makes it wonderful!

robroy
Posts: 3459
Joined: Mon Feb 25, 2013 2:29 am
languages_spoken: English
ODROIDs: Q2, X, X2, U2, U3, XU-E, XU3, XU4, C1, C1+, C2, GO, GO Advance, H2+
Location: Northern California
Has thanked: 3 times
Been thanked: 38 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version

Post by robroy »

What steps do I need to take in order to apply the fixes/updates/etc to one of my images ?
Rob Roy, Editor-in-Chief of ODROID Magazine (submit an article | make a donation)

mdrjr
Site Admin
Posts: 11965
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Has thanked: 5 times
Been thanked: 110 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version

Post by mdrjr »

robroy wrote:What steps do I need to take in order to apply the fixes/updates/etc to one of my images ?
Replace Mali blobs with the ones on that image.
Replace the DDX Driver by the ones listed on the thread.
Replace the kernel with the sources listed.

mdrjr
Site Admin
Posts: 11965
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Has thanked: 5 times
Been thanked: 110 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by mdrjr »

Updated all images with newer ddx driver.. Way better performance now

bgeneto
Posts: 11
Joined: Wed Apr 09, 2014 5:51 am
languages_spoken: english, portuguese
ODROIDs: U3, C1
Location: Brazil
Has thanked: 0
Been thanked: 0
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by bgeneto »

Hi! I`m testing the 20140408 image but I`m getting the following error at xbmc start (via command line):

libGL error: failed to load driver: armsoc
libGL error: Try again with LIBGL_DEBUG=verbose for more details.

And the following after exiting the application:

Segmentation fault (core dumped)
Crash report available at /home/odroid/xbmc_crashlog-20140408_181204.log

(I`ve attached the corresponding log file.)

Unfortunately I can`t play any 1080p without frame drops, is there anything that I can do to correct the load driver problem? I have just received my first odroid. Coming from RPi.

Also I would like to know if there is any script to allow us to start xbmc as standalone app at startup (like the one for Debian Jessie which does not seems to use a gui like xfce or lxde).

TIA.

bgeneto
Attachments
xbmc_crashlog-20140408_181204.log
(12.77 KiB) Downloaded 1736 times

mdrjr
Site Admin
Posts: 11965
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Has thanked: 5 times
Been thanked: 110 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by mdrjr »

This error is fine.. won't affect XBMC usage..

User avatar
odroid
Site Admin
Posts: 41864
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 3433 times
Been thanked: 1920 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by odroid »

The biggest news in this year! :o

User avatar
memeka
Posts: 4420
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Has thanked: 2 times
Been thanked: 61 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by memeka »

Is compiz/unity3d working with the new driver?

mdrjr
Site Admin
Posts: 11965
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Has thanked: 5 times
Been thanked: 110 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by mdrjr »

memeka wrote:Is compiz/unity3d working with the new driver?
Unity3D runs over OpenGL not GLES.

User avatar
memeka
Posts: 4420
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Has thanked: 2 times
Been thanked: 61 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by memeka »


mdrjr
Site Admin
Posts: 11965
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Has thanked: 5 times
Been thanked: 110 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by mdrjr »

Nice, last update 2012 :)

User avatar
memeka
Posts: 4420
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Has thanked: 2 times
Been thanked: 61 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by memeka »

Yeah I saw that :)
But there is a video on youtube from some expo where some linaro ppl shows unity3d working on pandaboard gles :)
Just that i could not find their repo...

mdrjr
Site Admin
Posts: 11965
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Has thanked: 5 times
Been thanked: 110 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by mdrjr »

Lets keep this thread only about xbmc ok?

User avatar
odroid
Site Admin
Posts: 41864
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 3433 times
Been thanked: 1920 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by odroid »

20140408 release is realy fantastic.
Is the G2D acceleration activated?

mdrjr
Site Admin
Posts: 11965
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Has thanked: 5 times
Been thanked: 110 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by mdrjr »

Nope.. no G2D

usee
Posts: 113
Joined: Thu Sep 26, 2013 4:28 am
languages_spoken: english
ODROIDs: ODROID-XU, U3, XU3, C1, Weather board, show1
Has thanked: 0
Been thanked: 0
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by usee »

This is really n o t a b l e work. A g r e a t image. I recommend to anyone. :D
Among others, one can change display resolution at runtime.

haare
Posts: 87
Joined: Fri May 10, 2013 2:07 am
languages_spoken: english
ODROIDs: U2
Has thanked: 0
Been thanked: 0
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by haare »

Hello,

Cec works great!
- Had to disable odroid from going to standby when closing tv

1080p is pretty much as good as with android.
With stream I had crashing, but could be not related to this buid

1) problem though. When I close the tv and open it again I will lose cec-control. It doesn't activate itself again. Any way to fix this? If I turn xbmc off and on again, it works again. Or if I switch cec on-off from xbmc settings.

mdrjr
Site Admin
Posts: 11965
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Has thanked: 5 times
Been thanked: 110 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by mdrjr »

haare,

Dunno, I need to check why CEC is crashing. Please forgive us :( Its our first time using CEC :P

User avatar
memeka
Posts: 4420
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Has thanked: 2 times
Been thanked: 61 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by memeka »

CEC is working fine for my TV (Sony Bravia) - even after shutting down TV and opening it again; With TV off I can still see the odroid on my phone via Airplay - If I start playing music on the phone then the TV will wake up.
Not working for you can be from many reasons: cec driver, cec library, xbmc, your TV :)
For example I do not turn OFF my TV, but by default pushing the remote OFF button will put it in a sleep mode; also, on the remote I have some CEC buttons where I can enable/disable CEC on the HDMI input - if you have the same then try to reactivate CEC from the remote ...

User avatar
streetboy
Posts: 196
Joined: Tue Feb 26, 2013 6:43 pm
languages_spoken: english
ODROIDs: ODROID-X,U2,XU3-Lite
C1, XU4
Has thanked: 0
Been thanked: 0
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by streetboy »

The greatest image since I have used several ODROID boards for 2 years.
Thank you guys.. mdrjr, dsd and odroid. Finally we can have a tiny Full-HD HTPC. 8-)
80~90% of my HD/FHD video clips are running flawlessly.

I have a couple of questions.
1. Why did you swtich to LXde from Xfce?
2. GL-ES performance is lower than previous release. Why? Due to the new Mali400 blobs? or ARMSOC video driver?
3. Do you have any plan to fix the BigBuckBunny playback issue? Hard-frame-drop seems to be a solution?
4. In the Display Settings, I could find 1280x1024, 1024x768, 800x600, 640x480 as well as wide TV-like 720 or 1280.
Does it support old 4:3 aspect ratio monitors too?

Anyway, it's time to buy more U3s for my friends and families. :twisted:

mdrjr
Site Admin
Posts: 11965
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Has thanked: 5 times
Been thanked: 110 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by mdrjr »

streetboy wrote:The greatest image since I have used several ODROID boards for 2 years.
Thank you guys.. mdrjr, dsd and odroid. Finally we can have a tiny Full-HD HTPC. 8-)
80~90% of my HD/FHD video clips are running flawlessly.

I have a couple of questions.
1. Why did you swtich to LXde from Xfce?
2. GL-ES performance is lower than previous release. Why? Due to the new Mali400 blobs? or ARMSOC video driver?
3. Do you have any plan to fix the BigBuckBunny playback issue? Hard-frame-drop seems to be a solution?
4. In the Display Settings, I could find 1280x1024, 1024x768, 800x600, 640x480 as well as wide TV-like 720 or 1280.
Does it support old 4:3 aspect ratio monitors too?

Anyway, it's time to buy more U3s for my friends and families. :twisted:
I'm glad you liked.

1. Ah, LXDE looks better and its more friendly. XFCE was boring me already :P
2. Nope, GLES performance isn't lower. Its fast ~50% faster them it was previously. There seems to be a issue where non-fullscreen apps are affected.
Actually the issue before was GLES performance not the MFC.
3. We don't know yet what causes the issues on BigBuckBunny. Nor I don't know if hard-frame dropping will fix something.
We need to understand what's causing it in order to find a solution. As you tested 90% of the videos around the webs will work just fine. Its just a minor amount that will have issues.
MAYBE, some codec option during encoding that the MFC doesn't support? Don't know... We are still trying to understand what is causing that.
For now, I'm VERY satisfied with the current status. dsd made some more progresses today on the DDX driver, so there should be more improvements on the 2D userland :P
4. Those options (4:3 ones) aren't officially support by the Exynos chip, they are hack's done on the drivers to support it.
It may and may not work. Its there, if it works for you fine.. If it doesn't sorry. We are still bound to the officially support resolutions.

Hope it clarifies :)

kibergus
Posts: 401
Joined: Sat Feb 23, 2013 11:23 pm
languages_spoken: english, russian
ODROIDs: U2 X2
Has thanked: 0
Been thanked: 0
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by kibergus »

Hello. I've made some tests of this image on X2 board and here are the results:
When playback works - it works good. And thi is really great! I've seen framedrops only on quite heavy 1080i blueray disk which causes problems on other devices too. Unfortunately on many videos there are places where decoding would stuck the same way as big buck bunny stucks.
Another problem that I've encountered are broken pvr plugins. If I enable vuplus plugin xbmc would always segfault on startup. So I couldn't test DVB streams decoding.
3. Do you have any plan to fix the BigBuckBunny playback issue? Hard-frame-drop seems to be a solution?
No. When this happens MFC goes to a broken state and would not decode any more video unless you reinitialize it. I can try to add kludge similar to XU. But in any case this will result to visible and disgusting artifacts during playback. If they happen more or less often it would be hard to watch films.

----

mdrjr, can you please post configure options you have used to build xbmc. I've tried to build it, but it does not work well. When it starts first I see welcome logo (black screen with elliptic xbmc logo), and then screen starts to blinkink rapidly: one frame with xbmc startup logo, another with xbmc desktop. And it does not react on keyboard.

mdrjr
Site Admin
Posts: 11965
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Has thanked: 5 times
Been thanked: 110 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by mdrjr »

Code: Select all

./configure --enable-neon --enable-gles --disable-gl --disable-vdpau --disable-vaapi --disable-crystalhd --disable-openmax --enable-exynos4 --enable-libcec --disable-xrandr --disable-rsxs --disable-fishbmc --disable-projectm --disable-nfs --enable-non-free --enable-optical-drive --disable-libbluray --disable-joystick --disable-debug --enable-optimizations --enable-ccache --host=armv7a-hardfloat-linux-gnueabi --disable-alsa --with-cpu=cortex-a9  --enable-pulse --prefix=/usr/local --enable-x11 --enable-sdl

FFMPEG_CFLAGS="-march=native -mfloat-abi=hard -mfpu=neon -ftree-vectorize -mvectorize-with-neon-quad -ffast-math -mcpu=cortex-a9 -mtune=cortex-9 -O3 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2"
CFLAGS="-march=native -mfloat-abi=hard -mfpu=neon -ftree-vectorize -mvectorize-with-neon-quad -ffast-math -mcpu=cortex-a9 -mtune=cortex-a9 -O3 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2"

There you go :)

Edit: What's the resolution of the 1080 interlaced video? Isn't it exceeding the maximum resolution that the MFC can support (ref. post #1)

User avatar
OverSun
Posts: 1493
Joined: Mon Apr 29, 2013 5:12 pm
languages_spoken: english
Has thanked: 0
Been thanked: 19 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by OverSun »

Amazing achievements, guys! Congratulations.
Sorry I didn't take part in any of it, but since I got the -XU and it is working flawlessly for me as HTPC I'm so happy with it...
I hope my initial work on all of that was any help bringing things to current state, and good luck further on all this!

User avatar
streetboy
Posts: 196
Joined: Tue Feb 26, 2013 6:43 pm
languages_spoken: english
ODROIDs: ODROID-X,U2,XU3-Lite
C1, XU4
Has thanked: 0
Been thanked: 0
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by streetboy »

Oh.. 1280x1024, 1024x768 and 640x480 modes are working on my 10 years old Dell 17inch DVI monitor with a very cheap hdmi - dvi adapter . :o
But 800x600 doesn't work. Anyway 1280x1024 is enough for my little son. Thank you so much. I think the armsoc driver brought the magic.

I am trying to swtich to XFCE and check the XBMC performance. I am very excited too much. :D

User avatar
odroid
Site Admin
Posts: 41864
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 3433 times
Been thanked: 1920 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by odroid »

streetboy wrote:Oh.. 1280x1024, 1024x768 and 640x480 modes are working on my 10 years old Dell 17inch DVI monitor with a very cheap hdmi - dvi adapter . :o
But 800x600 doesn't work. Anyway 1280x1024 is enough for my little son. Thank you so much. I think the armsoc driver brought the magic.
Thank you for the valueable information. I think we can recycle the old monitors for our earth. :D

kibergus
Posts: 401
Joined: Sat Feb 23, 2013 11:23 pm
languages_spoken: english, russian
ODROIDs: U2 X2
Has thanked: 0
Been thanked: 0
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by kibergus »

OverSun wrote:I hope my initial work on all of that was any help bringing things to current state, and good luck further on all this!
Your initial work was not just a great help, but major part of all development. Actually there was no significant changes in decoding algorithm you've wrote. It was reorganized to separate common parts for X and XU.

schferenc
Posts: 43
Joined: Fri Jan 31, 2014 11:58 pm
languages_spoken: english, hungarian
ODROIDs: Odroid XU (order, not delivered yet)
Location: Hungary
Has thanked: 0
Been thanked: 0
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by schferenc »

Hi Gents,

this image will work on XU too? When I'm going to install this, I'll get a full featured Ubuntu desktop (LXDE) + the xbmc?

User avatar
odroid
Site Admin
Posts: 41864
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 3433 times
Been thanked: 1920 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by odroid »

This image is not compatible with XU series. Sorry.

thc013
Posts: 23
Joined: Wed Dec 25, 2013 6:01 am
languages_spoken: english Dutch
ODROIDs: U3
Has thanked: 0
Been thanked: 0
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by thc013 »

the mali branch kernel is not compiling lot of errors while doing the mali drivers

and you said that you wo't use ump anymore but why is it compiled in the kernel.

youka
Posts: 163
Joined: Wed Oct 09, 2013 8:38 pm
languages_spoken: english
ODROIDs: Odroid XU+E, U2, U3, XU3, XU4 + Cloudshell
Has thanked: 0
Been thanked: 0
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by youka »

thc013 wrote:and you said that you wo't use ump anymore but why is it compiled in the kernel.
Just deselect the Mali UMP stuff through menuconfig and all works well (did with me, at least).

apontares
Posts: 34
Joined: Wed Feb 12, 2014 9:44 pm
languages_spoken: english
ODROIDs: ODROID-U3
Has thanked: 0
Been thanked: 0
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by apontares »

Great work on this build!!!

One question. Is there the possibility of an update script for currently running images?

I have Debian Jessie with XBMC and would like to know of the possibility of just running an update to my current build without reimaging from scratch, to preserve my current configuration.

Thanks again for the great work!

mdrjr
Site Admin
Posts: 11965
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Has thanked: 5 times
Been thanked: 110 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by mdrjr »

Not right now... Until I consider that image as stable it won't be on any of the updates. When its stable I'll push on the updates script too

haare
Posts: 87
Joined: Fri May 10, 2013 2:07 am
languages_spoken: english
ODROIDs: U2
Has thanked: 0
Been thanked: 0
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by haare »

stability:
Great! I have had xbmc on for 24+ hours now. 0 crashes!
Memeka:
I don't think it is possible to fix cec from tv settings
Even if I disable cec from tv and enable cec again it cannot connect to odroid. It will connect to my AV receiver. I think it must be fixed from xbmc end. If I toggle cec from xbmc, It works again.

odroid_user
Posts: 5
Joined: Fri Apr 11, 2014 3:36 am
languages_spoken: english
ODROIDs: U2
Has thanked: 0
Been thanked: 0
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by odroid_user »

first of all thanks for this great work.
i had in other apps than xbmc some trouble with crackling/clicking audio (for example aplay). however it's fixed by append tsched=0 to end of the line 'load-module module-udev-detect' in /etc/pulse/default.pa. The 2nd Problem was that the 'FFMpeg FFPlay (ODROID)' shortcuts not really doing what it should because %U submits the filename as uri like 'file:///home/odroid/Downloads/blah.mp4'. - as workaround for this and some troubles with spaces in the filename i've written a little script which escapes correctly and updated shortcuts to something like "/bin/myffplay.sh -fs %F"
script looks like

Code: Select all

#!/bin/bash
case "$1" in
-fs)
	shift
	ffplay -fs """$*"""
	;;
*)
	ffplay """$*"""
esac
the 3rd problem is for sure a bug on my tv: using hdmi1 - cec works fine, but no audio (with raspberry same problem) , using hdmi2 - as known no cec but audio :D

kibergus
Posts: 401
Joined: Sat Feb 23, 2013 11:23 pm
languages_spoken: english, russian
ODROIDs: U2 X2
Has thanked: 0
Been thanked: 0
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by kibergus »

Mdrjr, I've rebuilt xbmc with your settings and now it works good. Pvr plugins stopped segfaulting and I could test DVB streams. On my first attempt playback worked correctly for quite long period of time. But all my other attempt to open stream ended with broken MFC without any decoded frames. This problem looks similar to XU problem, so I'll try similar kludges.

bgeneto
Posts: 11
Joined: Wed Apr 09, 2014 5:51 am
languages_spoken: english, portuguese
ODROIDs: U3, C1
Location: Brazil
Has thanked: 0
Been thanked: 0
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by bgeneto »

mdrjr,

Great work indeed! This is by far the best odroid U3 image I've tested. Very stable and fast.
In some situations you will also need X server patch https://gist.github.com/dsd/6f2984f87f972f62d53e
I would like to know if you have implemented the dsd "X server patch" in this image... may it is a good idea, what do you think?
Also I have noticed that after fast forwarding a video (even a 720p one) or jumping back and forth (via up and down keys) xbmc starts to exibit tearing on videos. One has to pause for a while and play it again in order to get rid of tearing. Is this a known issue while playing via network (cable, gigabit router and switch, etc… and no problem with RPi)?

Thanks again and keep going!

kibergus
Posts: 401
Joined: Sat Feb 23, 2013 11:23 pm
languages_spoken: english, russian
ODROIDs: U2 X2
Has thanked: 0
Been thanked: 0
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by kibergus »

Here are changes needed to reset MFC when it gets stuck:

Code: Select all

diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecExynos4.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecExynos4.cpp
index 1ac1433..8bd9992 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecExynos4.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecExynos4.cpp
@@ -265,7 +265,7 @@ bool CDVDVideoCodecExynos4::Open(CDVDStreamInfo &hints, CDVDCodecOptions &option
   // Dequeue header from MFC, we don't need it anymore
   timeval ptsTime;
   uint32_t sequence;
-  int index = m_v4l2MFCOutputBuffers.DequeueBuffer(sequence, ptsTime);
+  m_v4l2MFCOutputBuffers.DequeueBuffer(sequence, ptsTime);
 
   if (m_v4l2FIMCOutputBuffers.StreamOn())
     CLog::Log(LOGDEBUG, "%s::%s - FIMC OUTPUT Stream ON", CLASSNAME, __func__);
@@ -439,6 +439,7 @@ int CDVDVideoCodecExynos4::Decode(BYTE* pData, int iSize, double dts, double pts
       return VC_ERROR;
     }
     if (!SendBuffer(index, pData, iSize, pts)) {
+        Reset();
         return VC_ERROR;
     }
   }
@@ -479,14 +480,19 @@ int CDVDVideoCodecExynos4::Decode(BYTE* pData, int iSize, double dts, double pts
     if (pollRequest[1].revents & POLLOUT) {
       timeval time;
       uint32_t sequence;
-      if (m_v4l2MFCOutputBuffers.DequeueBuffer(sequence, time) >= 0) {
+      int index = m_v4l2MFCOutputBuffers.DequeueBuffer(sequence, time);
+      if (index >= 0) {
         ret |= VC_BUFFER;
       }
+      if (index == V4L2_ERROR) {
+        Reset();
+        return VC_ERROR;
+      }
     }
 
     if (pollRequest[0].revents & POLLIN) {
       int readyBuffer = DequeueBufferFromFIMC();
-      if (readyBuffer != VC_BUFFER) {
+      if (readyBuffer >= 0) {
         ret |= readyBuffer;
       }
     }
diff --git a/xbmc/linux/LinuxV4l2.cpp b/xbmc/linux/LinuxV4l2.cpp
index 45b4bf1..0f30a43 100644
--- a/xbmc/linux/LinuxV4l2.cpp
+++ b/xbmc/linux/LinuxV4l2.cpp
@@ -293,9 +293,12 @@ int Buffers::DequeueBuffer(uint32_t& sequence, timeval& time) {
   vbuf.length   = V4L2_NUM_MAX_PLANES;
 
   if (ioctl(device_, VIDIOC_DQBUF, &vbuf)) {
-    if (errno != EAGAIN)
+    if (errno != EAGAIN) {
       CLog::Log(LOGERROR, "%s::%s - Dequeue buffer", CLASSNAME, __func__);
-    return V4L2_ERROR;
+      return V4L2_ERROR;
+    } else {
+      return V4L2_AGAIN;
+    }
   }
 
   (*buffers_)[vbuf.index].bQueue = false;
diff --git a/xbmc/linux/LinuxV4l2.h b/xbmc/linux/LinuxV4l2.h
index 7795cf7..66e6fc1 100644
--- a/xbmc/linux/LinuxV4l2.h
+++ b/xbmc/linux/LinuxV4l2.h
@@ -24,6 +24,7 @@
 #include <vector>
 
 #define V4L2_ERROR -1
+#define V4L2_AGAIN -2
 #define V4L2_BUSY  1
 #define V4L2_READY 2
 #define V4L2_OK    3
But as expected, if there is one frame, which would break MFC, there would be others. So this does not help much. I have video, where every I-frame (from specific of how video breaks I suppose that this are I-frames) breaks MFC.

On the other hand, today DVB streams worked much better - most of them could be decoded correcty (without triggering reset) and only one channel always hanged. The reset patch didn't help here for some reason.

siedwards
Posts: 1
Joined: Fri Apr 11, 2014 11:03 pm
languages_spoken: english
Has thanked: 0
Been thanked: 0
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by siedwards »

Hi,

Good work on this! I haven't got an ODROID yet, but can you confirm if it's possible to pass multi-channel audio over HDMI using this build?

Cheers,
Si.

mdrjr
Site Admin
Posts: 11965
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Has thanked: 5 times
Been thanked: 110 times
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by mdrjr »

siedwards wrote:Hi,

Good work on this! I haven't got an ODROID yet, but can you confirm if it's possible to pass multi-channel audio over HDMI using this build?

Cheers,
Si.
nope

m4cios
Posts: 89
Joined: Sat Feb 23, 2013 8:07 pm
languages_spoken: english,polish
ODROIDs: ODROID-X
Has thanked: 0
Been thanked: 0
Contact:

Re: XBMC For (X/X2/U2/U3) Updated 20140408 version [UPDATED]

Post by m4cios »

All mkv files 1080p plays perfect, but i couldn't play even one avi (480p or 720p). There is only first frame displayed on avi and freeze and there is audio, i can't do anything to get control on my desktop, first frame all the time. The only thing which helps is alt+ctrl +f1, then kill xbmc process or reboot.

Here is the sample file which makes problem:
sample.avi

Post Reply

Return to “Ubuntu”

Who is online

Users browsing this forum: No registered users and 1 guest