Samsung Galaxy S7 Edge (samsung-hero2lte)

From postmarketOS
Jump to: navigation, search
Samsung Galaxy S7 edge
200px
Samsung Galaxy S7 Edge
Manufacturer Samsung
Name Galaxy S7 edge
Codename samsung-hero2lte
Released 2016
Original software Android 6.0 on Linux 3.18.14
Hardware
Chipset Samsung Exynos 8890 Octa
CPU Exynos M1 (4x @ 2.3GHz) and ARM Cortex-A53 (4x @ 1.6GHz)
GPU ARM Mali T880 MP12
Display 1440x2560 AMOLED
Storage 32GB (upgradeable via microSD)
Memory 4GB
Architecture aarch64
Features
USB Networking
Works
Flashing
Partial
Touchscreen
Works
Display
Works
WiFi
Xwayland
FDE
Mainline
Battery
Works
3D Acceleration
Accelerometer
Audio
Bluetooth
Camera
GPS
Mobile data
SMS
Calls
USB OTG



Contributors

  • WilliamO7

Maintainer(s)

  • WilliamO7

How to enter flash mode

When the device is fully powered off, hold Power, Volume Down and Home for a few seconds.

A (turquoise) download mode warning screen should appear, press Volume Up to confirm.

Installation

It is recommended to sideload an android recovery zip through TWRP for the easiest process, since heimdall freaks out about the subpartitions in SYSTEM and won't move past ~7%. You can use pmbootstrap flasher flash_kernel and then use netcat or similar to flash SYSTEM, but this is a longer and more redundant method.

$ pmbootstrap install --no-fde --android-recovery-zip
$ pmbootstrap flasher --method=adb sideload

What is tested and works

  • The kernel with in-tree built exynos DTBH based image
  • USB Networking (you might have to set its MAC address beforehand though)
  • SSH
  • All display environments with software rendering (yes, even plasma mobile works, albeit slowly and with rubbish dpi scaling)

Quirks

  • Exynos (at least modern exynos) has a different dt.img format to Qualcomm devices, requiring a special dtbtool to go along with it. There is one included in the kernel source we have, which should make the dtb automatically. In future, for other exynos devices (S8 and up come to mind) we should package this as a common tool and treat it in a way similar to qcdt.
  • Camera drivers (Samsung FIMC-IS2) (and accompanying flash LED drivers, controlled by a Samsung PMIC) needed to be disabled in the kernel to prevent boot loops.

To get working

  • FDE with osk-sdl
  • Wi-Fi
  • (If possible) 3D acceleration using the binary Mali userspace drivers from ARM, under Halium
  • Mainlining (should probably help the android community too)

See also