LunaCE on Pre3

From WebOS-Ports
Jump to navigation Jump to search

Introduction

This page is dedicated to running the WOCE version of LunaSysMgr on a Pre3.

What Works

Touch Input

Ringer Switch

Sound

Status Bar

System Menu

What 'Sort Of' Works

Virtual Keyboard

Opens and works w/password unlock

Characters are all garbled

Doesn't hide when slider is opened

Opens and crashes in maximized cards (lock & unlock when maximised to show keyboard button):

** (LunaSysMgr:3437): DEBUG: IME: Window got focus change in sysmgr com.palm.app.clock focused: 1, fieldtype: 0, fieldactions: 0x00
** Message: void DisplayManager::setTouchpanelMode(bool): Setting hal touchpanel mode to 1
** (LunaSysMgr:3437): DEBUG: System request to show the IME
** (LunaSysMgr:3437): DEBUG: bool SystemUiController::changeNegativeSpace(int, bool, bool): 423
** (LunaSysMgr:3441): DEBUG: WindowedWebApp::onKeyboardShown if (window.Mojo && window.Mojo.keyboardShown) {window.Mojo.keyboardShown(true);}
** (LunaSysMgr:3437): DEBUG: Allowing touch-end event through
** (LunaSysMgr:3441): DEBUG: WEBKIT PERF: PAINT appid: \xc0\xc3, time: 892404

LunaSysMgr: symbol lookup error: LunaSysMgr: undefined symbol: _ZN4Palm7WebView24unmapCompositingTexturesEv

** (LunaSysMgr:3437): CRITICAL **: virtual void WebAppMgrProxy::onDisconnected() (181): WebAppMgrProxy was Disconnected!!

** (LunaSysMgr:3437): CRITICAL **: virtual void WebAppMgrProxy::onDisconnected() (185): Exiting Sysmgr...

Hardware Keyboard

Enter & Backspace work w/password unlock, other keys unresponsive

Crashes on input everywhere except the lock screen (trying to launch Just Type w/input?)

Power Button

Screen lock/unlock works

Press-and-hold doesn't function (may be to do with app launching)

Volume Keys

Indicator appears on-screen but the volume doesn't actually change

UI Layout

Status Bar dimensions are too large

Quick Launch icons overflow over the launcher button

(The above can be fixed by replacing /etc/palm/luna-platform.conf with LunaSysMgr/conf/luna-mantaray.conf)

Launcher displays 2 columns instead of 3

Everything's tiny due to lack of scaling

Launcher

Flick handling is intermittent, sometimes works, sometimes doesn't. Somewhat random.

What Doesn't Work

App Launching

Icons glow & cards appear, but solid white with no content.

Cards never reach MaximizeState

Core apps (Phone, Contacts, Mail, etc) don't even get a card.

Voice Dial

Timeout sound plays some seconds after triggering via icon/volume keys.

Otherwise non-functional.

Just Type

When tapped, search bar & quick launch fade out to make way for just type, but it never appears.

Cannot go back from there, as the gesture area doesn't work.

Gesture Area

No response, CoreNavi LED doesn't function.

Logs complain about not being able to find a target for the gesture:

** (LunaSysMgr:8396): WARNING **: QWarning: QGestureManager::deliverEvent: could not find the target for gesture

MinimalUI

First Use Mode?

Hangs at the HP logo while wiping /media/internal/.palm and setting up core apps.

Presumably dependent on First Use app, which doesn't launch currently.

Accellerometer

webos-device user.err LunaSysMgr: module (halSensorOrientationDefault.module) does not exist
webos-device user.err LunaSysMgr: in /lib/hal/modules
webos-device user.err LunaSysMgr: nor in  /lib/hal/modules.mock
webos-device user.crit LunaSysMgr: {LunaSysMgr}: Unable to open Sensor : [virtual hal_error_t HALConnectorBase::openSensor() : 103] : [HAL Sensor Type = 2]
webos-device user.crit LunaSysMgr: {LunaSysMgr}: Unable to open the requested sensor type :
                         [static HALConnectorBase* HALConnectorBase::getSensor(HALConnectorBase::Sensor, HALConnectorObserver*, bool) : 485] : [SensorType = 2]

Disclaimer

Before continuing, be sure to understand that this version of LunaSysMgr is NOT usable in it's current state. It is here for the purpose of further development.

Instructions

Transfer the required libraries to the Pre3

Open a Terminal and cd into woce-build/rootfs/armv7/usr/lib/

Compress the libraries into a .tar file for easy transfer (-h to follow symbolic links, otherwise libaffinity.so breaks)

tar -chvf lunaLibs.tar libQt* libhal.so libaffinity.so libqpalm.so libpsc.so

Copy the files to the device

novacom put file:///usr/lib/lunaLibs.tar < lunaLibs.tar

Extract them

novaterm
cd /usr/lib
tar -xvf lunaLibs.tar
rm lunaLibs.tar

Copy libqpalm to the Qt Libraries folder

cp ./libqpalm.so /usr/plugins/platforms

Link the new libraries

ldconfig -v

Close novaterm

exit

Transfer the required HAL modules to the Pre3

Open a Terminal and cd into woce-build/rootfs/armv7/lib/hal/modules

Compress the libraries into a .tar file for easy transfer

tar -cvf lunaHAL.tar ./*

Copy the files to the device

novacom put file:///lib/hal/modules/lunaHAL.tar < lunaHAL.tar

Extract them

novaterm
cd /lib/hal/modules/
tar -xvf lunaHAL.tar
rm lunaHAL.tar

Close novaterm

exit

Transfer the required Luna modules to the Pre3

cd into woce-build/rootfs/armv7/usr/lib/luna

Compress the libraries into a .tar file for easy transfer

tar -cvf lunaModules.tar ./*

Copy the files to the device

novacom put file:///usr/lib/luna/lunaModules.tar < lunaModules.tar

Extract them

novaterm
cd /usr/lib/luna
tar -xvf lunaModules.tar
rm lunaModules.tar

Close novaterm

exit

Transfer the required resources to the Pre3

cd into woce-build/rootfs/armv7/usr/palm/sysmgr

Compress the resources into a .tar file for easy transfer

tar -cvf lunaRes.tar ./*

Copy the files to the device

novacom put file:///usr/palm/sysmgr/lunaRes.tar < lunaRes.tar

Extract them

novaterm
cd /usr/palm/sysmgr
tar -xvf lunaRes.tar
rm lunaRes.tar

Close novaterm

exit

Prevent LunaSysMgr from crashing on startup

Option A: Clone a git repository

git clone git://github.com/ShiftyAxel/LunaSysMgr.git
git checkout lsm-pre3

And to pull down the latest changes

git pull origin lsm-pre3

Option B: Download a patch

Download and apply the following patch to your own LSM sources:

cd /path/to/LunaSysMgr
curl https://github.com/ericblade/LunaSysMgr/commit/329e500b0ae0d0a2aaede30d7ae9086f66f49034.diff > lsm-pre3.diff
patch -p1 < lsm-pre3.diff

Build and Run

Modify woce-build/support/cross-compile.mk, changing MACHINE=topaz to MACHINE=mantaray

Build LunaSysMgr, noting that the output will now be in the release-mantaray folder instead of release-topaz

Backup your old LunaSysMgr

novaterm
stop LunaSysMgr
mv /usr/bin/LunaSysMgr /usr/bin/LunaSysMgr.old
exit

Upload the new LunaSysMgr

novacom put file:///usr/bin/LunaSysMgr < /path/to/compiled/LunaSysMgr

Run the new LunaSysMgr

novaterm
LunaSysMgr