Aaron recently posted an update about the progress of Vivaldi and the new setbacks and progresses in the project.

In case you are not familiar with Vivaldi, here’s a quick recap: the idea is to have a tablet running Linux (Mer, the continuation of Maemo and MeeGo) and Plasma Active. Apparently the easiest and cheapest way to achieve this was to get all the sources code for the software running on one of the many tablets which are sold with Android (which is, after all, a variation of Linux).

But then problems arise: those tablets run Android and vendors often provide only binary drivers, which is useless for Mer (or any other distribution of Linux). Once they finally got enough source to move Vivaldi forward, the board (electronics) changes and back to square 1 (or almost).

According to Aaron, it seems this time they have found a partner which is willing to provide the device and the source. Grea!

However, since the beginning of the Vivaldi Project (back when it was called Spark), there is one thing there is one thing I have always wondered.

Why Mer? In fact, why a Linux distribution? I know, I know, Plasma Active needs Linux to run.

But what about taking a completely different approach?

Instead of trying to get Mer and Plasma Active running on a tablet which is meant to run Android, why not taking a less radical approach?

We have Necessitas(Qt for Android).

So why not taking the opposite approach?

Instead of adapting Mer (operating system) + Plasma Active (“desktop environment”) to a tablet (the “device”) which is meant to run Android

what about this:

Port Plasma Active (desktop environment) to Android (operating system), which is already running on the tablet (the “device”).

Then create KDE’s own “CyanogenMod” that can be installed on top of many tablet devices. And sell those devices: you get to choose 7”, 9.7”, 10.1”, etc

Or maybe even sell Plasma Active and the application in the Android Market, if that’s possible (I don’t know enough about Android and the Market Terms and Conditions to know whether it’s possible technically and legally to replace the desktop).

Yes, that’s a different business and it’s probably not what MakePlayLive had in mind.

With this approach, the business is no longer about selling hardware + software but mainly only about selling software. How to make that profitable is a topic for another post.

And there are technical limitations:Bionic, the amount of linked libraries, applications may need tablet-specific details (not unexpected, even with Mer), etc

But at least it’s something that we know how to do: it’s code, not hardware, and there is no need to deal with people who will promise source code and then won’t deliver. It will work on top of Android, and we just need to create our own distribution.

It’s just one more platform for KDE: first it was Linux, then other Unices, Mac, Windows… next Android.

Am I too crazy or dumb?

 

42 Thoughts on “Plasma Active on Android?

  1. the goal of active and vivaldi is not to produce a kde based tablet, but produce a free tablet. I don’t see how your suggestion help towards the goal.

    • It produces a tablet with a free desktop. Once we achieve critical mass, we can go for the fully FLOSS tablet.

      Critical mass = Placing an order of 250,000+ units. Which means we have to find some way to sell them.

      • If it already sells 250k+ units why change? Why change something which is a success? And btw you sold 250k+ non-free tablet that way. It would be nice to have Plasma active running on top of android, it would give users a choice which is always a very good idea. But we are talking about something else with vivaldi. I would not buy a plasma active + andoid tablet. I will surely buy a vivaldi if it can make it with decent hw specs.

        • If it already sells 250k+ units why change? Why change something which is a success?

          Because Plasma Active for Android is only the lesser evil, it’s a means to an end: Plasma Active on top of Mer.

      • Not really, the Raspebbery Pi is such a success, yet the GPU still has a closed video driver..

  2. I don’t see the point to create yet another tablet with android.

    The big differentials of Vivaldi(IMHO) are Freedom AND to be as near as possible to a common Gnu/Linux Distro.

    Why the world would need another Android Tablet ?

    • Because it’s not another tablet with Android.

      See above: it’s a tablet with a free desktop running on top of Android “Core” (no UI). That would be the first step towards an entirely free tablet.

      Getting from 0 to 250,000 units is very difficult. Getting from 0 to a tablet with Plasma Active (which is the UI the user would see) and Android in the lower layers, and from there to a tablet with Plasma active and Mer in the lower layers, is achievable.

    • I thought Firefox OS is also built up with similar idea, android core (which doesn’t mean it’s an android system.)

      • Android and the “Firefox OS” use same Linux operating system. Only difference is that both use different system libraries and programs and software platforms/virtual machines.

        Android is just one Linux distribution among others, just one of the most favorite one.

  3. I’m actually waiting for this to happen, and I think it won’t be too far away on the road. See: you can already run all the code base of your distribution of choice on Android, and export the graphics over to Android. See, for instance, the “Linux Installer” app: https://play.google.com/store/apps/details?id=com.galoula.LinuxInstall&feature=search_result . It will let you run Debian or Ubuntu on top of Android, and on top of that you can run anything, an apt-get install away. For now, Kubuntu Active (meaning: the plasma active packages for Ubuntu) are only availabe for x86, but there’s no reason for that to change soon (I would bet on 13.04, but don’t take my word as of some value), and in that scenario you would only need to aptitude install that environment.

  4. Lamarque V. Souza on Tuesday 18th September 2012 at 20:00:15 said:

    Porting KDE to Android would not be easy even if Qt is already ported. Each program in Android gets its own user id (yes there is a different system user for each installed program). Only that would force us to reimplement each of the KDE daemons (kded, ksmserver, kdeinit4_wrapper, klauncher, knotify, akonadiserver, nepomukserver, virtuoso, etc) as Android’s services so that the apps can talk to them. That would require a lot of work. Also keep in mind that Plasma Desktop depends on dbus and even though Android also uses dbus it does not allows apps to access it, you need to create wrappers so that dbus is incapsulated as a Android’s activity. Do not confuse Android’s activity with an activity in Plasma, they are completey different. Activity in Android is an inter-process communication mechanism, something like dbus itself.

    • Lamarque,

      For DBUS, see my proposal libdbusfat:
      http://www.elpauer.org/?p=1157

      For the other daemons: I’ve long been in favor of getting rid of them as much as possible. On addition to that, with KF5 the dependency on them should be reduced for many applications. And finally, making the daemons become services does not look bad at all, on the contrary, it would be the most reasonable implementation for Plasma Active for Android.

      • Lamarque V. Souza on Wednesday 19th September 2012 at 13:01:26 said:

        Maybe, but who is going to maintain the services source code? That part is not portable to the other platforms KDE run in. And there is also the problem of porting kwin to Android.

        • Who maintains the Windows-specific parts of KDE? Who maintains the Mac-specific parts of KDE?

          The people interested in those platforms.

          It’s no different for Android. Who would maintain the services source code (which can probably share a fair amount of code with the daemons) ? Well, the people interested in Android, which is essentially the people interested in Plasma Active.

          Regarding porting kwin to Android, I’m not sure that’d be required. Sure, there is that dependency now, but maybe it could be removed and made it depend on the equivalent from Android. If it cannot, then port kwin to Android.

          The only thing using Android Core as the base operating system provides is drivers and infinite devices to run on. Which is a lot.

          • Lamarque V. Souza on Thursday 20th September 2012 at 16:19:34 said:

            Plasma Active depends on kwin for some features: specially activities (KDE activities), we also use the window stripper plugin from kwin and use kwin to make all windows maximized by default. Kwin has never been ported to either Windows or Mac as far as I know, it only run on X11 (and Wayland).

          • Then the starting point seems to be clear: port away from kwin, only one activity, use whatever Android provides to maximize windows. Not porting kwin to other platforms which already have an equivalent is one of the points I think I’ve made several times already in the comments.

          • Porting away from KWin seems very, very dangerous. I would consider that as a sign that my contributions are not valued and that might make me stop my work on KWin immediatelly. We have worked long on getting KWin being part of Plasma. Kicking out KWin again would be quite an affront. Also it completely contradicts all the ideas of sharing as much code as possible.

            Please just accept it: the Plasma workspaces need either X11 or Wayland. We don’t support anything else and nobody wants to support anything else.

          • Huh? We are not talking religion here, this is a purely technical matter.

            If the easiest and/or more performant way to get Plasma Active on Android is to port away from kwin, that’s the proper implementation.

            If the easiest and/or most performant way to get Plasma Active on Android is to use kwin but port kwin away from X11/Wayland, then that’s the proper implementation.

            “Affronts” are for personal matters, not for technical matters. Each platform should use what’s best for that specific platform, and if code cannot be shared because of a technical problem, then code cannot be shared and that’s it.

            BTW, kudos for your work on kwin.

  5. Doesn’t much of the criticism of Android UI sluggishness come from the fact that it doesn’t keep a separate high-priority thread for drawing?

    >Its not GC pauses. Its not because Android runs
    >bytecode and iOS runs native code. Its because
    >on iOS all UI rendering occurs in a dedicated UI
    >thread with real-time priority. On the other hand,
    >Android follows the traditional PC model of rendering
    >occurring on the main thread with normal priority.
    https://plus.google.com/100838276097451809262/posts/VDkV9XaJRGS

    Qt logic with realtime QML UI rendering sounds like a great way to do things. At the same time, going Android would mean there’s already thousands upon thousands of applications available.

  6. The KDE Plasma Stack is currently completely X dependend. Plasma Active from the shell perspective is a plasma-device + KWin, kind of the same as on Desktop. Now Plasma and KWin really, really, really depend on X.

    Any system which does not provide X (and that includes the Android) stack cannot be a target. We can consider Android once we have ported to Wayland and once Wayland is running on Android.

    • Martin,

      Why would we need X11 or Wayland on Android?

      Plasma Active for Android should use whatever Android uses for its own desktop (homescreen), be it OpenGL, SDL or something else.

      It’s what Necessitas does and it’s what KDE should do.

      Remember, this is not Plasma on top of Android UI, it’s Plasma on top of Android Core. We are booting Android Core directly into Plasma. We could even use framebuffer or any other Lighthouse target if that’s what it takes to get the port done more easily/quickly.

      • Well I wouldn’t consider Wayland to be a several year project if it were that simple to have parts of the kde-workspace without X. There are so many things we just need X for: screenlocking, login manager, switching between windows. I could give you many more examples where we depend on X.

        Sure all that is possible with Android, but we just don’t have any expertise in that area. So to say it’s not what one considers a “Linux”. Obviously nobody considered that this would be a sensible path. I would even say it would throw our efforts to get Plasma on Android devices several years back with no gain.

        Let’s do Wayland and get Wayland on Android (it’s good technique, maybe Google switches to it). And once we have Wayland, once we do no longer need X, then we can think about adding other non-X support.

        And that is just the windowing system. Then we don’t have power management support (anyone heard of upower on Android), no mass storage support (hello udisk), do I need to continue.

        Android is no Linux as we are used to it. It’s a complete different user space. Using a real Linux is more natural to us.

        But feel free to work on getting Plasma running on Android.

        • Martin,

          Plasma Desktop was (partially) ported to Windows. Sure, no upower, no udisk, no X but still doable: WMI, WinAPI, Active Directory, etc

          Plasma Active for Android wouldn’t be just a matter of recompiling the existing source, it certainly needs to develop Android-specific parts. But it gives Plasma access to essentially infinite devices, both mobile phones and tablets.

          Otherwise, you will be forever in this loop where you cannot get the source for some driver, bootloader, or something. Or, in the best case, you would depend on one vendor. The moment they change their mind, or their device is not competitive, there would be no solution for Plasma.

          • I don’t want to write much, but I see in the comment section lots of people actually being involved with Plasma and knowing the internals. All say the same, but still you insist that it would be possible to do Plasma on top of Android.

            I’m not sure how much knowledge you have about the internals, but if three maintainers of needed componenst (Plasma, NetworkManager and KWin) tell you it doesn’t work, it might be that they are after all more knowledged in that area.

            Still I’m happy to see your port of Plasma to Android 🙂

          • Martin,

            All I have read so far is “the current implementation will not work, we would need Android-specific parts”. And that was exactly my starting point. I’m yet to hear a technical roadblock which makes Mer on an Android-targetted device more feasible and Plasma Active on Android.

            Oh, and no, I don’t have time to port Plasma to Android. My R+D+i job (never say no to anything unless you’ve tried it and proved it impossible due to a serious technical limitation or unreasonable cost-result evaluation) keeps me too busy. I’ve posted this idea here because there are many people who have the time but not the ideas, and I think this is a path worth pursuing.

        • Well, Linux is just a operating system in Android, in Mer, in any other Linux distrbution like in Debian, Ubuntu, Mandriva and so on.

          Everything what Linux runs, is not part of the OS.

      • If we’re just using Android core, then what’s the point? That’s harder than starting with the Android kernel and the Mer user space (which is what we tend to do), and even then we end up with lame bits like having to make a new PowerDevil backend.

        Plasma on Android user space means a hell of a lot more porting, doesn’t resolve the rampant GPL issues (which we’d still have in such cases) and doesn’t get us on any devices shipping to the consumer.

        Of course .. don’t let me stop you! 🙂

        • Plasma on Android user space means a hell of a lot more porting, doesnt resolve the rampant GPL issues (which wed still have in such cases) and doesnt get us on any devices shipping to the consumer.

          Plasma on Android means you can create your own Plasma Android mod and sell those devices to the consumer. It gives you immediate support for infinite devices, both phones and tablets, something very difficult to achieve with the Mer approach (and believe me: I’d really prefer the Mer approach, but a pragmatic solution is better than nothing).

  7. Silly nerds! You won’t ever rule the world, because you can’t understand one simple thing: normal people (not nerds and geeks) don’t care if there is Linux, Windows or a troop of bald dwarfs running around the ivory tower inside their phone. They want to check e-mail, waste time on facebook or take a hipsta photo. They don’t even care if their apps are free. Being FREE is not an excuse for crappy unusable stuff. If people had choice: working software or FREE crap – I bet they’d choose working stuff. So please make working software. Kbyethx

    • Turns out some of we we, the people who develop that software, do care.

    • Reality check: the nerds already do rule the world (you’re using the Internet to argue with people .. game, set, match)

      Secondly: I agree that most people will not put “Free” on their hot checklist of reasons to buy a tablet. Some will, and they deserve a valid choice. However, we also believe that Freedom can result in certain attributes that are very hard to beat, as born out by the Linux kernel (which sometimes works ;), apache (which always does 😉 and samba (which needs to get v4 out already ffs 😉

      You also assume that there is cachet in “ruling the world”, and that would, at least in my own case, a mistake. I’d rather help the world, even if that means I never get to rule it. Perhaps the world is better off that way too ;P

  8. Calligra active already Hasse an experiment al port t Android so it should be possible I guess…

  9. The fundamental design of the Android system prevents this. Just ask the Kontact Touch people about their fun on Android, for instance.

    Furthermore, this does not help, one bit, our goals of getting open devices that people can then use to create new things themselves. We aren’t trying to get people to use our “app”, we’re trying to create the sort of ecosystem that ought to be available in the first place: an open one.

    So even if it were realistically plausible to pull off (it isn’t), we still would be doing what we’re doing.

    Hope that answers your question … and if you wish to discuss further (or other topics) you can reach me on irc or by email.

    • .. and for completeness: as to the “just use Android core” that does not resolve many issues.

      It involves a large amount of porting work (thanks to Google’s “let’s do everything differently” mentality around Android). Not only is it no less work, it doesn’t resolve GPL issues or create a system we can openly participate in at every level.

  10. Well, would be nice to have, but to be true, it would be huge project taking several years to port either kwin and/or plasma to support the android stack. Sure, possible, but not efficient. It would not solve a single problem of Vivaldi, since I bet that Aaron could get binary drivers for his device as well – but wants open drivers.

    If I just look how long it takes to port this pretty complex and huge codebase to wayland, I’d say the short term solution is to release a Tablet with Mer/X11, having mid-term Mer/Wayland. Maybe one day it could be possible to do that “pretty easily” in example if Android uses Wayland some day in the future.

    Just using the android platform won’t solve a thing. I guess.

    • The binary drivers for Android will not work on Mer. Binary compatibility issues, starting with Bionic vs glibc.

      So yes, using the Android platform will solve many things, namely all the hardware compatibility issues.

      Porting Plasma to Android is no different from porting Plasma to Windows.

      Difficult? Yes

      Requires platform-specific parts? Of course it does, it’s a different platform

      Solves all the hardware compatibility issues which guarantees in the future KDE can focus on KDE technology instead of Mer, hardware, etc? Absolutely, and that’s the whole point of this proposal.

      • Well, I meant that Aaron can get binary drivers for Mer by the manufacturers if he wanted without any problem.

        Of course, a different use case, since your solution would target dozens of existing devices.

        Anyway, of course it’s possible with work put in. The way I judge it, it’s harder to fill that gap and port kde technology to android than to build a device.

        • Well, I meant that Aaron can get binary drivers for Mer by the manufacturers if he wanted without any problem.

          I wouldn’t be so sure. Vendors provide Android binaries because that sells millions of devices.

          Providing Mer drivers may require some porting due to system differences (again, Bionic vs glibc is good example), it would require that the vendor installs a Mer development environment, trains their people in compiling for Mer, etc. I seriously doubt this is possible at this point, when the potential market share is a rounding error for vendors.

          The way I judge it, its harder to fill that gap and port kde technology to android than to build a device.

          Sorry but you are completely wrong.

          Building a device from scratch, even from a reference design, is very expensive (millions).

          Getting the sources for an existing device is proving to be very difficult because Chinese vendors are not interested in abiding by the GPL.

          Not only that: the tablet market moves at a frantic speed. There are new and more powerful devices every week.

          In my opinion, spending a lot of effort on one device, as MPL has been doing so far, will end up in an outdated device being sold at a very high price, and with very few supported devices.

  11. Andrew Korolev on Tuesday 16th October 2012 at 10:58:32 said:

    Great idea. For now the list of devices capable of running Mer us pretty scanty. Most of the people will just pick up a random Android device with a decent hardware that is readily available in a shop next door. 250k Vivaldi devices sold just isn’t enough to make a solid user base and to make people heard of Plasma Active and want to get one on their tablets. If no one cares about your OS the manufactures hardly would. No drivers then. That leads to a vicious circle. That’s pretty similar to the problem Desktop Linux used to have about 10-5 years ago and is still facing. It’s ridiculous how software freedom purists actually play into the hands of proprietary software.

  12. Pingback: KDE Plasma Active potrebbe arrivare anche su Android – Gda Tech

Leave a Reply to Martin Grlin Cancel reply

Your email address will not be published. Required fields are marked *

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Post Navigation