XBMC Media Center has always been a favorite application of mine, because of its extensive customizability and versatility, being ported to many different platforms. I am pushing some proof-of-concept code today for something I’ve been working on over the past few days to add one more to the mix – support for the wayland compositor infrastructure.
The code can be found here:
Build it as follows:
git clone git@github.com:smspillaz/SDL.git && cd SDL
git checkout wayland
./autogen.sh
./configure --enable-video-wayland --enable-video-opengles
make && make install
git clone git@github.com:smspillaz/xbmc.git && cd xbmc
git checkout wayland
autoreconf -isvf .
./configure --enable-wayland --enable-gles --disable-vdpau --disable-vaapi
make && make install
Once it is installed, you can run as follows inside of weston
SDL_VIDEODRIVER=wayland /prefix/lib/xbmc/xbmc.bin
Some caveats and notes, because this is a proof of concept:
- The wayland backend is built for SDL 2.0, so this port also gets xbmc running atop of SDL 2.0
- Keyboard handling was rewritten in SDL 2.0, and so was the API, so this is currently not functional in either the X or wayland backends
- There is a bug somewhere, I suspect this one, which is causing xbmc to hang and stop receiving any events from the server as soon as it starts a new thread going into, eg, the “Videos”, “Music” or “Settings” menu. Understandably, this makes xbmc less useful than it would otherwise be, but I am releasing the code now in case anybody is interested in digging into this one.
- The code is a bit of a mess
Thanks goes out to:
- Benjamin Frankze for the initial work on SDL for wayland
- Scott Moreau for bringing that backend up to the 1.0 API and figuring out why the event queue dispatch didn’t work, and also providing the inspiration to do this by creating a wayland backend for dolphin-gcemu.
Again, this is more or less proof of concept work. The code is a little messy, and I have some open questions about how the backend should be implemented, considering that there are only two or three lines of wayland specific code inside of xbmc (the rest is effectively an SDL “window system” backend)
Sweet!
I really hope Wayland gets adopted quickly by applications and graphics libraries.
Hi, and great work!
This is an interesting POC, however it’s not really in fitting with how we had planned to handle wayland. I recently rewrote our egl handling so that we can dynamically support various windowsystems on the fly, so that we can have a single binary capable of running X11/wayland/framebuffer. It was explicitly written with wayland in mind. See https://github.com/xbmc/xbmc/commit/2b49c791eb236ae4fe2be90ac7e7b8ccf0aad72f for the pull, and https://github.com/xbmc/xbmc/blob/master/xbmc/windowing/egl/EGLNativeType.h for the interface.
It’s very pluggable, and I suspect it’d be far less work than what you’ve done here. I was hoping to get to it ages ago, it just hasn’t been a priority yet.
We’ll be dropping SDL soon, since we prefer our own abstractions. See here: https://github.com/xbmc/xbmc/pull/1175
Feel free to ping me (theuni on github or freenode) to discuss if you’d like. I have a functional X11 POC backend around somewhere that you could use as a reference for porting.
Keep up the good work!
Cory
Hey Cory, thanks for the reply.
I agree with you completely, a native backend would be far nicer. The upside was that I was able to fix up SDL a little bit.
I’ll ping you on GH (I can’t be on IRC at the moment).
If you are going for finest contents like me, only go to see this web page all the time since it presents quality contents,
thanks
60% dietary fat would be eliminated out of the body hence reducing fat absorption.
So fit walking into your schedule wherever you can-
during your lunch break, in the morning, or
whenever it’s convenient for you. Having more healthy cells and tissues will definitely improve
your metabolism since it is your cells and tissues
that metabolize your calories to fuel your bodily functions, after all.
Bartfield says to eat breakfast every day within an hour of getting out of bed.
It’s not the animal that matters, it’s where the meat comes from on that animal.
The more products that get called off the shelf because of suspect ingredients,
the more it gives rise for research-backed supplements to succeed.
Eating 5 – 6 small meals and snacks throughout the day will help
to control your appetite so you end up eating less. You get
excellent health and you won’t fall sick easily. Data
from the Center for Disease Control shows that over 60 percent of Americans are classified as overweight or obese.
Thanks for writing such an easdsto-unyer-tand article on this topic.