Samsung Galaxy S7 (herolte)


Overall progress

What works

  • Actors:

  •  Manual brightness
  •  Notification LED
  •  Torchlight
  •  Vibration
  • Camera:

  •  Flashlight
  •  Photo
  •  Video
  •  Switching between cameras
  • Cellular:

  •  Carrier info, signal strength
  •  Data connection
  •  Incoming, outgoing calls
  •  MMS in, out
  •  PIN unlock
  •  SMS in, out
  •  Change audio routings
  •  Voice in calls
  • Endurance:

  •  Battery lifetime > 24h from 100%
  •  No reboot needed for 1 week
  • GPU:

  •  Boot into UI
  •  Hardware video playback
  • Misc:

  •  Anbox patches
  •  AppArmor patches
  •  Battery percentage
  •  Offline charging
  •  Online charging
  •  Recovery image
  •  Reset to factory defaults
  •  RTC time
  •  SD card detection and access
  •  Shutdown / Reboot
  •  Wireless charging
  •  Wireless External monitor
  • Network:

  •  Bluetooth
  •  Flight mode
  •  Hotspot
  •  NFC
  •  WiFi
  • Sensors:

  •  Automatic brightness
  •  Fingerprint reader
  •  GPS
  •  Proximity
  •  Rotation
  •  Touchscreen
  • Sound:

  •  Earphones
  •  Loudspeaker
  •  Microphone
  •  Volume control
  • USB:

  •  MTP access
  •  ADB access

 Working  Partial  Not working  Untested

A link to issue report is available when a feature isn't fully working

Some issues might not depend on the device, these are marked as global

Device specifications

CPU2.3GHz Quad-Core (Custom Core) + 1.6GHz Quad-Core (Cortex®-A53)
ChipsetSamsung Exynos 8890
GPUMali™-T880 MP12
Android Version8.0
Battery3000 mAh
Display2560x1440 pixels, 5.1 in
Rear Camera12 MP
Front Camera5 MP

Known limitations

Audio calls

While they work (headphones, speaker, loudspeaker), volume can not be changed.


Current oFono needs to be patched to work with the herolte. A precompiled binary can be downloaded here.


# Remount system with write permission
sudo mount -o remount,rw /
# Extract archive and install new oFono version
tar xvf debs_1.18.0+ubports2local~1612885094.tar 
sudo dpkg -i ofono_1.18.0+ubports2local~1612885094_armhf.deb
# Reboot


While Wi-Fi is working there is no reconnection after reboot. This is due to several things:

  • Issue with MAC address loader. Partially fixed and not published, need to be reworked as it prevents loading the right calibration file.
  • Unknown issue, probably a race condition between Wi-fi driver and Samsung's Macloader


MMS are working but a change needs to be applied until it gets merged to xenial

sudo ubports-qa install xenial_-_android9


Code is not yet merged in the xenial branch but it can be activated thanks to:

ubports-qa install indicator-power 48


The port is not ready to use the installer, yet :)

Fetch files and tools

Download and install the following tools:

Download the following files:

Unlock OEM installation

In Android activate developper mode thanks to this guide.
Then go to Android developer options and activate enable OEM unlock slider.

If this step is not done you will likely get the error Custom binary blocked by FRP lock when flashing halium-boot.img.

Install TWRP

Instal the TWRP recovery as instructed in its documentation.

Reboot to recovery and format data

  1. From the computer enter adb reboot recovery.
  2. Go to wipe->Format Data the enter yes as instructed.
  3. Flash system.img thanks to ./halium-install -v -i -p ut ubports-touch.rootfs-xenial-armhf.tar.gz system.img.
  4. Flash halium-boot thanks to ./Heimdall/build/bin/heimdall flash --BOOT halium-boot.img.
  5. Wait, after the reboot, you should have UBports :-)
  6. Some fix might be required, see Known limitations chapter.

This device hasn’t been added to the UBports Installer yet.

Bring Ubuntu Touch to your device!

75 devices run Ubuntu Touch. Do you wish that yours becomes one of them? Learn how to bring Ubuntu Touch to your device.