Kubuntu 11.04 Sneak Peek [UDS Cookie]

At every Ubuntu Developer Summit, the Ubuntu project comes together and tries to find new and exiting ways of breaking their own systems.

So it also happened about a month ago in Orlando, FL. But let me focus on the Kubuntu bits and pieces, since Ubuntu is way to big a project to summarize all the awesomeness in one (sensibly long) blog post.

Maybe first I should say that we were rather conservative with regards to major changes of the kind “might-eat-fluffy-bunnies”, though we have some that probably qualify as “might-eat-bunnies”. The important thing with such kinds of changes is testing, testing, testing, testing, testing, testing, testing, testing, testing and fixing ๐Ÿ˜‰

Testing is not something terribly difficult, a bit time-consuming maybe, but surely worth the effort. If you want to help test the upcoming Kubuntu release you might want to download the daily ISO image every once in a while, or checkout the progress after each pre-release release (alpha, beta, rc). You only need to create a CD or a USB stick, boot from it and you can right away test the current state of affairs from the CD/stick in a live session. This is probably the easiest choice as it does not change your running systemย at all, yet it is a very good start to find large-scale issues, like broken sound driver, or broken graphics driver or overall brokenness. More engaging are installations in a VirtualBox (still not touching your data), or very brave people can also install it on their actual system (which gives the best testing, but one really should not do this on a production system, since it isย going to break at least 2 times ;)).

Now that I prepared you for making sure the grave changes do not eat bunnies, let me tell you about the changes ๐Ÿ˜€ Please note that they are not necessarily appearing in Kubuntu 11.04 for real if they cause unsolvable problems (so, this is mostly just planned things, they are however partially already applied).

Phonon GStreamer

Phonon is the abstraction layer used by KDE and Qt for multimedia magic – Amarok and Dragon Player for example use it to play their media. The wonderful thing about Phonon is, that it is designed to not be dependent on one single multimedia framework (GStreamer, Xine, VLC), but supports multiple of those via so-called “backends”. Those backends make it incredibly easy to switch from one multimedia framework to another.

QtWebKit is changing to a less sophisticated solution that hard-depends on the GStreamer framework, consequently we will have to provide GStreamer on the Kubuntu CD to support HTML5 audio/video in our current default browser Rekonq. Additionally OpenOffice.org/LibreOffice on Ubuntu also depends on GStreamer, so it only seems a logical option to switch all of Kubuntu to GStreamer (previously we were using Xine).

This is however a bit of a brave move, to my knowledge no distribution used GStreamer by default before (I might be mistaken here). In any case I would call the backend a less favored choice of backend, although I am not entirely sure why that is, because GStreamer is a decent enough multimedia framework.

Now, since I am a very practical person I do not like changing things around just to accommodate some random dependency change in one (actually rather small) part of the system. Therefore there are of course more reasons that make me believe changing to GStreamer is a good thing. Let me just highlight 3 here.

GStreamer supports more advanced missing-code-installation features than any of the other frameworks. GStreamer can actually notify the application that is using it, that it cannot play, say a MP3, and that application can then use a special functionality of GStreamer to launch a codec installation application that helps the user obtain the necessary codec to play the file. I was really referring to Phonon, when I said “application” there ;). Lets use a real example here. Kubuntu does not include MP3 support by default for various reasons. Now, currently when the user tries to play a MOV file in Dragon Player, a notification comes up telling the user that some stuff might not work and that he shall be so kind as to allow installation of additional stuff. With GStreamer the whole notification is gone and a window comes up explaining the situation. If all goes well the user can then install the appropriate GStreamer package to play the file at hand. The beauty of this is that KPackageKit and the PackageKit aptcc backend handle this in a very amazing manner so that the user experience goes up 300%.

The advantage for Phonon at large is that the GStreamer backend gets more testing and thus we will very likely see a big quality push there. This is also good for Qt, because Qt’s Phonon uses GStreamer by default.

Finally the awesome people of Linaro included special hardware optimizations for ARM in GStreamer, making it (at least for now) the preferred framework on ARM devices using an Ubuntu distribution.

I am using Phonon GStreamer for about a month now and also fixed some issues here and there, and I think this has potential for awesome.

Raster Rendering

Those of you who follow my ramblings regularly might know about Qt raster rendering already, as I made a KCM to manipulate the rendering system a while ago.

At least for the first alpha of Kubuntu 11.04 we will have this magical raster rendering turned on.

— If you care about superficial tech blah blah —

Qt widget rendering can happen by various means, basically the rendering is done by a pluggable rendering system. On Linux this by default means that rendering is conducted by the X11 server, the graphical layer of the Linux operating system. Alternatively Qt also supports rendering using the so called “raster” and “opengl” (note: Qt actually supports more, but those are currently most interesting in a desktop context).

The raster engine, is a custom made software rendering solution, which is basically doing the same as X11 would be doing with the X11 engine, but in the case of raster, the rendering is actually done internally. Also this implementation works on all supported platforms.

— End of blah blah —

We are trying raster for mainly 2 reasons:

Firstly we are interested in seeing how well it really works ๐Ÿ˜‰

Secondly the raster engine seems to perform a lot better than the default rendering for a lot of applications, especially those with a lot of graphics manipulation. Those of you who have used Kubuntu Netbook on an actual netbook with Intel chip will probably know that it actually is quite a drag and not much fun to use under some load (which one gets pretty easy on a puny netbook). However, with raster rendering this is about as snappy as one can expect. So, the netbook experience plays a lot into the decision to try raster, because it really makes an enormous difference on some setups. Additionally it of course also helps on more powerful systems that still (for some odd reason) suffer from this slowness.

If your system is feeling sluggish, please try the newly released Alpha of Kubuntu 11.04 and tell us your experience.

Of course there is a down side to all this. For one raster is not as widely tested as native rendering using X11, for another some applications do simply not work with raster at all.

The second problem comes from when applications use X11 specific features (such as overlay painting), which is however easy enough to fix by just enforcing native rendering for those applications (KWin does this for example). I do not think that this is going to cause a lot of problems, and if there should be too many problems of greater impact we can easy enough switch back to native rendering.

Summary

Of course those 2 changes are only a minor fraction of what goodness you can expect from Kubuntu 11.04, but I feel that those 2 are the biggest changes and thus worth mentioning explicitly. ย Also they are the ones that everyone who helps with Kubuntu testing the following couple of months should keep in mind.

That is it for now, I am sure you will hear about the smaller changes throughout the development cycle. Kubuntu 11.04 is going to rock, of that I am sure!
If you want to help ensuring this, please join us in #kubuntu-devel on irc.freenode.net, where you can have a nice cup of tea and a discussion about the meaning of life ๐Ÿ™‚

Stay friendly!

32 thoughts on “Kubuntu 11.04 Sneak Peek [UDS Cookie]

  1. No offense but since “VLC 0.3 is Rock Solid”, why not use it instead of GStreamer. Most complains about kubuntu which I hear is about video player. Dragon player is basic, why not to use vlc or smplayer (like PCLinuxOS for example). Vlc + vlc phonon backend and all should be happy. If you do not have enough space on iso, maybe lzma compression can help

    • We do LZMA compression of the CD data, in fact we even compress all KDE packages using LZMA to decrease download size of updates. Anyhow.
      How would changing to phonon VLC deal with the problem that we still would have 2 different frameworks/libraries that do exactly the same? I mean, we could just as well stay with Xine then.

      • Ok I will try to explain in more clearly way. In Linux we have only 2 decent qt video players: vlc and smplayer, smplayer is no go because of mplayer’s dependency but if you would use vlc, only vlc libs would be needed. If you really need all this GStreamer stuff, give option to user so he can install it on demand. And yes I think that using good video player is more important than “2 different frameworks problem”
        Another question
        What about muon? It will replace kpackagekit? I am using it on kubuntu 10.10 and it is far better than kpackagekit.

        This two, package manager and video player, are indicated as worst parts of kubuntu by users, in reviews etc.

        • I see your point about the video players. However I must ask you to consider, that what you deem decent might not be what is indeed the right choice for everyone (or let’s say, everyone whom Kubuntu is trying to get to use Linux). I do not argue that DragonPlayer is not the best of its kind, but I personally do believe that VLC or SMPlayer’s are neither. Now here is a general problem with both: neither VLC nor MPlayer is supported by Canonical (which is pretty much a requirement these days). In order to get them supported we would need to give them substantial amounts of security and legal reviews, which is something you really can not pull off in 4 months.
          Anyhow, since you favor VLC. Here is the story: About half a year ago I proposed that we move away from DragonPlayer for obvious reasons. While being Phonon based is almost a hard requirement for a new player, one of the options we looked at was VLC. To get a better idea about the situation we invited the project manager of VLC to a meeting and while he offered help with any inclusion problems that would occur should we choose VLC as new video player, he also stated that it would be better for Kubuntu (and KDE at large) to just create a sensible video player that is native to the KDE platform, since all the technology is already there and someone only needs to assemble it into an awesome product. And if we are honest with our selfs, he is absolutely right. In the end the Kubuntu community decided to stay with Dragon until better KDE based material should become available. Partly due to this I am now developing Phonon to archive exactly this.

          Muon is not going to replace KPackgeKit. They have different target audiences and Muon’s does not match the one of Kubuntu. It will however be available on the DVD, and of course in the repositories. There is work going on for a Ubuntu Software Center like application, based on Muon’s underlying libraries, which unfortunately will not be ready in time, but once it is, the situation will be reevaluated. In the mean time KPK also makes extraordinary progress and (I believe) implemented all requirements we outlined back when we switched to KPK, so currently we do not see need to switch.

          • Is there a specific reason (or set thereof) that precludes Kaffeine from being an acceptable default video player? Or, at very least, as ” a sensible video player that is native to the KDE platform”?

            There was definitely a point during the transition to KDE4 that Kaffeine wasn’t polished enough, but these days to me it seems back to its former glory. Maybe I’m missing something, though (and maybe I’m even remembering wrong about Kaffeine being the default player in the past; perhaps I just always installed it, after I finally got over my attachment to Xine-UI).

      • The actual codec libraries (libtheora, libavcodec,…) are shared anyway. There isn’t much space wasted by including both GStreamer and VLC.
        An even better solution, btw, would be to patch OO and QtWebKit to optionally use VLC instead of GStreamer because GStreamer is a huge pile of poo.

        • The VLC library alone is ~5 MiB, that is a lot on a CD.
          I agree, fixing OOo and QtWebKit (actually it is QtMobility here) would be the best way, actually by switching them to Phonon. But as much as I would like to, I can not close my eyes and wish for more developers and they magically appear ๐Ÿ™‚

          • No idea what you’re looking at but here libvlc.so.5.2.0 is 106kb and libvlccore.so.4.0.1 is 1mb — extracted.
            No other VLC components are needed for phonon-vlc — just the codecs which are already shared with GStreamer.

            If you need space on the CD, here are a few suggestions:
            – Ship no offline documentation.
            – Ship no Python.
            – Ship Juk instead of Amarok
            – Ship KOffice instead of OpenOffice (IIRC Krita and therefore KOffice libs are already shipped anyway).
            – Write a GStreamer plug-in that uses libvlc which would make GStreamer’s “base”, “good”, and “bad” plug-ins unneeded of which each is bigger than VLC’s two libs).

  2. i tried the gstreamer backend today in the 10.10 release. it was MUCH slower. sound is cracking and it cant display undertitles in any anime i have tried. please tell me its just a joke you will switch to gstreamer instead of vlc

  3. The biggest question that comes to my mind is that why does Kubuntu still use OpenOffice? KOffice 2.3 should have everything that a normal user needs and it has perfect KDE integration – OpenOffice is just horrible when it comes to that and it also depends on GTK, which I guess no other default Kubuntu app uses, atleast none should. So it takes with it’s depencies about one forth of the space on the CD or something and provides horrible visual experience? Or have I mistaken something?

    • Yes, you are absolutely right with everything, but KOffice being ready ๐Ÿ™‚
      I am trying to push KOffice every once in a while, but it just is not there yet. The KOffice developer themselves do not consider the current version ready to become default for Kubuntu. One of the bigger problems is the support of Microsoft Office formats (that is already not terrific with OOo, but KO really screws up with simple documents even), hopefully there will be movement now that Nokia is pushing force behind interoperability, only time will tell.
      I’ll poke the KO develpers again next time they push a new release, maybe that one will qualify for a test run ๐Ÿ™‚

  4. So Qt is switching QtWebKit to GStreamer, so basically they’re forcing the entire Qt/Linux eco-system and user-base to switch to keep their configs simple. Doesn’t make much sense to me when they have both Phonon and QtMultimedia to use and adapt if needs be. Wonder what the issue was they couldn’t solve by working on the frameworks instead of forcing everyone onto GStreamer? I suspect it has more to do with Meego and their dependencies than anything else.

    • They are using QtMultimediaKit, but that only does GStreamer on Linux. They were using Phonon before and switched for very very very very dubious reasons away (i.e. stuff that could be resolved easily). So I don’t know *shrug*.

  5. As far as gstreamer goes…it was the default in OpenSUSE in either 11.0 or 11.1, can’t remember which. I have nothing against gstreamer per se but I hope (if you stick to the gstreamer backend) for your sakes that the phonon-backend has improved a lot since then.

    It was way too buggy and crash-prone back then so in the end I decided to ditch it and install the xine-backend instead. To be honest, I haven’t bothered even trying it since then since xine has worked impeccably for me. I do see the point in having a unified sound-system across DEs and having the gstreamer backend being more tested, but if it hasn’t improved _very_ significantly since last time I used it: be prepared for either a rough ride or the need to revert that decision.

    Just a fair warning.

    So yeah, I would guess that’s the reason that particular backend is less favored – at least if my experiences with it is somewhat close to the norm.

    • At lest on my installation, Phonon-GStreamer is — after years — still at version 0.1 without anybody actually developing it.
      Nokia ditched it in favour of QtMultimedia and KDE has put development resources behind Phonon-VLC.

  6. Phonon in Kubuntu 10.10 thinks my backed is Pulseaudio, in 10.04 it was xine. Sounds like I’ll be learning yet another layer’s incantations to get alsa to work properly. ๐Ÿ™‚

    The release announcement also lists KDE 4.6 beta as a feature. A page that lists all the package versions on the CD would be useful.

    Thanks for your work!

  7. I agree with momentum that video/audio player is a priority, I heard Gstreamer is not bad but that phonon-gstreamer backend never really took off and doesn’t work good (of course I’ll test it and report later).
    If it is the case I guess it would be a lot better to ship vlc backend and leave gstreamer for rekonq/openoffice.
    I’m not really informed about it but what is canonical support needed for? I’m not saying it’s bad but would just shipping vlc backend make them mad?
    Vlc phonon backend sounds really good, though I’m only saying it because every time I have to play a file and I get trouble I just open VLC and everything goes smooth, If kubuntu could get this through amarok/dragon, it would be awesome, I mean vlc power with kde simple gui, it would rock.

  8. I am reading these discoussions about videoplayers and space on the CD etc.. etc..
    Now, VLC as much as I like it.. It dont belong on a standard install, and I agree that we need something KDE centric..
    Why not replace Dragonplayer and Amorok with just one player like Bangarang??
    Bangarang is KDE centric, uses KDE technologie (Akonadi, Phonon) and looks awsome too.. That makes scence, and saves space on the Disc ๐Ÿ™‚
    I mean we can also go back to Kaffeine? Those were the good ‘ol days .. One programm that does it all the best it could!

    • This is not about shipping the VLC application but only about its libraries which can be used by other applications.

      • No, there are two different matters:
        – which phonon backend: a lot of people have proposed to use vlc because it now has a stable backend and it rocks. The problem there is that QtWebkit now requires GStreamer, which is dumb. So either someone makes it use phonon again, or gstreamer is a requirement for Kubuntu. The problem then is the reported inactivity state of the backend, together with its suckiness.

        – Which media player. This is orthogonal to the Phonon backend discussion. I totally agree with jscurtu: Bangarang looks like an awesome new default for Kubuntu. It is simple and good looking but not as dumb simple as Dragon Player. You could even get rid of Amarok from the default install, which is a very powerful app, but quite heavy and not universally loved like it was the case in the KDE3 times.

        So yay for Bangarang! (and VLC backend if QtWebkit gets its GStreamer dep away)

  9. Just don’t ship with gstreamer, please. It’s pile of goo. I noticed it’s using more CPU when watching a video and I can’t listen to the music in Amarok using gstreamer backend. It’s a total mess while Phonon-vlc works wonderful. Everything works with vlc backend and I didn’t find non-gnome application which would require gstreamer to work. What will be next? Gtk? A big step backward.

    P.S. I vote for VLC instead of Dragon Player which is a totem like pile of goo.

    • I would actually suggest dragon but with phonon-vlc backend, I also like vlc more but considering this is a default and it needs to be more simple, dragon seems a good choice (still a bit too simple I think)

    • Like I stated above, I vote for Bangarang as Media Player and VLC as Phonon backend ๐Ÿ˜‰

      Here, have a look:
      http://bangarangkde.wordpress.com/blog/

      The author intends to release version 2.0 soon. I am sure that if Kubuntu considers Bangarang for the new default a 2.0 release can be made in time for feature freeze.

  10. The problems with sound caused me one day to move from mandriva to kubuntu.
    And now I am thinking again and again to move to another distro if there will be phonon-gstreamer.

    I prey you, plz, do not do it. I like kubuntu too much.

  11. I have noticed the graphical performance issues with KDE using an NVIDIA 7900GS, but rather than switch everything to raster mode, I was able to regain my performance by using a QtCurve theme rather than Oxygen. Using QtCurve, graphics performance is indistinguishable between raster and normal modes, but I don’t have to deal with the compatibility issues that raster mode brings. QtCurve can be made to look quite nice, and it similarly themes both Qt and GTK apps. Here are some screenshots from my desktop using a customized version of the CurveDomina QtCurve theme:
    Screenshot 1
    Screenshot 2
    Screenshot 3

    It might not be quite as schnazzy as Oxygen, but its functionality and speed a terrific, and would make a great default for Kubuntu.

  12. any changes for the end user who doesnt know what “phonon” and “raster rendering” is?

Comments are closed.