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
(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)
(Mer on Nexus7)
 
(30 intermediate revisions by 6 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.
 +
 +
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 =
  
== HA Issues ==
+
== Installation ==
 +
 
 +
See [[Community_Workspace/Tegra3/Nexus7/PA_installation]].
 +
 
 +
== 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:
 +
 
 +
  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
 +
 
 +
= Nemo Mobile =
  
=== [FIXED] No sound. Device is a dummy ===
+
All the major things are working, including accelerated video, OpenGL ES, and window compositing.
  
Pulseaudio configs were added and audio should work now (might be muted by default?). Not sure the audio settings are saved on shutdown?
+
'''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)
  
=== [CONFIRMED] No GPS or it’s not automated to set the system location ===
+
= Hardware support =
 +
== Accelerometer / Gyroscope ==
  
GPS needs firmware that might be missing. Does PA support GPS?
+
All files are in /sys/devices/platform/tegra-i2c.2/i2c-2/2-0068/iio:device0
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.
+
  
=== Screen brightness is locked at 100% but does dim on non-use ===
+
mpu6050 (sensor in Nexus 7) configuration:
  
There was something odd related to backlight sysfs interface, need to debug.
+
# 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"
  
=== [WORKSFORME] USB recharging seems to be bad ===
+
The data can then be read from in_{accel,anglvel}_{x,y,z}_raw.
  
From PC or with a separate power supply? Worked for me.
+
== Touchscreen rotation ==
  
=== [CONFIRMED] No screen rotation ===
+
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).
  
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?
+
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.
  
=== [FIXED?] Videos don’t seem to play ===
+
The UI can then be rotated via xrandr.
  
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.
+
Please note that this doesn't support animations.
 +
There are also a few issues (half drawn background, some cursor issues).
  
== PA/KDE Issues ==
+
= libhybris/Wayland =
  
=== Keyboard input fails many field entries. No way to enter text. It looks like it loses selection and you type into the null ===
+
== Build Android /system ==
  
=== [GENERALLY WORKSFORME] No GFX acceleration, or it’s slow ===
+
First step is to build android see [ASOP instructions http://source.android.com/]
  
HA provides GFX acceleration and PA uses it to some extent but some operations seems to be unoptimized.
+
Extract the build environment then down load drivers
  
=== [WORKAROUND?] Keyboard is really small, and or lame. No cntrl button or buttons for coders ===
+
For wifi version dowload grouper drivers and for gprs version the tilapia drivers
  
An alternative keyboard exists?
+
extract them into your android build env.
  
=== [CONFIRMED] Tegra 3 has draw glitches on the activity window list ===
+
Apply the bionic patch
  
The rendering problems seems to be generic and not HA specific, so a bug in PA.
+
now use lunch full_grouper-userdebug or full_tilapia-userdebug as appropriate (this step take some time)
  
See https://bugs.kde.org/show_bug.cgi?id=310508
+
you need to tar up the system directory in out/target/product/grouper/ or out/target/product/tilapia/
  
=== 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 ===
+
== libhybris packages ==
  
Regular Firefox won't be suitable anyway. Work is under way to make mobile Firefox builds.
+
I have built libhybris for 4.2.2 tilapia [https://build.merproject.org/project/monitor?project=home%3Acxl000%3Abranches%3Anemo%3Adevel%3Ahw%3Aandroid%3Acommon]
  
See https://wiki.mozilla.org/How_To_Build_Fennec_with_Mer_SDK
+
== build an image ==
  
=== System settings only has three options, Screen Power, Web, and Time. ===
+
See the work on building wayland images.
  
=== Can’t work out how to remove widgets on an activity screen. No trash icon etc. ===
+
You will want the libhybris graphics libraries from home:cxl000:branches:nemo:devel:hw:Aandroid:commo, qt5-qtwayland-wayland_egl examples eglfs platform plugin.
  
=== 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 ===
+
Do not include the tegra3 drivers as these should be replaced with the libhybris versions
  
=== Some apps wont kick start from Activity Screen wigit. It loads up KWrite. ===
+
Extract the system.tar into the root of your nexus nemo.
  
=== There is not GFX package manager, so try to install one with zypper  ===
+
chown -R root.root system and chmod -R g+r system to fix permissions.
  
=== Plasma Active ignores your power settings, and turns off the screen in minutes. Suspends ssh session in the process.  ===
+
A few things still need to be done manually as they are not yet packaged:
  
=== Holding a key on the software keyboard does not repeat  ===
+
You will need to make to nvidia device read/write to group video /dev/asmem /dev/*nv* /dev/*tegra*
  
=== Slow to start up  ===
+
lipstick options need to be set to -platform eglfs
  
=== Side rotary region interferes with widget container box resizing if near  ===
+
user session environment needs to include
  
=== Some default installed images wont display ===
+
QT_QPA_PLATFORM=wayland
  
What images, what size?
+
QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS="rotate=90"
  
=== Samba doesn’t seem to work. Needs ‘hostname’? No Network option in Dolphin  ===
 
  
=== Some PackageKit selections don’t have install scripts set to suit OS. Fail with insufficient space due trying to install to ‘/’  ===
+
If all goes well you will get the home screen
  
=== No Kamera app to test camera ===
+
If the screen is not updated check that libhybrys graphics are working: run test_glesv2
  
Camera should work on HA side but is untested. Need to test on GStreamer level.
+
Make sure you have the qt5 versions of lipstick installed
Maybe Kamoso would be a starting point? The dream photo app could be based on showphoto maybe?
+
  
=== Dolphin really lacking. No settings ===
+
=== Issues ===
  
=== Most apps/widgets don’t have settings ===
+
* some apps display mirrored
 +
* 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