Official Release of LuneOS and Project Updates

It’s been a long while since we announced our Alpha 2 release back in June of 2013, but today after months of very hard work the webOS Ports team are very proud and happy to provide our latest release to the community now named “LuneOS”.

The first eye catching change is the new name we’ll be using for our project going forward. The distribution will be called “LuneOS” instead of “WebOS Ports Open webOS” because it wasn’t very catchy and we felt it important to specify we are separate from Open webOS which is it’s own project from HP and now LG. Lune is the French translation of moon and refers to the user interface we all love so much in legacy webOS, LunaSysMgr, which is named after the Latin/Spanish translation of moon.

The release model for LuneOS is a rolling one where each of the releases will get its own name from a list of coffee beverages. This first release is “Affogato”.

All work for each release is visible to the public and users can also update to unreleased stages to support the developers with testing and bug fixing. Our overall aim is to deliver high quality software which is stable and satisfies the needs of our users. We plan to have a new release at the beginning of each month.

General focus

As a mobile operating system, we’re tailored for smartphones and tablets. Our main focus is not to add new devices as they appear on the market but instead to provide a stable, easy to use and easy to port software base. Porting OS pieces itself was never the real problem of our approach since we solved the most important bits by using libhybris. The actual problem we’re facing is to get applications software implemented and to add all the back-end functionalities to the system we love and need.

The main focus of LuneOS is to provide an operating system which is driven by the community and continues what we love(d) about webOS. We’re not trying to reach feature comparison with Android or iOS but rather building a system to satisfy basic needs in the mobile environment. Building a good quality mobile operating system from scratch is a hard job and is built in just the spare free time everyone involved in the project has. To get the best ratio between what we want and what we can do, we’re analyzing architectural decisions from both existing solutions we can base our work on and whether we have to write things from scratch.

Supported devices

We’re currently supporting the Nexus 4 and HP TouchPad. The Galaxy Nexus and Nexus 7 (2012 Wifi) are still supported with this Affogato release, but will not be actively maintained anymore by the project team for future releases. We would like someone to step up as maintainer for these devices. We also have started to write a porting guide to make it easier for community members to port LuneOS to other devices.

What works

Wifi! We also have a working settings app which includes things like wifi, screen, developer mode, and about. Apps that work include a basic browser, Preware, mail (enyo1 but it’s working albeit a tad buggy because of screen size related things), accounts (with some minor issues), memos is fully working, a stubbed contacts app, initial calendar app with no real backend functionality yet, synergy connectors for a lot of endpoints (Google, Yahoo, i*, owncloud, and more) and initial work for a phone app. Also, contacts sync is working along with better suspend/resume handling, and a bunch of other smaller things.

This slideshow requires JavaScript.

System/architecture improvements

After the Alpha 2 release we made the drastic decision to rewrite LunaSysMgr from scratch and name it Luna Next. This decision was made because LunaSysMgr distributed with Open webOS caused too many headaches, mainly due to the legacy device support and the overhead of code that was in there to support various things. Keeping LunaSysMgr would not allow proper hardware acceleration without a lot of work and would have made porting to other devices harder in the future.

Therefore, the team decided to start rebuilding the user interface from scratch using the latest technologies available (QT 5.2 / QML, WebKit 2, etc). This of course meant a lot of work, but also a lot of benefits because it provides design flexibility going forward. Where possible, existing code from LunaSysMgr was re-used.

As you can imagine, the rewriting has been a lot of work and there are many different scenarios to cover, so there might still be some bugs present. After this release we will focus on adding additional features to Luna Next.

Starting with this release, LuneOS has a built-in update mechanism which makes it easy for users to update to the latest build. The implemented mechanism is similar to the one which was used in webOS before but has a different backend implementation. Right now there is no automatic notification when a new update is available. The user has to check on his own in the Settings app if a new update is available to install it.

Ecosystem

We’re still using Preware to provide application feeds which enables the community to distribute their applications. Currently we only support one feed which is built from purely open source applications. Submitting a new application is as simple as creating a pull-request against the relevant repository which sets up the feed. On the application side we have a reworked Preware application which is now based on Enyo 2. It is faster compared to the original Preware based on the Mojo framework due to the fact it can simultaneously download multiple feeds. However, it’s back-end is still based on the same code as in the legacy webOS system.

Improvements since Alpha 2

Overall there are a lot improvements since the last release. Below is a list which doesn’t aim to be complete but gives a good overview what the team worked on and is still working on:

Core OS system improvements

Built upon libhybris to enable easy portability on available Android based devices where the followings things are currently re-used from Android:

Telephony system (rild)

Graphics drivers

We’re planning to utilize more things from Android soon like:

Hardware accelerated video/audio playback

Sensor integration

Functioning camera

There is currently no plan to support running Android applications within LuneOS like ACL or AndroidChroot do.

Using systemd as system init manager instead of Upstart, giving shorter boot times and easier control of tasks during boot.

Emulator based on VirtualBox is available for testing and development

Completely built by the community (OpenEmbedded build system)

Application improvements

Preware 2 is now working and enables users to install additional applications.

A system update mechanism is available to easily update to a new build once available.

Current work in progress for future releases

Native QML based phone application for speed & reliability

Media Indexer Support with legacy webOS compatible API

Support for audio and video playback

Tweaks support

Further Status Bar indicator support and updates

Further improvements to the keyboard layouts

Adding user interface features to Luna Next which were also available in webOS 3.x and LunaCE such as “Card Stacking”, “Mini Cards”, “Card Zoom Gestures”, “Stack Spread Gestures”, “Infinite Card Cycling”, “Tap-to-Maximize Edge Cards” etc.

Help needed

As LuneOS is a large project with just a small group of people working on it, we could use help with various things. Especially on the application development front. We have a lot of parts on the service side in place but the app UIs need a lot of work from creative people. If you like webOS, know how to develop on the web and enjoy working with an enthusiastic team on a new community built mobile operating system, don’t hesitate to contact us through the available communication channels (see http://webos-ports.org/wiki/Communications). Besides doing real development we also need people spreading the word about LuneOS, working on the website or documentation for others about how to participate in the project.

Here is a rough and unsorted list of things we need help with:

Fix bugs in existing applications (Settings, …)

Create replacements for old Enyo 1 based applications:

Contacts (first draft exists)

Calendar (first draft exists)

Messaging (with Synergy integration)

Create documentation and workflow for app developers to develop and submit new applications

Get started with LuneOS

Ready to start using LuneOS? Great! Here’s what you need to know: there is still a lot of work in progress and the current state should be considered as being alpha even though it’s working quite nicely for the parts that are implemented already. Therefore, use is at your own risk. Currently BlueTooth, the accelerometer, camera and ALS are not implemented yet. Audio & wifi should work, though might be buggy. If you have a TouchPad you can start here. You will want to use the “Release” version. Nightly is used for things that are being worked on and bug fixes for the next release. If you need help installing it, go here. If you’d like to try the emulator go here. And for the Nexus 4 go here. All the supported devices can be found here.

Found some bugs?

Once you’re happily testing, it can of course happen that you will run into some bugs. Feel free to report them at http://issues.webos-ports.org/projects/ports/issues so the developers can look into it. Of course you’re free to help in solving existing bugs as well!

Have questions about the project?

No problem! Send us an email to webosports@gmail.com or tweet to us @webosports. If you’re excited about the project, use the hashtag #LuneOSishere and spread the word!

I have a Galaxy nexus 32 Meg. What are the chances of using moot 0.3.8 to dual boot the phone between android and this LuneOS? I am not going to mess with my Touchpad. I am smitten with JC Sullins 20140625 cm 11 and I live on the thing but the Galaxy Nexus has been taken off the cell network for an S5 but I still need it to boot android on it. Let me know. Thanks.

Seconded! Anyone know if dual-booting on the Gnex works well? All I’ve seen on the web has been dual-booting for the Touchpad. Maybe I missed a link, but it would be great to hear back with some input! 🙂 Currently left running a CM11 nightly on the Gnex and would like a nice change of pace, but without losing Android to fall back on while the port matures.

I know webOS Ports was working on the GNex but they lost their maintainer. If there is a build floating around for it it’s probably old. However, that doesn’t mean that once the foundation for LuneOS is laid for mobile phones it won’t be back ported. Might be a while but stay tuned.

Dual boot for the Nexus is not possible currently, the Touchpad can dual boot. The image for the Nexus is a couple of weeks old and not actively maintained going forward by the project team, but we’re happy to have someone take care of this going forward to keep it supported.

Yeah, I saw a kernel floating around for dual-booting but that was for Android ROMs. Shame, hopefully there’s a dev out there with an old Gnex lying around and willing to help out with the project. Maybe even bring it to the 2013 Nexus 7, which I happen to have around as well haha. I did notice going through the builds that the most recent one was back in mid-August :/ Well my device shouldn’t be going anywhere anytime soon, so I’ll definitely keep my eyes and ears open. Thanks for the replies, everyone!

Alan, I do have a TouchPad (of course 🙂 ). I didn’t know I could dual boot with LuneOS though. I have to try that. Currently I am dual booting LunaCE and Android. I’ll see if I can change it to dual boot with LuneOS and Android. Thanks.

I think there is a doctor in the works. Might be a while though. If you doctor, it will wipe your TouchPad though! Dual booting allows you to keep both. I’ll look into creating a tutorial that’s more my speed (aka dummy-proof)!

OK, I tried to install LuneOS on my TP and… failed miserably. Feeling like a noob. I guess I’ll have to wait for instructions for dummies from either you or webos-ports (huge thank you btw!), or wait for the LuneOS Doctor.

It’s not that black and white to be honest. Open webOS is still actively being developed by LG (SVL) (almost daily commits on https://github.com/openwebos for example). Most core components of the OS are still actively being updated and used in LG’s webOS for TV’s as well as in LuneOS

The big difference being that LG has replaced the LunaSysMgr UI by their own UI that is being used on the TV’s currently. This hasn’t been made open source and there are for sure other parts of LG’s TV webOS that have not been made open source (yet) either. We would welcome more components to be open sourced by LG of course, however that’s not our call to make.

LunaSysMgr as it was can therefore be considered “dead” since neither LG or WebOS Ports is developing on this anymore (this is mainly due to the fact that it was optimized for webOS specific hardware + drivers and wouldn’t work properly with non-webOS (read in our case Android) hardware + drivers.

WebOS Ports decided to rewrite the UI from scratch with Luna Next to overcome this problem and also get rid of a lot of legacy code that was in there and “not needed”. This of course had some setbacks but also quite some advantages because we could take proper design decisions for a lot of things and go back to the drawing board where needed.

Furthermore we have decided to also look at other technologies that are available and where needed we have replaced the existing parts in Open webOS with a more proper variant (in our views). A good example for this is that we use Maliit instead of the EFIGS that was supplied in Open webOS for the virtual keyboard.

“We would welcome more components to be open sourced by LG of course, however that’s not our call to make.”

Certainly, but LG said at the time it was full steam ahead with Open webOS. That isn’t what has happened. LG has internalized all the components needed to get a buildable stack. Yes, code is being accepted to core components, but is there one single device you can build Open webOS today on (aside from an Ubuntu PC – and I’m not even sure if that counts, let alone works)?

Perhaps it’s for the best, mismanagement of Open webOS may be sealed off and LuneOS could take off on its own, implement a Dalvik/Bionic layer and Android compatibility.

Again, best of luck, but LG should be offering to incorporate LuneOS into Open webOS… not creating a wall of separation. At least, if they wanted to stay true to their commitments when they acquired webOS.

Someone needs to contact jcsullins. He has a utility called to toolbox. It single instance loads via Web OS recovery mode. Once recovery mode on the Touchpad is up, it is loaded via a .bat provided in the top toolbox directory. Once you run the .bat with novacom drivers up on the pic with Touchpad in recovery mode, to toolbox is streamed in via USB and launched.

The toolbox can install various Android roms AND Web OS. It will also allow a complete removal of Web os if desired.

I suspect a dev of JC’s skillz set could easily adapt his toolbox to properly partition for and install LuneOS as well as Android and Web OS.

Goo.im/devs/jcsullins/cmtouchpad/tptoolbox That is where you will find toolbox

JC Sullins is on rootzwiki and XDA

Search HP Touchpad The Super Easy Way and you will hit info on JC Sullins and his awesome dev efforts and his tptoolbox

As far as Android on the Touchpad goes jcsullins cm11_20140625 is an excellent rom. Please donate if you decide to use it

The tptoolbox supports a bunch of different roms and knows if it is a data/media rom or standard and partitions / formats appropriately.

Thus I suspect it would take VERY LITTLE WORK to get tptoolbox supporting LuneOS and Web OS AND Android simultaneously via the moot 0.3.8 menu. Seems to me to be a perfect tool for you guys and gals.

If I knew JC I would ask, but I do not. I am just another grateful fanb0y hehe. Much better for one of the project heads here to contact him and ask him about the possible viability and for his permission/help in getting tptoolbox installing Lune…..you freakin Lun3yT00n3y freakshows! !

Can I triple boot my touchpad? I have webOS and cyanogen mod android 4.0.2 they are both stable and I dnt want to remove any of them. But I want to try the new luneOS so if there is a way to add lune to my boot list please help me. I have 32gb version so I have a lot of space to save.