Proof-of-Concept Port of XBMC to SDL 2.0 and Wayland
hypnosec wrote in with news that XBMC has experimental Wayland support now. Even better, it's implemented by porting XBMC to SDL 2.0, something that will become important as SDL 1.2 development officially ended and SDL 2.0 should be out in the wild in the not-too-distant-future. The code is only a few days old and has a few serious limitations (input is broken and a bug in weston with threaded clients causes rendering hangs) , but it seems like a pretty good start. The port should also bring SDL 2.0 support to the X11 backend.
What is XBMC?
What is SDL?
What is Wayland?
FFS TFS needs some TLC.
Is that good?
http://forum.xbmc.org/showthread.php?tid=146711
NES, SNES, MAME, and others. I'll admit Wayland and SDL are interesting but my hardware already runs XBMC fine using VDPAU and I'm more excited about getting the ability to run games vs a different display technology...
Build it, Drive it, Improve it! Hybridz.org
Really? I thought the story was "Ubuntu team declares interoperability and standards are for losers."
So lets pretend that we've just completed writing this code, as opposed to having just completed sabotaging it -Altera
At first it made sense not using X.org since it's such a terrible mess. But the XBMC developers were being silly trying to keep the dependencies down by doing it all in house. Either SDL or Wayland or both should have been used much earlier...
Hopefully now we'll get the sluggishness out of the GUI's rendering on 1080p in small embedded machines.
Somebody ported some code and it's buggy and it's just another day on da net!
I thought the story was "Ubuntu ventures to contribute more code to the free software world, while walking their own path, which is the freedom they have in the free software world" Free, Free, Freeeeeeeeeeee
This is a "proof of concept" in the same way that turning over a shovelful of dirt is a proof of concept for digging a basement. The "concept" isn't at issue; it's all the gruntwork and polish that would be required to make it good enough to displace what's already out there and working. With software, the first few function points appear to solve the crux of the problem, but unfortunately the vast majority of function points still remain and each is just as time-consuming, yet less rewarding, than the first few.
It is always a good idea to use a platform independant library to make porting between different platforms easier. Now that it is working on Wayland, one hopes that Ubuntus plans to fracture the Linux ecosystem can be averted. One thing that people need to remember about the situation situation with Canonicals arrogant plan to attempt a coup d'etat of the Linux graphics stack, is that unlike the window manager where choice is a good thing, having a lot of competing window systems is NOT a good thing. Lets imagine that Canonical announced that it would start using its own kernel, and that this Kernel would not support POSIX, but its own proprietary API. Now Linux applications would not be able to easily run on Ubuntu, and applications for Ubuntu would not be able to easily run on Linux. Having a bunch of incompatible window systems is as bad as that. The Window System is basically the kernel for GUI applications. Basically Canonicals Mir announcement is pretty much does the same, applications must talk to the Window system, so the Window system is as important as the kernel for application cross compatibility between OSs. Canonical is fracturing the Linux ecosystem and trying to greedily and arrogantly grab control of the Linux graphics stack and basically one of the most critical parts of the Linux ecosystem. Canonical's behaviour is outrageous and the Linux community should not tolerate this.
I think now is the time for other Linux Distros to commit to Wayland, leaving Canonical isolated.
We also need to start a petition to get Canonical to commit to wayland and stop trying to develop its own window system.
I also think that Wayland should be made a part of the Linux Standards Base. Perhaps the rights to use of the Linux trademark for companies such as Canonical who blatantly ignore Linux standards should be revoked.
Have you tried setting the dirty regions option? For whatever reason the default re-renders the entire screen 60 times per second... but you can flip it to only updating when regions are damaged. Once I flipped that on I was able to use xbmc alright on my ancient athlon.
HAL 7000, fewer features than the HAL 9000, but just as homicidal!
Wayland is not an interoperable standard.
You've got ubuntu wanting Mir.
You've got Fedora wanting Wayland.
And everyone else uses X, the ancient legacy (and therefore old bad crufty and slow---even though it can run happily on a Sun 3/60) display server that inexplicably has cool features that the others lack. But that's OK because we keep being told how no one uses those features anyway.
X is the interoperable standard, and frankly much better.
SJW n. One who posts facts.
So, Ubuntu is cooperating with Wayland... Because that's exactly what Wayland is doing.
Untrue. Wayland is developed by the X.org developers, the main guy used to work for Red Hat, but now works for Intel.
You can run X on top of wayland. The misinformation and misunderstanding of what wayland is and what it's trying to accomplish is astounding given the information is a click away. I suggest you visit LWN and consult Corbet's two articles on the subject and educate yourself about what wayland is and what it's trying to accomplish. Wayland is likely to replace X as the default desktop in every distribution and in fact almost every distribution has already announced plans to migrate when it's ready. Remember, you can still run X on top of Wayland.
The problem is that it will soon not work by default anymore. Unfortunately, this is the direction Linux is headed. Dumb everything down and remove all powerfull features. These idiots break decades of backward compatibility for no good reason. And yes, one will be able to install X on top of Wayland. One can install X on top of windows too. It sucks.
At first it made sense not using X.org since it's such a terrible mess.
What people usually mean when they say xorg is a mess (without any qualification or substantiation) is that they're bored with it. In reality, xorg is pretty damn powerful: it has a hell of a lot to do, and on the whole it does it remarkably well.
Yes, in the same way you can run X on top of Quarts/OS X and on the Windows display manager. The reason people are complaining is that apps will stop running over X11 when they have been ported to Wayland.
Until there is a clear roadmap for Wayland network transperancy people will keep on complaining. The best from efficiency reasons would be to do this in the widget toolkits, I.e.in GTK and Qt, but since no one is doing this, people will keep on complaining, and idiots who have not understood the problem will keep on bitching about X11 being able to run ontop of Wayland.
And everyone else uses X, the ancient legacy (and therefore old bad crufty and slow---even though it can run happily on a Sun 3/60) display server that inexplicably has cool features that the others lack.
And when X crashes you lose any applications that were open at the time. Not to mention X rapes the CPU when doing something as simple as dragging a window around the screen. Of course, being servitroll_major, you will deny that X crashes from time to time.
I'm sorry but focusing on "when X crashes" really is being unfair.
More likely, your window manager or desktop environment is crashing, causing the X session to be terminated and re-start.
X crashes are incredible rare for me on a wide variety of systems. There's nothing inherent in the X implementation or fundamentally bad about it that gives me any cause to assume Wayland etc. will be any more reliable.
You can run X on top of wayland. The misinformation and misunderstanding of what wayland is and what it's trying to accomplish is astounding given the information is a click away.
Touche.
You can run X on top of anything. That really means very little: you can run it on top of OSX and Windows too. You can't remote Windows or OSX apps using X11 and X11 apps on OSX and Windows are second class citizens: copy/paste is non functional beyond plain text and DnD does not work. Furthermore, you cannot manage the native windows with an X11 Window Manager.
Make no mistake: X11 on Windows and OSX is a poor user experience and it wil be the same on Wayland for the same reasons.
Remember, you can still run X on top of Wayland.
Stop saying that. It's an idiotic think to keep saying because whit true, it is entirely deceptive.
SJW n. One who posts facts.
In reality, xorg is pretty damn powerful: it has a hell of a lot to do, and on the whole it does it remarkably well.
FFS it works on my phone. I don't see what problem people have with poor old X.
Watch this Heartland Institute video
SDL will soon be dropped from XBMC. I'll quote Cory here to explain things:
"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"
Wayland is of course a way to dump images on a dumb framebuffer as distinct from the extra abstraction within X to place the images in a variety of places, resolutions, color depths etc, so your "educate yourself" line is somewhat comical in this context. Please at least bother to read entire sentences before accusing people of ignorance.
Because when the wayland display manager crashes, you don't lose any applications at the time? or explorer.exe? or QuartzCompositor or whatever its called on osx, etc?
what is the point of this post?
are you saying that the single-process managing X displays is less stable than the single process running these others?
umm.. because if you are, you are probably wrong.
and if you're not, you're not making any sense.
All excellent points -
relatedly, noone is developing or releasing X windows applications *targeted* at these other platforms -
which is the same 'position' X will be in in this 'run x on wayland' world - further implying that over time
less and less applications will run on X, further implying that over time network transparency will
decrease more and more (since only the new firefox or libreoffice or whatever major software decides not to support X),
so this is a bad *direction* to be headed in.
I have no problems rearchitecting the X server infrastructure to have a fast low layer, and a simplified api talking
to this layer (that remains X, and therefore network-multiclient compatible), which is what most of the (non developer weenie)
people complaining about so-called 'crufty x' are talking about -
but don't !@#$ ruin out of ignorance and shortsightedness the good things in X because of the bad - fix the bad, and
make it compatible with what is.
ditto systemd, dbus and all of that stuff.
dbus? why not just f!@#$ing use the 127.0.0.1 loopback or require setting up a private multicast network????
nono, we need some crappy daemon writting using the hairball that is GLib-object-C being tied into *everything*
on the system.
derp derp derp.
people complaining about so-called 'crufty x' are talking about -
People also love whinging about the old drawing code. The stuff from 1987 which must take *kilobytes* of code space and reqiure hundreds of hours of absoloutely no maintainance whatsoever.
nono, we need some crappy daemon writting using the hairball that is GLib-object-C being tied into *everything*
on the system.
And now we need systemd as well, so the whole lot is tied together with a poorly documented weird-ass daemon which provices little of use except complexity.
SJW n. One who posts facts.
Is Daniel Stone enough of "qualification" for you?
http://mirror.linux.org.au/linux.conf.au/2013/ogv/The_real_story_behind_Wayland_and_X.ogv
Now do Mir.