The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)
Community Workspace/Tegra3/Nexus7
(Updated issues list) |
(→Mer on Nexus7) |
||
(7 intermediate revisions by 3 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 | + | 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== | ==Hardware Adaptation Status== | ||
Line 14: | Line 17: | ||
! Device Profile !! Boots !! Display !! Touchscreen !! Wireless !! Mobile Data !! H/W Accel. GFX !! Sensors !! GPS | ! Device Profile !! Boots !! Display !! Touchscreen !! Wireless !! Mobile Data !! H/W Accel. GFX !! Sensors !! GPS | ||
|- | |- | ||
− | ! Nexus 7 (wifi) | + | ! Nexus 7 grouper (wifi) |
| style="background-color:green" | Yes | | style="background-color:green" | Yes | ||
| style="background-color:green" | Yes | | style="background-color:green" | Yes | ||
Line 24: | Line 27: | ||
| style="background-color:grey" | unknown | | style="background-color:grey" | unknown | ||
|- | |- | ||
− | ! Nexus 7 (gprs) | + | ! Nexus 7 tilapia (gprs) |
| style="background-color:green" | Yes | | style="background-color:green" | Yes | ||
| style="background-color:green" | Yes | | style="background-color:green" | Yes | ||
Line 33: | Line 36: | ||
| style="background-color:yellow" | kernel, yes | | style="background-color:yellow" | kernel, yes | ||
| style="background-color:grey" | unknown | | 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 | ||
|} | |} | ||
Line 61: | Line 84: | ||
'''Top issues''' | '''Top issues''' | ||
− | * X.Org/VT problems, if the display blanks. Run "chvt 2 && sleep && chvt 1" e.g. over ssh to recover. | + | * 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) | * Tearing (doesn't seem to include video/OpenGL ES) | ||
Line 79: | Line 102: | ||
== Touchscreen rotation == | == Touchscreen rotation == | ||
− | There is a [http://markoviclan. | + | 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). |
Xinput <= 1.5.4 needs to be installed (>1.5.4 needs a newer xi library). | Xinput <= 1.5.4 needs to be installed (>1.5.4 needs a newer xi library). | ||
Line 88: | Line 111: | ||
Please note that this doesn't support animations. | Please note that this doesn't support animations. | ||
There are also a few issues (half drawn background, some cursor issues). | There are also a few issues (half drawn background, some cursor issues). | ||
+ | |||
+ | = libhybris/Wayland = | ||
+ | |||
+ | == 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/ | ||
+ | |||
+ | == libhybris packages == | ||
+ | |||
+ | I have built libhybris for 4.2.2 tilapia [https://build.merproject.org/project/monitor?project=home%3Acxl000%3Abranches%3Anemo%3Adevel%3Ahw%3Aandroid%3Acommon] | ||
+ | |||
+ | == 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 | ||
+ | |||
+ | === Issues === | ||
+ | |||
+ | * 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:
- configure buffer: "# echo 10 > buffer/length". 10 is choosen by me at random. -- 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"
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 ...