[Halium9-GSI] - Oneplus 3(T)



  • Edit : After 2 months as daily driver

    Ubports on this device is really nice and definitively faster than Halium 7.1

    I did notice a critical bug that I'm not able to identify the source exact, but I would think it's at android level => Rild. After some time ofonod is not anymore able to get cell signal information, ofonod is not crashing but simply not able to get modem information. Tragic side of the bug, the cell signal freeze and making you thinking everything is fine, while you cannot make and receive a call...
    I've made a small watchdog/hack reading the log of ofonod and when cell tower information is lost it kill Ofonod and Telepathy-ofonod (Otherwise it's loose it's DBUS-id). So far killing ofonod is the only way to get back cell tower signal. It happen randomly, sometime 4 times during an hour, sometime 4 time during the day...
    It's not a fix, but a dirty hack letting me using the phone daily without issue and studying this problem :).

    Except that the limitation relies on the GSI image rather than the port itself.

    I've updated the working/not working section thanks of Flo list.


    Hello,
    After working on the Halium 7.1 port OP3, i've gave a shot to the Halium 9 thanks to the help of the Halium telegram group especially Erfan.

    This use the great work of the Halium developpers and GSI image from Erfan.

    This is a proof of concept, only, and not supposed to be run as a daily driver, even if it's possible.
    The port is based on

    • A trebelized OP3(T) device,
    • A modified lineage OS (Trebelized) to acquire the vendors partition
    • The Ubports GSI from Erfan (Updated weekly).

    Becareful, this is not a standard H7.1 or H9 port but a H9-GSI port, I didn't try to build a device image with H9.

    It's running pretty smooth.

    To avoid confusion with Halium 7.1 I've created a dedicate repository : https://github.com/OP3-Halium.

    Sources:
    Kernel: https://github.com/OP3-Halium/android_kernel_oneplus_msm8996
    Device (Lineage base): https://github.com/OP3-Halium/android_device_oneplus_oneplus3
    Ubports GSI : look into https://t.me/ErfanGSI

    Compiles files:
    https://drive.google.com/drive/folders/1vnJEKkhO3xqH-fWWG55-yxwx5K1EeKq7?usp=sharing

    Status:

    • Working:
      Actors: Manual brightness
      Actors: Notification LED
      Actors: Torchlight
      Actors: Vibration
      Camera: Flashlight
      Camera: Photo (Yes zoom super slow)
      Camera: Video (Yes zoom super slow)
      Camera: Switch between back and front camera
      Cellular: Incoming, outgoing calls
      Cellular: MMS in, out
      Cellular: PIN unlock
      Cellular: SMS in, out
      Cellular: Change audio routings
      Cellular: Voice in calls
      Cellular: Adjust volume during a call
      Endurance: Battery lifetime > 24h from 100%
      Endurance: No reboot needed for 1 week
      GPU: Boot into UI
      GPU: Hardware video decoding
      Misc: Anbox patches applied to kernel
      Misc: AppArmor patches applied to kernel (Kernel 3.4, 3.10, 3.18)
      Misc: Battery percentage
      Misc: Offline charging
      Misc: Online charging
      Misc: RTC time is used after reboot
      Network: Bluetooth (Yes but cannot be stopped)
      Network: Flight mode
      Network: Hotspot
      Sensors: Automatic brightness (However Erfan modification requires custom .deb - Ask me)
      Sensors: Fingerprint reader (Yes ! thanks to Erfan)
      Sensors: GPS
      Sensors: Proximity
      Sensors: Rotation
      Sensors: Touchscreen
      Sound: Earphones
      Sound: Loudspeaker
      Sound: Microphone
      Sound: Volume control
      Ssh: yes
      OP3 specific : Finger print reader button calls Dash menu

    • Working with additional steps:
      Cellular: Carrier info, signal strength (loss sometime, need to flash the file OP3_GSI_Fix_V1.2.zip after Erfan GSI)
      Cellular: Data connection (Yes select 4G, depending of deb version icon might not be there)
      Network: Bluetooth (For better hardware compatibility Bluez 5.53 can be use : https://ci.ubports.com/job/ubports/job/bluez-packaging/job/xenial_-_even-newer-bluez/)
      Network: WiFi (To restart it easily, need to flash the file OP3_GSI_Fix_V1.2.zip after Erfan GSI)
      OP3 specific : Dash charging (need to flash the file OP3_GSI_Fix_V1.2.zip after Erfan GSI)
      OP3 specific : Tri state switch (upper position silent mode) (need to flash the file OP3_GSI_Fix_V1.2.zip after Erfan GSI)

    • Not working:
      Network: Bluetooth Call (Call got redirected to speaker :/)
      Misc: Shutdown / Reboot ( Most of the time no)
      Misc: Recovery image (Not with GSI)
      Misc: Reset to factory defaults (Not with GSI)
      (Network: NFC - disabled atm due to no middleware)
      USB: MTP access
      USB: ADB access
      USB: External monitor - only for devices that support it
      OTA / Update : To update the GSI image, an apt-get upgrade needs to be done below.

    Install:
    Everything to install is it there : https://github.com/OP3-Halium/Documentation

    Note:

    • Once you trebilized your phone, you can still use it as before and install non treble OS.
    • Until Ubports GSI future is properly define, to upgrade your system you need to mark on hold the following packages, otherwise your phone will not boot :
    sudo apt-mark hold hfd-service  hfd-service-tools libqt5feedback5-hfd lxc-android-config powerd qml-module-hfd  qtubuntu-android repowerd repowerd-data repowerd-tools
    
    • The zip OP3_GSI_Fix_V1.2.zip contains
      • Fix for Tri-state switch
      • Temporary fix Mobile Morph webview, as the form factor is not capture in GSI image
      • Fix battery management - allow to stop charging beyond defined battery %
      • Hack to restart ofonod when cell signal lost
      • Activate Dash charging
      • Fix wifi restart

    Anybody willing to help is welcome ^^ even for testing.

    Short video : https://gfycat.com/infamousorganicichneumonfly



  • @ernest I will try it when will have a little time to test. Just a few questions here:

    Is Bluetooth calling working as well or not?
    Wifi - have you applied the same trick as H7.1 already and I don't need to do anything else to have it working?
    Flash light? Is it working after installing: sudo ubports-qa install PR-22
    and: sudo install indicator-power ?

    It would be great if it's working as you said, so switching between Android 9 and UT GSI/HAL 9 won't need reflashing firmware ( just to restore backup created with TWRP)

    Many thanks for your and others hard work to bring UT on Op3/3t



  • @Stefano

    • Bluetooth is rootfs dependent mainly. Cf post of @peat_psuwit.
    • Wifi - Not yet, I've found a nicer solution for 7.1 too so I'll update both. But while wait I can tell you we the two files should go. I'll see how it goes on h7.1 but seems way smoother in H9. I hope my update will make smoother H7.1 too.
      As it's still under WIP and GSI is standardize, likely i'll create a patch OP3.
    • Flash ligth, i'm using a modified app .. an old indicator, I'll to recompile it for armhf rootfs.

    I'm not sure what the firmware change does... I didn't flash specific one for the ubports version and likely they're from latest official Oneplus image. I don't see much problem.
    Each time you'ill need to flash halium-boot, lineage modified and ubports GSi.



  • Living proof (of concept):
    https://www.youtube.com/watch?v=UyOcQtNDZwM



  • Hello, just to let some potential users know that i've updated the first post and add created a OP3_GSI_Fix_V1.X.zip to fix / compensate OP3 specific bugs.



  • Can I ask about swipe to close app bug, is it still hard to close app?



  • @danqo6 sure, it's an issue in the GSI image, not phone dependent.


Log in to reply