Jolla Ports Wayland To Android GPU Drivers
An anonymous reader writes "A Jolla Sailfish OS engineer has ported Wayland to run on Android GPU drivers. The implementation uses libhybis with the Android driver so that the rest of the operating system can be a conventional glibc-based Linux operating system, such as Mer / Sailfish OS. The code is to be LGPL licensed. The reported reasoning for making Wayland support Android GPU drivers was difficulty in ODM vendors not wishing to offer driver support for platforms aside from Android."
The reported reasoning for making Wayland support Android GPU drivers was difficulty in ODM vendors not wishing to offer driver support for platforms aside from Android."
Why support yesterday's phone when you can just tell your users to buy tomorrow's? This kind of progressive thinking hurts profits. Profits are people. Therefore, you should be arrested. :/
#fuckbeta #iamslashdot #dicemustdie
Who ported what for why?
'cos I really need source compatibility between my toaster, my phone and my PC
I have been a user for about 10 years. This ends Feb 2014. The site's been ruined. I'm off. Dice, FU
I read through the title, and the entire summary, and I still haven't got a clue what the story is all about. Jolla? Wayland? ODM Vendors? Yes, I could google, but come on! These are not common terms. Throw us a bone.
When our name is on the back of your car, we're behind you all the way!
The reported reasoning for making Wayland support Android GPU drivers was difficulty in ODM vendors not wishing to offer driver support for platforms aside from Android.
ODMs don't know how to write software, so you're better off not asking them to; the result would just be garbage anyway. All the GPU drivers are actually written by the GPU IP vendors (Qualcomm, Imagination, ARM, etc.) and they only provide Android drivers. You could try to pay them to write KMS/DRM drivers, but they'd probably quote you a price in the millions which minority platform wannabes like Jolla could not afford anyway.
Agreed. Jolla is way ahead of Canonical. And their people know a lot more about the phone business. I'd need really good odds to put money on Mir in that fight.
Sailfish runs Android apps and has a better interface. I could see Jolla being bought by Motorola or HTC or Sony as a way to get back into the game against Samsung. I could also see Samsung buying them if Tizen doesn't work out for Samsung.
If I had to guess 25% Sailfish is picked up by a mainstream brand by 2018.
Correction:
They ported (wrote a new backend for) Wayland to sit atop Android drivers (which will sit atop Android hardware).
Your conclusions are right: Linux apps (on toolkits with Wayland ports) can now run on this.
This has nothing to do with running Android apps. Though getting a great display manager on Android hardware is a good first step if that's where you're going. You'd still need the whole Android subsystem with adapters (AudioFlinger APIs in Alsa or whatever sound subsystem they use, SurfaceFlinger APIs on Wayland).
Science & open-source build trust from peer review. Learn systems you can trust.
Using Android's SurfaceFlinger API means your apps use Dalvik [...] X11 isn't getting ported
Unless your X11 server uses Dalvik. This exists.
It's linux only due to some design choices that rely on other things that are only found in linux. I think the idea was that by not having the portability, configurability or extendibility of X they could get things done more quickly.
I thought SVGAlib was cool too so best of luck to the Wayland people - but there's not much point comparing it to X just now, especially since they don't have much to demonstrate actually running yet.
I haven't looked at the first link (it's a bit rude for people to make points with videos which could be a link to something NSFW for all I know), but your second point is worthless since it's not bare X11 but window managers, which have been doing such things since before slashdot existed (E16). The third point could be done with the window manager as well (once again E16 desktop snapshots in the pager were doing that before this site existed).
I do hope that community distributions will pop up leveraging the work of CyanogenMod/AOSP but rather than Android on top of the custom kernel, Sailfish. I for one would love to flash my "old" Android phone (SGS+) to Sailfish (Currently on CM10). Doing that move would perhaps also break the catch 22 of users-vs-products, since (some) nerds will be happy to switch their phones from Android to "MeeGo++". The Qt on Wayland demos look sweet.... so it seems nice :)
BTW: Why is Sailfish going to run on glibc? For embedded OSes I thought uClibc or musl would be a better fit.
From the authers blog
Earlier this year however, I discovered that a well-known company had taken the code - disappeared underground with it for several months, improved upon it, utilized the capability in their advertisements and demos and in the end posted the code utilizing their own source control system, detached from any state of that of the upstream project's. Even to the extent some posters around the web thought libhybris was done by that company itself.
That kind of behavior ruined the initial reason I open sourced libhybris in the first place and I was shocked to the point that I contemplated to by default not open source my hobby projects any more. It's not cool for companies to do things like this, no matter your commercial reasons. It ruins it for all of us who want to strengthen the open source ecosystem. We could have really used your improvements and patches earlier on instead of struggling with some of these issues.
http://mer-project.blogspot.fi/2013/04/wayland-utilizing-android-gpu-drivers.html
Canonical being Canonical
The guy has a point. Unless I already know everything about what's written here (and I probably already read the news elsewhere) I wouldn't be triggered to read the full article. It just doesn't appeal to me at all since none of the words used trigger my curiousness. By putting in just a bit more information in the summary, or even just the title, the editor/submitter would have gotten many more people interested. This is bad editing slashdots' part.
How about "Intermediate driver for X ported to Android hardware. Accellerated X now possible on all Android phones" as a headline? Then something like "The makers of Sailfish, an alternative phone OS that is spun off from Nokia's Meego, has ported Wayland to the Android graphics drivers. This means that any linux distribution that wants to run on android hardware only has to include a driver for Wayland graphics, not for every phone or tablet they want to support" for the summary? That way, people that just want a snippet will actually get the message without having to go through google or clicking the link (TL;DR never gonna happen) and people that didn't already read but are interested, will have an idea what sort of link they are going to click on. Probably over 99% of slashdot readers aren't going to click on a link, of for that matter visit a website, that promises them the content is going to be something they'll never understand and could just as well be in a foreign language they don't master. Summaries like this are just that, a good reason why people don't come here anymore.
I was promised a flying car. Where is my flying car?
Phoronix article is quite low on information, and even the original post at http://mer-project.blogspot.fi/2013/04/wayland-utilizing-android-gpu-drivers.html assumes some technical knowledge of graphics stack. The basic idea is actually pretty simple. I'll try to break it down.
GPU drivers form a combination of EGL and GLESv2 libraries, each GPU vendor providing their own
This is where libhybris comes into play. The GPU driver libraries don't work without Bionic libc - so libhybris, while running on top of regular linux (and thus [e]glibc), keeps a private Bionic libc open for the GPU drivers' use, and redirects all the EGL/GLESv2 calls to the GPU driver libraries. These libraries run in their own Bionic universe, and tell the actual display hardware what to do.
The new part about Wayland support is just a logical extension of the same behaviour. Wayland already depends on EGL for buffer management, so "all" it really needs is a native display handler. Now as it happens, the native Android display structure can be mapped to the Wayland-EGL display structure. It's not trivial, but it's certainly doable. Thanks to libhybris, the Wayland libraries see a correct native display type and operate on that, while the Android GPU libraries see their respective native display type and thus can drive the hardware as ever before. After all, it's still the SAME hardware regardless of what operating system we may be running. Registers are registers and memory is still memory. From the GPU drivers' point of view nothing has changed.
So what has happened? In addition to just redirecting graphics stack calls to Android drivers, we are now also translating the display subsystem between two somewhat different systems.
If all of the above sounds eerily familiar, you are correct. In networking this kind of design is called a proxy, or if we're talking about link layer, it would be a multi-protocol label switch. Logically there's not much difference.
There is no such thing as good luck. There is only misfortune and its occasional absence.