Samsung Galaxy Tab 2 7.0" (samsung-espresso7)
Samsung Galaxy Tab 2 7.0
|Name||Galaxy Tab 2 7.0|
|Chipset||TI OMAP 4430|
|CPU||Dual-core 1.0 GHz Cortex-A9|
|Display||7.0 inches, 137.9 cm2 (~58.2% screen-to-body ratio) 600 x 1024 pixels, 16:9 ratio (~170 ppi density)|
|Unixbench Whet/Dhry score||442.9|
|This device is based on the TI OMAP 4430.|
See the SoC page for common tips, guides and troubleshooting steps
- AAT596 (testing in espressowifi variant)
Users owning this device
- H ro
- Mighty (Notes: Mainline go brr)
- Nieldv (Notes: 7" wifi, runs pmos, crack in digitizer)
- Piero-e (Notes: 7.0" inch WIFI / gt-p3110 / testing (samsung-espresso7) PostmaketOS (big thanks to Mighty))
- UltrasonicMadness (Notes: espressowifi version)
- Ungeskriptet (Notes: GT-P3110)
- ZeroCool32 (Notes: WiFi only model, runs pmos, GT-P3110)
How to enter flash mode
- Press + to enter download/odin mode.
- Press + to enter recovery.
What works (downstream)
- WiFi (using nmtui in terminal)
Hardware status (mainline)
|Y||Panel||Samsung LTN070NL01 LCD panel|
|Y||SD cards||MicroSD card.|
|Y||Buttons||There are 2 keys on GPIO: Volume up, Volume down. Power button works as well.|
|P||Charger||SMB136 WIP by mighty17|
|N||Sound||Sound codec is WM1811.|
|Y||Proximity and Light||The P3100 variant has GP2A002, P3110 variant has AL3201.|
|N||Cameras||Front - SR030PC50 Back - S5K5CCGX (OMAP4 devices have Ducati firmware for cameras)|
|P||GPU||PowerVR SGX 540 needs out-of-tree kernel module, patched mesa, and some proprietary blobs|
|N||Modem||Only in espresso3g (P3100 and P5100) - XMX6262|
|This device has recently been upgraded to the community category. Download a #Pre-built image from the download page or follow the general pmbootstrap instructions.|
Prerequisites: TWRP installed on the Tab, see the LineageOS wiki for instructions: espressowifi, use the espresso3g TWRP image if you have the espresso3g tablet.
Make sure to backup your data and store this somewhere safe if you care about the stock OS and/or your files!
Run pmbootstrap init and configure your installation, if you want to use Phosh/Sway, see #wlroots first. Flashing the image to the device is in 2 parts; the rootfs and the kernel. If this installation process does not go well for you, please try the alternative installation instead.
There are 2 ways to go about installing the rootfs, depending on where you want to install it to.
- For an sdcard use:
pmbootstrap install --sdcard=/dev/sdX
Make sure to specify the mountpoint of the sdcard plugged into your computer.
- For installing on the internal filesystem use TWRP but since TWRP can not flash the kernel we need to add `--recovery-no-kernel` and flash it manually afterwards:
pmbootstrap install --android-recovery-zip --recovery-no-kernel
pmbootstrap flasher --method=adb sideload
By default this will install on the (fairly limited) 1GB /system partition.
To specify a different partion (for example the 8/16 GB /data partition), add
--recovery-install-partition=data to the first line.
- For installing on the internal /data partition use:
pmbootstrap install --android-recovery-zip --recovery-install-partition=data --recovery-no-kernel
When asked, boot your device into TWRP, wipe cache and your partion. Then go into advanced and start sideload mode, wait for this to finish.
After the rootfs is installed, insert the SDcard (if you used this) and boot the device into download mode. run
pmbootstrap flasher flash_kernel
This will flash the kernel to the device and reboot it. If you land in TWRP, just go to reboot and click system. It might complain about missing an OS, but do not worry! You should see some tuxes and be dropped in the OS!
In your PC, type these commands to generate and export the flashable installation (defaults flashing to /system partition), please see this section for more details:
pmbootstrap install --android-recovery-zip --recovery-no-kernel
adb push /tmp/postmarketOS-export/*.zip /sdcard/
Then, go to TWRP and flash the installation, after which you still have to flash the kernel, look at kernel for instructions.
When building with pmbootstrap and using an ui that requires wlroots (that is Phosh/Sway) you will need to build a patched version of wlroots from here https://gitlab.com/antoni.aloytorrens/p-wlroots/-/tree/master/apkbuild
Copy the apkbuild directory from the repo into your pmaports dir and rename it to p-wlroots. Then add "p-wlroots" as an extra packages during pmbootstrap init.
To achieve this, download the directory from here and uncompress it. Then:
$ cp -r ~/Downloads/p-wlroots-master-apkbuild/apkbuild/ ~/.local/var/pmbootstrap/cache_git/pmaports/temp/p-wlroots
Now, do the usual `pmbootstrap` installation, but selecting `p-wlroots` as an extra package.
|FIXME install instructions for Phosh and XFCE4 images FIXME|
- samsung-espressowifi, which is almost identically similar to samsung-espresso3g, but with the exception that it has no modem.
OMAPDRM works fine.
Display seems to be running at 45Hz due to the clock speed for 60Hz not working properly.
Fuel gauge works fine. The charger driver is WIP, if connected to usb during boot, then only it charges.
OMAP4 has different subsystem (Ducati) for camera which is non free. Probably will never work on mainline.
3D GPU Acceleration
3D acceleration works fine. SGX540 blobs also seem to be missing some EGL configs, so UIs like plasma-mobile do not work. Video decoding does not work as it is done by Ducati subsystem.
This is no more needed, as you can unlock it with scale as 1, kept for future reference.
By default phosh has a scaling 1, this makes us unable to unlock the screen. So we need to set it to 0.75 (https://wiki.postmarketos.org/wiki/Phosh#Manual_Scaling) by adding
[output:LVDS-1] scale = 0.75
You can revert it back to 1 to get better performance.
wlr-randr can also be used.
WiFi not working after reboot
Fixes with patch in kernel: https://github.com/hansemro/kc1-linux/blob/v5.16.x/patches/0006-Add-clk32kg-to-twl6030.patch
Graphic desktop not launching
For Phosh (and maybe other wayland desktops?): create a
.sh file in
/etc/tinydm.d/env-wayland.d/ and add the following text
export MESA_LOADER_DRIVER_OVERRIDE=pvr. See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/2790
Non-free unofficial GPU support
As said in the Status section, GPU support can be enabled by copying additional PostmarketOS pmaports in your work directory, called pvrports.
pvrports are basically non-free PowerVR blobs and quirks with Phosh and Plasma Mobile, and not specific for this device. This means that any device that has a PowerVR SGX GPU could be enabled by adding this repository.
Mainline WIP kernel:
Pvrports (additional non-free pmaports):