Difference between revisions of "LunaCE on Pre3"
ShiftyAxel (talk | contribs) |
ShiftyAxel (talk | contribs) m (moved LunaSysMgr CE for Pre3 to LunaCE on Pre3: New name) |
||
(27 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | ==Introduction== | |
− | This page is dedicated to running the WOCE version of LunaSysMgr on | + | This page is dedicated to running the WOCE version of LunaSysMgr on webOS 2.x devices. |
− | + | The information here was collated using WOCE on a Pre3, so it may not be accurate if you're using a different device. | |
− | |||
− | + | The page will be updated to reflect new findings as and when they surface. | |
− | + | ==What Works== | |
+ | '''Touch Input''' | ||
− | + | '''Ringer Switch''' | |
− | + | '''Sound''' | |
− | + | '''Status Bar''' | |
− | + | '''System Menu''' | |
+ | |||
+ | ==What 'Sort Of' Works== | ||
'''Virtual Keyboard''' | '''Virtual Keyboard''' | ||
+ | |||
+ | Opens and works w/password unlock | ||
Characters are all garbled | Characters are all garbled | ||
− | + | Doesn't hide/show when slider is opened/closed in a text field | |
Opens and crashes in maximized cards (lock & unlock when maximised to show keyboard button): | Opens and crashes in maximized cards (lock & unlock when maximised to show keyboard button): | ||
Line 36: | Line 40: | ||
** (LunaSysMgr:3437): CRITICAL **: virtual void WebAppMgrProxy::onDisconnected() (185): Exiting Sysmgr... | ** (LunaSysMgr:3437): CRITICAL **: virtual void WebAppMgrProxy::onDisconnected() (185): Exiting Sysmgr... | ||
+ | |||
+ | '''Hardware Keyboard''' | ||
+ | |||
+ | Enter & Backspace work w/password unlock, other keys unresponsive. | ||
+ | |||
+ | Doesn't wake the screen from lock. | ||
+ | |||
+ | Crashes on input in card view/launcher with the following: | ||
+ | ** Message: dockStateTransition: transitioned to state 1 | ||
'''Power Button''' | '''Power Button''' | ||
− | |||
− | Press-and-hold | + | Screen lock/unlock works |
+ | |||
+ | Press-and-hold doesn't function (may be to do with app launching) | ||
+ | |||
+ | '''Volume Keys''' | ||
+ | |||
+ | Indicator appears on-screen, changes boot sound volume. | ||
+ | |||
+ | Keyboard clicks & card 'swoosh' sounds unaffected. | ||
'''UI Layout''' | '''UI Layout''' | ||
+ | |||
+ | Status Bar dimensions are too large. | ||
+ | |||
+ | ''(The above can be fixed by replacing /etc/palm/luna-platform.conf with LunaSysMgr/conf/luna-mantaray.conf)'' | ||
+ | |||
+ | Quick Launch icons overflow over the launcher button. | ||
+ | |||
+ | Launcher displays 2 columns instead of 3. | ||
+ | |||
+ | Everything's tiny due to lack of scaling. | ||
+ | |||
+ | Just Type bar is too big for the screen. | ||
'''Launcher''' | '''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''' | |
− | + | Screen does not rotate, | |
− | + | LunaSysMgr throws HAL errors relating to it: | |
− | + | 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, and you '''will''' have to doctor your device to get it back to normal functionality. | |
− | + | Also, if you're attempting to install LunaSysMgr CE on a Pre2 or earlier device, note that the Qt4.8 libs are very large and may not fit into your rootfs. In this case, it is recommended to either use either Tailor or the webOS Internals Meta Doctor to increase the partition's size. | |
− | |||
− | + | ==Instructions== | |
− | '''Transfer the required libraries | + | '''Transfer the required libraries''' |
Open a Terminal and cd into woce-build/rootfs/armv7/usr/lib/ | Open a Terminal and cd into woce-build/rootfs/armv7/usr/lib/ | ||
Line 84: | Line 151: | ||
rm lunaLibs.tar | rm lunaLibs.tar | ||
Copy libqpalm to the Qt Libraries folder | Copy libqpalm to the Qt Libraries folder | ||
+ | mkdir -p /usr/plugins/platforms | ||
cp ./libqpalm.so /usr/plugins/platforms | cp ./libqpalm.so /usr/plugins/platforms | ||
Link the new libraries | Link the new libraries | ||
Line 90: | Line 158: | ||
exit | exit | ||
− | '''Transfer the required HAL modules | + | '''Transfer the required HAL modules''' |
Open a Terminal and cd into woce-build/rootfs/armv7/lib/hal/modules | Open a Terminal and cd into woce-build/rootfs/armv7/lib/hal/modules | ||
Line 106: | Line 174: | ||
exit | exit | ||
− | '''Transfer the required Luna modules | + | '''Transfer the required Luna modules''' |
cd into woce-build/rootfs/armv7/usr/lib/luna | cd into woce-build/rootfs/armv7/usr/lib/luna | ||
Line 122: | Line 190: | ||
exit | exit | ||
− | '''Transfer the required resources | + | '''Transfer the required Luna resources''' |
cd into woce-build/rootfs/armv7/usr/palm/sysmgr | cd into woce-build/rootfs/armv7/usr/palm/sysmgr | ||
Line 160: | Line 228: | ||
Modify woce-build/support/cross-compile.mk, changing MACHINE=topaz to MACHINE=mantaray | 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- | + | Build LunaSysMgr, noting that the output will now be in the release-<MACHINE> folder (for instance, Pre3 would be release-mantaray) |
Backup your old LunaSysMgr | Backup your old LunaSysMgr | ||
Line 172: | Line 240: | ||
novaterm | novaterm | ||
LunaSysMgr | LunaSysMgr | ||
+ | |||
+ | == Getting apps to start == | ||
+ | |||
+ | While technically it is possible to get apps to actually start, there's something crashing in the visuals area, so we can only see it actually working from the logs at startup. | ||
+ | |||
+ | To get apps "operating", you'll need the libWebKitLuna.so from 3.0.5. This also requires libSimpleStats.so. BrowserServer also requires libWebKitLuna, and will need a replacement libv8.so to operate for it's "SetLocaleCollator" function, and a new libnapp.so for it's "MallocTrim" function. libnapp.so requires libdlmalloc.so to function, as well. | ||
+ | |||
+ | After getting everything operating, libnapp will crash Luna out with the following backtrace: | ||
+ | |||
+ | |||
+ | #0 0x3610422c in NWindow::SetBuffer(int, NWindowBuffer*) () from /usr/lib/libnapp.so | ||
+ | #1 0x38d99700 in WSEGL_SwapDrawable(void*, unsigned long) () from /usr/lib/egl/libeglsubdrv.so | ||
+ | #2 0x37f0e738 in IMGeglSwapBuffers () from /usr/lib/libIMGegl.so | ||
+ | #3 0x36145a7c in QEGLPlatformContext::swapBuffers() () from /usr/lib/libqpalm.so | ||
+ | #4 0x3614609c in QEglFSWindowSurface::flush(QWidget*, QRegion const&, QPoint const&) () from /usr/lib/libqpalm.so | ||
+ | #5 0x367f7280 in QWidgetBackingStore::flush(QWidget*, QWindowSurface*) () from /var/lib/libQt/libQtGui.so.4 | ||
+ | #6 0x36a43950 in ?? () from /var/lib/libQt/libQtGui.so.4 | ||
+ | |||
+ | Attempting to copy in new versions of the dependencies for libnapp will result in much earlier crashing: | ||
+ | |||
+ | try copying in new /usr/lib/egl/libeglsubdrv.so ... | ||
+ | results: | ||
+ | |||
+ | ** (LunaSysMgr:17141): WARNING **: QWarning: Could not open egl display | ||
+ | ** ERROR **: QFatal: EGL error | ||
+ | |||
+ | crash, very early in startup. | ||
+ | |||
+ | copied in libPiranha.*, no change | ||
+ | copied /usr/lib/egl/* no change | ||
+ | copied /usr/lib/libpvrtc no change | ||
+ | copied /usr/lib/libEGL.so no change |
Latest revision as of 02:57, 15 September 2012
Introduction
This page is dedicated to running the WOCE version of LunaSysMgr on webOS 2.x devices.
The information here was collated using WOCE on a Pre3, so it may not be accurate if you're using a different device.
The page will be updated to reflect new findings as and when they surface.
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/show when slider is opened/closed in a text field
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.
Doesn't wake the screen from lock.
Crashes on input in card view/launcher with the following:
** Message: dockStateTransition: transitioned to state 1
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, changes boot sound volume.
Keyboard clicks & card 'swoosh' sounds unaffected.
UI Layout
Status Bar dimensions are too large.
(The above can be fixed by replacing /etc/palm/luna-platform.conf with LunaSysMgr/conf/luna-mantaray.conf)
Quick Launch icons overflow over the launcher button.
Launcher displays 2 columns instead of 3.
Everything's tiny due to lack of scaling.
Just Type bar is too big for the screen.
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
Screen does not rotate,
LunaSysMgr throws HAL errors relating to it:
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, and you will have to doctor your device to get it back to normal functionality.
Also, if you're attempting to install LunaSysMgr CE on a Pre2 or earlier device, note that the Qt4.8 libs are very large and may not fit into your rootfs. In this case, it is recommended to either use either Tailor or the webOS Internals Meta Doctor to increase the partition's size.
Instructions
Transfer the required libraries
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 mkdir -p /usr/plugins/platforms
cp ./libqpalm.so /usr/plugins/platforms
Link the new libraries
ldconfig -v
Close novaterm
exit
Transfer the required HAL modules
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
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 Luna resources
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-<MACHINE> folder (for instance, Pre3 would be release-mantaray)
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
Getting apps to start
While technically it is possible to get apps to actually start, there's something crashing in the visuals area, so we can only see it actually working from the logs at startup.
To get apps "operating", you'll need the libWebKitLuna.so from 3.0.5. This also requires libSimpleStats.so. BrowserServer also requires libWebKitLuna, and will need a replacement libv8.so to operate for it's "SetLocaleCollator" function, and a new libnapp.so for it's "MallocTrim" function. libnapp.so requires libdlmalloc.so to function, as well.
After getting everything operating, libnapp will crash Luna out with the following backtrace:
- 0 0x3610422c in NWindow::SetBuffer(int, NWindowBuffer*) () from /usr/lib/libnapp.so
- 1 0x38d99700 in WSEGL_SwapDrawable(void*, unsigned long) () from /usr/lib/egl/libeglsubdrv.so
- 2 0x37f0e738 in IMGeglSwapBuffers () from /usr/lib/libIMGegl.so
- 3 0x36145a7c in QEGLPlatformContext::swapBuffers() () from /usr/lib/libqpalm.so
- 4 0x3614609c in QEglFSWindowSurface::flush(QWidget*, QRegion const&, QPoint const&) () from /usr/lib/libqpalm.so
- 5 0x367f7280 in QWidgetBackingStore::flush(QWidget*, QWindowSurface*) () from /var/lib/libQt/libQtGui.so.4
- 6 0x36a43950 in ?? () from /var/lib/libQt/libQtGui.so.4
Attempting to copy in new versions of the dependencies for libnapp will result in much earlier crashing:
try copying in new /usr/lib/egl/libeglsubdrv.so ... results:
- (LunaSysMgr:17141): WARNING **: QWarning: Could not open egl display
- ERROR **: QFatal: EGL error
crash, very early in startup.
copied in libPiranha.*, no change copied /usr/lib/egl/* no change copied /usr/lib/libpvrtc no change copied /usr/lib/libEGL.so no change