The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)


Community Workspace/Tegra3/Nexus7

From Mer Wiki
< Community Workspace | Tegra3(Difference between revisions)
Jump to: navigation, search
(Added links to PA installation page.)
(Mer on Nexus7)
 
(26 intermediate revisions by 5 users not shown)
Line 3: Line 3:
 
DISCLAIMER: This project is not endorsed or supported by any company. This is purely a community based effort.
 
DISCLAIMER: This project is not endorsed or supported by any company. This is purely a community based effort.
  
This page describes the running Mer on Nexus 7 (see [[Community_Workspace/Tegra3]] for commong Tegra3 stuff).
+
This page describes the running Mer on Nexus 7 (see [[Community_Workspace/Tegra3]] for common Tegra3 stuff).
 +
There were 2 models release in 2012 based on the Tegra3 SOC: grouper - wifi only and tilapia - cellular
  
 
The hardware adaptation is maintained in the project [https://build.merproject.org/project/show?project=nemo%3Adevel%3Ahw%3Anv%3Ategra3%3Anexus7nemo:devel:hw:nv:tegra3:nexus7]
 
The hardware adaptation is maintained in the project [https://build.merproject.org/project/show?project=nemo%3Adevel%3Ahw%3Anv%3Ategra3%3Anexus7nemo:devel:hw:nv:tegra3:nexus7]
  
 
The [[Community_Workspace/Tegra3/Nexus7/PA_installation|Plasma active instructions]] are quite generic and can be easily adapted to other images as well.
 
The [[Community_Workspace/Tegra3/Nexus7/PA_installation|Plasma active instructions]] are quite generic and can be easily adapted to other images as well.
 +
 +
Note: The 2013 Nexus 7 is based on the snapdragon and comes in two varieties: flo - wifi only and deb - cellular
 +
 +
==Hardware Adaptation Status==
 +
{| border="1" cellpadding="1"
 +
|-
 +
! Device Profile !! Boots !! Display !! Touchscreen !! Wireless !! Mobile Data !! H/W Accel. GFX !! Sensors !! GPS
 +
|-
 +
! Nexus 7 grouper (wifi)
 +
| style="background-color:green" | Yes
 +
| style="background-color:green" | Yes
 +
| style="background-color:green" | Yes
 +
| style="background-color:green" | Yes
 +
| style="background-color:green" | N/A
 +
| style="background-color:green" | Yes
 +
| style="background-color:yellow"| kernel, yes
 +
| style="background-color:grey"  | unknown
 +
|-
 +
! Nexus 7 tilapia (gprs)
 +
| style="background-color:green" | Yes
 +
| style="background-color:green" | Yes
 +
| style="background-color:green" | Yes
 +
| style="background-color:green" | Yes
 +
| style="background-color:yellow" | not tested
 +
| style="background-color:green" | Yes
 +
| style="background-color:yellow"  | kernel, yes
 +
| style="background-color:grey"  | unknown
 +
|-
 +
! Nexus 7 flo (wifi)
 +
| style="background-color:green" | Yes
 +
| style="background-color:red" | No
 +
| style="background-color:grey" | unknown
 +
| style="background-color:grey" | unknown
 +
| style="background-color:grey" | unknown
 +
| style="background-color:red" | No
 +
| style="background-color:grey" | unknown
 +
| style="background-color:grey" | unknown
 +
|-
 +
! Nexus 7 deb (cellular)
 +
| style="background-color:green" | Yes
 +
| style="background-color:red" | No
 +
| style="background-color:grey" | unknown
 +
| style="background-color:grey" | unknown
 +
| style="background-color:grey" | unknown
 +
| style="background-color:red" | No
 +
| style="background-color:grey" | unknown
 +
| style="background-color:grey" | unknown
 +
|}
  
 
= Plasma Active on Nexus7 =
 
= Plasma Active on Nexus7 =
Line 15: Line 64:
 
See [[Community_Workspace/Tegra3/Nexus7/PA_installation]].
 
See [[Community_Workspace/Tegra3/Nexus7/PA_installation]].
  
== HA Issues ==
+
== Known Issues ==
 +
 
 +
See [[Community_Workspace/Tegra3/Nexus7/PA_Known_Issues]]
 +
 
 +
== Workarounds ==
 +
 
 +
=== Keyboard ===
 +
 
 +
If you have issues with the default keyboard you should give this one a try:
 +
To install it just:
  
=== [FIXED] No sound. Device is a dummy ===
+
  zypper ar -G http://repo.pub.meego.com/home:/wonko:/branches:/Project:/KDE:/Trunk:/Testing/CE_UX_PlasmaActive_armv7hl/home:wonko:branches:Project:KDE:Trunk:Testing.repo
 +
  zypper up maliit-active libmaliit-quick
 +
  killall -9 maliit-server
  
Pulseaudio configs were added and audio should work now (might be muted by default?). Not sure the audio settings are saved on shutdown?
+
= Nemo Mobile =
  
=== [CONFIRMED] No GPS or it’s not automated to set the system location ===
+
All the major things are working, including accelerated video, OpenGL ES, and window compositing.
  
GPS needs firmware that might be missing. Does PA support GPS?
+
'''Top issues'''
Comment: There is a marble touch version that would benefit greatly! Gps should be supported through QtMobility and gpsd, and available in a plasma engine as well afaik.
+
* FIXED: X.Org/VT problems, if the display blanks. Run "chvt 2 && sleep 1 && chvt 1" e.g. over ssh to recover.
 +
* Tearing (doesn't seem to include video/OpenGL ES)
  
=== Screen brightness is locked at 100% but does dim on non-use ===
+
= Hardware support =
 +
== Accelerometer / Gyroscope ==
  
There was something odd related to backlight sysfs interface, need to debug.
+
All files are in /sys/devices/platform/tegra-i2c.2/i2c-2/2-0068/iio:device0
  
=== [WORKSFORME] USB recharging seems to be bad ===
+
mpu6050 (sensor in Nexus 7) configuration:
  
From PC or with a separate power supply? Worked for me.
+
# configure buffer: "# echo 10 > buffer/length". 10 is choosen by me at random. -- [[User:Glueckself|Glueckself]] 23:49, 28 January 2013 (UTC)
 +
# configure desired axes / values: "# echo 1 > scan_elements/in_*_en". This command has to be run on all desired values, "> in_*_en" is not a valid redirection.
 +
# enable buffer: "# echo 1 > buffer/enable"
  
=== [CONFIRMED] No screen rotation ===
+
The data can then be read from in_{accel,anglvel}_{x,y,z}_raw.
  
Need to check what interface the kernel drivers provide for accelerometers. There is the traditional xrandr based rotation for X.Org but that’s slow and doesn’t support animated rotation so e.g. Nemo handles this on Qt (window manager?) level. What’s the PA approach here?
+
== Touchscreen rotation ==
  
=== [FIXED?] Videos don’t seem to play ===
+
There is a [http://markoviclan.nerd.at/files/xorg-x11-drv-mtev-0.1.13-rotate.tgz modified mtev driver] that supports rotation (via the "Rotation" parameters).
  
HW accelerated video is supported but with non-standard video sink for GStreamer. Patch exists for Phonon that is used by the default player in PA3.
+
Xinput <= 1.5.4 needs to be installed (>1.5.4 needs a newer xi library).
 +
xrandr/xinput values are: normal/3, left/2, inverted/1, right/0.
  
== PA/KDE Issues ==
+
The UI can then be rotated via xrandr.
  
=== Keyboard input fails many field entries. No way to enter text. It looks like it loses selection and you type into the null ===
+
Please note that this doesn't support animations.
 +
There are also a few issues (half drawn background, some cursor issues).
  
=== [GENERALLY WORKSFORME] No GFX acceleration, or it’s slow ===
+
= libhybris/Wayland =
  
HA provides GFX acceleration and PA uses it to some extent but some operations seems to be unoptimized.
+
== Build Android /system ==
  
=== [WORKAROUND?] Keyboard is really small, and or lame. No cntrl button or buttons for coders ===
+
First step is to build android see [ASOP instructions http://source.android.com/]
  
An alternative keyboard exists?
+
Extract the build environment then down load drivers
  
=== [CONFIRMED] Tegra 3 has draw glitches on the activity window list ===
+
For wifi version dowload grouper drivers and for gprs version the tilapia drivers
  
The rendering problems seems to be generic and not HA specific, so a bug in PA.
+
extract them into your android build env.
  
See https://bugs.kde.org/show_bug.cgi?id=310508
+
Apply the bionic patch
  
=== Repository is lacking and uses zypper as package manager. Example repo doesn’t even have firefox. Probably a great way to promote default webkit based browser ===
+
now use lunch full_grouper-userdebug or full_tilapia-userdebug as appropriate (this step take some time)
  
Regular Firefox won't be suitable anyway. Work is under way to make mobile Firefox builds.
+
you need to tar up the system directory in out/target/product/grouper/ or out/target/product/tilapia/
  
See https://wiki.mozilla.org/How_To_Build_Fennec_with_Mer_SDK
+
== libhybris packages ==
  
=== System settings only has three options, Screen Power, Web, and Time. ===
+
I have built libhybris for 4.2.2 tilapia [https://build.merproject.org/project/monitor?project=home%3Acxl000%3Abranches%3Anemo%3Adevel%3Ahw%3Aandroid%3Acommon]
  
=== Can’t work out how to remove widgets on an activity screen. No trash icon etc. ===
+
== build an image ==
  
=== No widget container to hold non Plasma Active apps. Example install KCalc and it opened without a window around to, so no means to move it. I could add the link to a general widget though to kick starting it even though they fail ===
+
See the work on building wayland images.
  
=== Some apps wont kick start from Activity Screen wigit. It loads up KWrite.  ===
+
You will want the libhybris graphics libraries from home:cxl000:branches:nemo:devel:hw:Aandroid:commo, qt5-qtwayland-wayland_egl examples eglfs platform plugin.
  
=== There is not GFX package manager, so try to install one with zypper  ===
+
Do not include the tegra3 drivers as these should be replaced with the libhybris versions
  
=== Plasma Active ignores your power settings, and turns off the screen in minutes. Suspends ssh session in the process. ===
+
Extract the system.tar into the root of your nexus nemo.
  
=== Holding a key on the software keyboard does not repeat  ===
+
chown -R root.root system and chmod -R g+r system to fix permissions.
  
=== Slow to start up  ===
+
A few things still need to be done manually as they are not yet packaged:
  
=== Side rotary region interferes with widget container box resizing if near  ===
+
You will need to make to nvidia device read/write to group video /dev/asmem /dev/*nv* /dev/*tegra*
  
=== Some default installed images wont display ===
+
lipstick options need to be set to -platform eglfs
  
What images, what size?
+
user session environment needs to include
  
=== Samba doesn’t seem to work. Needs ‘hostname’? No Network option in Dolphin  ===
+
QT_QPA_PLATFORM=wayland
  
=== Some PackageKit selections don’t have install scripts set to suit OS. Fail with insufficient space due trying to install to ‘/’  ===
+
QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS="rotate=90"
  
=== No Kamera app to test camera ===
 
  
Camera should work on HA side but is untested. Need to test on GStreamer level.
+
If all goes well you will get the home screen
Maybe Kamoso would be a starting point? The dream photo app could be based on showphoto maybe?
+
  
=== Dolphin really lacking. No settings ===
+
If the screen is not updated check that libhybrys graphics are working: run test_glesv2
  
=== Most apps/widgets don’t have settings ===
+
Make sure you have the qt5 versions of lipstick installed
  
=== External keyboard doesn't work in USB host mode. Any drivers missing? ===
+
=== Issues ===
  
=== The "Reader" (mobile okular) is constantly crashing on zoom. ===
+
* some apps display mirrored
See https://bugs.kde.org/show_bug.cgi?id=308240
+
* not many apps availbale
 +
* no settings ...

Latest revision as of 02:20, 6 November 2013

Contents

[edit] Mer on Nexus7

DISCLAIMER: This project is not endorsed or supported by any company. This is purely a community based effort.

This page describes the running Mer on Nexus 7 (see Community_Workspace/Tegra3 for common Tegra3 stuff). There were 2 models release in 2012 based on the Tegra3 SOC: grouper - wifi only and tilapia - cellular

The hardware adaptation is maintained in the project [1]

The Plasma active instructions are quite generic and can be easily adapted to other images as well.

Note: The 2013 Nexus 7 is based on the snapdragon and comes in two varieties: flo - wifi only and deb - cellular

[edit] Hardware Adaptation Status

Device Profile Boots Display Touchscreen Wireless Mobile Data H/W Accel. GFX Sensors GPS
Nexus 7 grouper (wifi) Yes Yes Yes Yes N/A Yes kernel, yes unknown
Nexus 7 tilapia (gprs) Yes Yes Yes Yes not tested Yes kernel, yes unknown
Nexus 7 flo (wifi) Yes No unknown unknown unknown No unknown unknown
Nexus 7 deb (cellular) Yes No unknown unknown unknown No unknown unknown

[edit] Plasma Active on Nexus7

[edit] Installation

See Community_Workspace/Tegra3/Nexus7/PA_installation.

[edit] Known Issues

See Community_Workspace/Tegra3/Nexus7/PA_Known_Issues

[edit] Workarounds

[edit] Keyboard

If you have issues with the default keyboard you should give this one a try: To install it just:

  zypper ar -G http://repo.pub.meego.com/home:/wonko:/branches:/Project:/KDE:/Trunk:/Testing/CE_UX_PlasmaActive_armv7hl/home:wonko:branches:Project:KDE:Trunk:Testing.repo
  zypper up maliit-active libmaliit-quick
  killall -9 maliit-server

[edit] Nemo Mobile

All the major things are working, including accelerated video, OpenGL ES, and window compositing.

Top issues

  • FIXED: X.Org/VT problems, if the display blanks. Run "chvt 2 && sleep 1 && chvt 1" e.g. over ssh to recover.
  • Tearing (doesn't seem to include video/OpenGL ES)

[edit] Hardware support

[edit] Accelerometer / Gyroscope

All files are in /sys/devices/platform/tegra-i2c.2/i2c-2/2-0068/iio:device0

mpu6050 (sensor in Nexus 7) configuration:

  1. configure buffer: "# echo 10 > buffer/length". 10 is choosen by me at random. -- Glueckself 23:49, 28 January 2013 (UTC)
  2. configure desired axes / values: "# echo 1 > scan_elements/in_*_en". This command has to be run on all desired values, "> in_*_en" is not a valid redirection.
  3. enable buffer: "# echo 1 > buffer/enable"

The data can then be read from in_{accel,anglvel}_{x,y,z}_raw.

[edit] Touchscreen rotation

There is a modified mtev driver that supports rotation (via the "Rotation" parameters).

Xinput <= 1.5.4 needs to be installed (>1.5.4 needs a newer xi library). xrandr/xinput values are: normal/3, left/2, inverted/1, right/0.

The UI can then be rotated via xrandr.

Please note that this doesn't support animations. There are also a few issues (half drawn background, some cursor issues).

[edit] libhybris/Wayland

[edit] Build Android /system

First step is to build android see [ASOP instructions http://source.android.com/]

Extract the build environment then down load drivers

For wifi version dowload grouper drivers and for gprs version the tilapia drivers

extract them into your android build env.

Apply the bionic patch

now use lunch full_grouper-userdebug or full_tilapia-userdebug as appropriate (this step take some time)

you need to tar up the system directory in out/target/product/grouper/ or out/target/product/tilapia/

[edit] libhybris packages

I have built libhybris for 4.2.2 tilapia [2]

[edit] build an image

See the work on building wayland images.

You will want the libhybris graphics libraries from home:cxl000:branches:nemo:devel:hw:Aandroid:commo, qt5-qtwayland-wayland_egl examples eglfs platform plugin.

Do not include the tegra3 drivers as these should be replaced with the libhybris versions

Extract the system.tar into the root of your nexus nemo.

chown -R root.root system and chmod -R g+r system to fix permissions.

A few things still need to be done manually as they are not yet packaged:

You will need to make to nvidia device read/write to group video /dev/asmem /dev/*nv* /dev/*tegra*

lipstick options need to be set to -platform eglfs

user session environment needs to include

QT_QPA_PLATFORM=wayland

QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS="rotate=90"


If all goes well you will get the home screen

If the screen is not updated check that libhybrys graphics are working: run test_glesv2

Make sure you have the qt5 versions of lipstick installed

[edit] Issues

  • some apps display mirrored
  • not many apps availbale
  • no settings ...
Personal tools