Slashdot Mirror


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.

51 of 81 comments (clear)

  1. WHAT by Anonymous Coward · · Score: 4, Insightful

    What is XBMC?
    What is SDL?
    What is Wayland?

    FFS TFS needs some TLC.

    1. Re:WHAT by dead_user · · Score: 5, Informative

      XBMC = XBox Media Center - http://xbmc.org/ SDL = Simple DirectMedia Layer - http://www.libsdl.org/ Wayland = http://wayland.freedesktop.org/

    2. Re:WHAT by PineHall · · Score: 5, Informative

      What is XBMC? What is SDL? What is Wayland?

      FFS TFS needs some TLC.

      XBMC is a "software media player and entertainment hub for digital media".

      SDL is Simple DirectMedia Layer and "is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer".

      "Wayland is a computer display server protocol and a library for Linux implementing that protocol."

    3. Re:WHAT by Stalks · · Score: 1

      No, he meant Xbox Media Center.

      I don't care that they ridiculously changed themselves to an abbreviation, it started as Xbox, and as far as I'm concerned, shall remain as.

    4. Re:WHAT by Lumpy · · Score: 1, Insightful

      Because the average slashdotter is so new to the internet that they dont know what Google is for? Really?

      --
      Do not look at laser with remaining good eye.
    5. Re:WHAT by jedidiah · · Score: 1

      I suspect the OP was being sarcastic and indirectly pointing out the key missing piece there that everyone seems to have forgotten. It's one of those key things that Wayland people in general tend to forget when they are pushing Wayland and bashing X.

      Rendering the UI is really the least of your worries.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    6. Re:WHAT by Walzmyn · · Score: 1

      I'm glad I'm not the only one. Seems like every third article on /. I have to run to Wikipedia just to figure out what piece of software or what abbreviation someone's blabbering about.
      It's like trying to read a forum for a game you're not familiar with.

    7. Re:WHAT by Anonymous Coward · · Score: 1

      No, FFS you need to GTFO /.

        If you don't know what XBMC is, don't come onto a comment board to ask. If you want to stay at slashdot and learn what XBMC is, click on any of the previous story links or type that term in the search box. Asking is kind of rude because it diverts the discussion to the place it is now.

      Slashdot doesn't need to handhold and add citations everywhere for what are actually common terms in submissions. You should mostly know what XBMC is, as it makes the front page every few months when things like the apple TV are jailbroken to run it or android gets a new app, or someone ports it to the raspberry pi.

      But the best thing for you to do is to type XBMC into Google or wikipedia. Those are places to learn new things. Just get in the habit of researching things for yourself, it's a useful skill. Learned Helplessness is not a skill.

      Come back to slashdot when you can contribute to the discussion or at the very least make a joke about lonliness or hot grits or something.

    8. Re:WHAT by loufoque · · Score: 1

      Who are you, and how can you be this new?

    9. Re:WHAT by Anonymous Coward · · Score: 3, Informative

      wrong, this is slashdot, not the sunday paper

    10. Re:WHAT by HiThere · · Score: 1

      SDL is also System Description Language, and probably several other things. I suspect that XBMC may really be unique, at least within the field of computers, and Wayland also, but a tiny bit of description for each (perhaps with a link) would not have been amiss.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    11. Re:WHAT by snakeplissken · · Score: 1

      what is ffs?
      what is tfs?
      what is tlc?

    12. Re: WHAT by BLKMGK · · Score: 2

      So what you got out of this is that XBMC has something to do with games?! You might better hit the search engine again

      --
      Build it, Drive it, Improve it! Hybridz.org
    13. Re:WHAT by opdenkamp · · Score: 1

      We don't even support the Xbox any more. So "XBMC Media Center" is correct

    14. Re:WHAT by saihung · · Score: 1

      Recursive project acronyms are SO 1996.

  2. Re:And what is SDL? by PineHall · · Score: 1

    SDL stands for "Simple DirectMedia Layer" and "is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer."

  3. I'm more excited by emulator support :-) by BLKMGK · · Score: 2

    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
    1. Re:I'm more excited by emulator support :-) by BLKMGK · · Score: 1

      Or perhaps where people who's hardware console has died or who no longer have room for arcade machines but still wish to enjoy the software could enjoy them yes. I'm okay with double standards too occasionally, especially for things that are no longer supported or produced. Emulate say a PS3 and yeah, I think I'd have some issues with that.

      --
      Build it, Drive it, Improve it! Hybridz.org
  4. Re:Wise use of time and effort? by EmperorArthur · · Score: 2

    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
  5. Translation by Sir+or+Madman · · Score: 1

    Somebody ported some code and it's buggy and it's just another day on da net!

  6. Re:And what is SDL? by godrik · · Score: 1

    Wow, there are really people on slashdot that do not know what SDL is?

  7. Re: And what is SDL? by madprof · · Score: 1

    Why should everyone know what SDL is? You assume it is relevant to everyone.

  8. "Proof of Concept" by timeOday · · Score: 3, Interesting

    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.

  9. A good idea by Eravnrekaree · · Score: 3, Interesting

    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.

    1. Re:A good idea by lister+king+of+smeg · · Score: 3, Informative

      Or just install x.org or wayland from the repository while your at it throw another DE like cinnimon kde or xfce and while you are at
      wipe out unity problem solved

      --
      ---Saying gnome 3 is better than windows 8 not so much a compliment as it is damning with light praise.
    2. Re:A good idea by lister+king+of+smeg · · Score: 1

      Adding Wayland to the Linux standard base would be a bad idea as many if not most Gnu Linux installs are headless and don't need a graphics stack or if they do would need the networking advantages of xorg

      --
      ---Saying gnome 3 is better than windows 8 not so much a compliment as it is damning with light praise.
    3. Re:A good idea by Eravnrekaree · · Score: 3, Insightful

      Thats fine if its a word processor. The problem is that all applications rely on the Window System. You can choose your own word processor, and it affects little else. But, a bunch of incompatable window systems would be a disaster, it would actually take away your choices because now some software runs on window System A, but not window system B, so you end up not being able to use one block of software or another block of software. The good thing about X is that it has been used on all distributions, meaning you could run all Linux software on any Linux distribution, or on any other Unix OS, such as FreeBSD.

      It is important to have standards. The same thing applies to web pages. If every person who made a web page decided to make their own incompatable HTML and use their browser to look at it, it means if you used another browser you could not get to their web page.

    4. Re:A good idea by serviscope_minor · · Score: 1

      I think now is the time for other Linux Distros to commit to Wayland, leaving Canonical isolated.

      Or, how about everyone else stays committed to Xorg and keeps all the neat features that apparently I don't need, or so the Wayland supporters keep telling me.

      --
      SJW n. One who posts facts.
    5. Re:A good idea by dbIII · · Score: 3, Insightful

      I think now is the time for other Linux Distros to commit to Wayland

      How about waiting until it has proved it works and has advantages first. While a dumb framebuffer can theoretically perform better than something with a few layers of abstraction it hasn't done so yet, especially since some of those layers of abstraction in X are quite lean.

    6. Re:A good idea by Eravnrekaree · · Score: 1

      It would be a good idea. it would not require text only distributions to carry Wayland. If you have a Linux distro that is text only, then the GUI standards would not apply. If the distro does have a GUI, then wayland would be required by the standard.

    7. Re:A good idea by Eravnrekaree · · Score: 1

      You are right that for a long while, the API documentation sucked. They finally posted some, however. It looks good.

      Wayland has been open compared to Canonicals process. They have had discussions on public mailing lists about it. There is a working code now as well. Yes it did take a while. I am not sure why, maybe they are perfectionists and were working out the details. They could have pushed out an early version and perfected things in later versions. But when you are dealing with an API, the API may need to be improved upon. When many applications have been targeted for an older version of the API, the you would need to have an extension mechanism and keep around support for the older API in a compatability layer glue code. So maybe they were trying to get the API right at the first go.

    8. Re:A good idea by arendjr · · Score: 1

      It seems to me you're making an issue out of nothing. You say "applications must talk to the Window system, so the Window system is as important as the kernel", but in practice this is not true. Applications talk to a toolkit/library like Qt or GTK, or (as what this article is about, and which you agree is a good idea) SDL. These libraries do the hard work because noone wants to talk to Xlib directly since it's a mess. Now, as long as these libraries all support X, Wayland, Mir or whatever will be around next week there simply won't be a problem.

      You said it yourself. "It is always a good idea to use a platform independant library", and I agree. Yet you continue with the rest of your rant as if nobody actually does that.

      PS.: I disagree Wayland should be in the LSB. As others already mentioned, let it first prove its worth. And not to forget X's network transparency is very valuable to some. Forcing Wayland into the LSB would be like throwing out the baby with the bath water, at the very least.

    9. Re:A good idea by 21mhz · · Score: 1

      How about waiting until it has proved it works and has advantages first. While a dumb framebuffer can theoretically perform better than something with a few layers of abstraction it hasn't done so yet, especially since some of those layers of abstraction in X are quite lean.

      If you think Wayland is "a dumb framebuffer", you should educate yourself.

      --
      My exception safety is -fno-exceptions.
    10. Re:A good idea by BrokenHalo · · Score: 1

      The problem is that all applications rely on the Window System.

      And therein lies Ubuntu's future relevance, or lack of it. A few individuals have complained about certain flaws in X11 without offering anything useful or complete as an alternative, and I rather doubt if Canonical has the resources to do any better, given the vast amount of work involved. If Canonical insists on pursuing this path, I wouldn't be surprised if Ubuntu slips from being the most commonly-used(*) distribution to the least.

      * This is from the perspective of an ancient Slackware user who doesn't give a fuck one way or another. ;)

    11. Re:A good idea by lister+king+of+smeg · · Score: 1

      no i am not say that you should take away freedom but that incorporation wayland into the Linux Sandard Base is not a good idea because there is a much more mature and full featured OS independent standard graphics server in place already, X.org. Sure through it in the repo but don't make it part of the LSB, putting it in there would be folly because it is not yet stable is poorly documented and has a long way to go before it is capable of replacing X. As it is now if people would simply put their effort into fixing X's problems and updating the code to take advantage new hardware advances we would be much better off.

      --
      ---Saying gnome 3 is better than windows 8 not so much a compliment as it is damning with light praise.
  10. Re: And what is SDL? by godrik · · Score: 1

    It is frequently mentionned on slashdot. Many emblematic games when they are ported to new architectures are ported by porting SDL on the new architecture.

  11. Re:Good to see XBMC is adopting more widely used l by Unknown+Lamer · · Score: 1

    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!
  12. Re:Wise use of time and effort? by serviscope_minor · · Score: 4, Insightful

    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.
  13. Re:Good to see XBMC is adopting more widely used l by BrokenHalo · · Score: 1

    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.

  14. Re:Wise use of time and effort? by serviscope_minor · · Score: 4, Insightful

    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.
  15. Re:Good to see XBMC is adopting more widely used l by Eunuchswear · · Score: 1

    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
  16. We're dropping SDL from XBMC by opdenkamp · · Score: 3, Informative

    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"

  17. Amusing comprehension failure by dbIII · · Score: 1

    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.

    1. Re:Amusing comprehension failure by 21mhz · · Score: 1

      Wayland is of course a way to dump images on a dumb framebuffer

      No, it's not. Please educate yourself.

      --
      My exception safety is -fno-exceptions.
    2. Re:Amusing comprehension failure by dbIII · · Score: 1

      Oh really? Instead of dumb playground games how about some detail that shows that I am incorrect.

    3. Re:Amusing comprehension failure by 21mhz · · Score: 1

      OK, it was incredibly hard to dig it out from an obscure document confusingly called the FAQ:

      Q: What is the drawing API?

      A: "Whatever you want it to be, honey". Wayland doesn't render on behalf of the clients, it expects the clients to use whatever means they prefer to render into a shareable buffer. When the client is, it informs the Wayland server of the new contents. The current test clients use either cairo software rendering, cairo on OpenGL or hardware accelerated OpenGL directly. As long as you have a userspace driver library that will let you render into a sharable buffer, you're good to go.

      --
      My exception safety is -fno-exceptions.
    4. Re:Amusing comprehension failure by dbIII · · Score: 1

      So what part of your quote contradicts my bit about a dumb framebuffer? It appears to confirm it instead.

    5. Re:Amusing comprehension failure by dbIII · · Score: 1
      Looking more at that FAQ, it's full of useless stuff like the following:

      The problem with X is that... it's X

      How do you expect me to take such a useless and pointless pile of words that goes around in circles seriously? Nothing about bottlenecks or anything tangible, just braindead self-referential bullshit instead of some sort of half-decent demo apps to prove a benefit over X or even SVGAlib.

  18. Re:Wise use of time and effort? by blade8086 · · Score: 1

    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.

  19. Re:Wise use of time and effort? by blade8086 · · Score: 1

    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.

  20. Re:Wise use of time and effort? by serviscope_minor · · Score: 1

    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.