Hi,
I know this is about getting performance, but I'd like to weigh in a bit. I think that OE and Raspbmc/OSMC can co-exist. I am happy to post in this thread because it seems balanced, rather than covered with unfounded arguments of one distro over another. I think OE is too closed down myself, but some will love that. Either way -- having more than one distribution only helps drive the competition and gives the user a better end result.
(2014-10-19, 14:51)Martijn Wrote: to add from a dev point of view. the guys from OpenELEC actively contribute improvements back from what they find. RaspBMC on the other hand has so far done squat, zero, nothing.
Sure he/they packages all improvements but so far as actual code contributions I have not seen anything that has made it to our master code branch.
Just to be clear:
I do not mean this as any offence what so ever to a group or a person. This is a pure observation. With this in mind alone OpenELEC is the pure winner for better support and improvements. This is my personal statement and not connected to the team what so ever.
OpenELEC contributes actively upstream, which is good for Kodi. I wish I was able to do this: I tried helping with AirPlay issues around this time last year; but without an iOS device it was tricky. A lot of the changes I make only make sense downstream (they are not portable and rely on the underlying distribution's implementation). Part of what has hindered my ability to contribute upstream has been the fact that I am a sole developer of both Raspbmc and Crystalbuntu. Consider my typical daily workflow:
- cherry pick upstream XBMC commits
- check downstream patches (for example, popcornmix/gotham_rbp_backports)
- test and verify that builds resolve issues and are stabl
- implement *other* raspbmc/crystalbuntu features users have requested
At the moment, the workflow for Raspbmc/CB is not great, and I'm hoping with the new project, OSMC, which has a unified codebase, I will be able to spend more time looking at upstream. OE does help devs get quick snapshot builds for a few platforms, which does accelerate development. But we do this too.
(2014-10-19, 15:00)Martijn Wrote: (2014-10-19, 14:58)ActionA Wrote: So Miappa's builds and his user base have been of zero productive value? That thread is quite large so I find that hard to imagine Martijn...
Miappa is doing a great job by creating test builds. Him providing these builds gives a better/larger userbase and tester that help improve to find issues. However from raspbmc devs there no code contributions. I was not talking about anything else than code.
Besides this this is off topic for this thread.
My conclusion from actuall testing both is that OE is still better than Raspbmc
Our attempt to offset a lack of upstream dev was to provide 24 hour test builds (installable via the GUI). This way devs didn't have to at least worry about building nightlies and could just get their changes straight on to a Raspbmc user's Pi. I would like to think Raspbmc has helped XBMC / Kodi on the whole grow. Raspbmc is synonymous with the idea of Raspberry Pi and XBMC, for better or worse. And ease of installation probably helped that in the early days before NOOBS. I hope OSMC lets us contribute upstream. It is important to keep Kodi alive -- a rebranding must be costly, and so OSMC will donate resources to the Kodi project. Without Kodi the OSMC project would not exist, so it's important to make sure Kodi can thrive. I'll be emailing Nate about that in a couple of days.
miappa does a great job as does popcornmix (bavison too!) in improving the Pi's XBMC performance. But this is very platform specific: to Windows users these contributions aren't necessarily recognised, but it's the same for those working on DXVA2 improvements.
(2014-10-19, 15:03)hghfdkjbfjb Wrote: That makes sense though since it's a huge multiplatform project that uses XBMC. The thing is that the Raspberry Pi is a slightly more specialized platform and needs extra attention to achieve good performance. Raspbmc leverages the existing work done with Raspbian which has a huge community, whereas OpenELEC is a smaller team (compared with Raspian) compiling the whole stack for the Pi. It's believable that less Pi-specific tweaks find their way into the entire stack.
That's not quite right. Raspbian is a very basic root filesystem (we debootstrap it), but all other packages related to XBMC are built manually. Everything is completely optimised: scheduler; read_ahead; sysctl etc independent of any Raspbian configuration. We are greatful for upstream contributions, such as libcofi; but that is in OE too. If anything OE have a slight advantage in that they build their own toolchain and can stay on top of GCC releases, where we have to stick with the distribution's version for binary compatibility.
(2014-10-19, 20:04)ActionA Wrote: Yeah, RT5370 seems to generally only be an issue under NOOBS. If a user requires a dual-boot system and uses RT5370, maybe OE is right for them if they happen to use this chipset and refuse anything less than a plug-n-play system. I'd hardly call this a large or majority share.
The issue regarding RT5370 will be resolved once we refresh our NOOBS image. This will likely be within the next week.
I'd like to think the reason there is less material on optimising Raspbmc, is because there is much less to do. Looking at some references to OE, I see the scheduler is changed to deadline. IMHO this should be 'noop'. Regardless -- Raspbmc uses an optimised scheduler already: I am a little surprised OE is using CFQ.
In terms of performance, clock for clock, I think OE has a slight edge. This is likely due to a more modern compiler used, where as we are still using an old GCC pre-4.7 toolchain. On OSMC, we've started using 4.9, and the performance difference is noticeable, and brings performance back to where it should be.
I do hope when OSMC lands on Pi in the next month or so I'll be able to just say 'install it and enjoy it', rather than having users needing to squeeze performance.
Thanks, and I do hope above all, regardless of the distro you use, you get what you want from your device.
Sam