[UNOFFICIAL] HTC 10 (PME) Pie

Hi there.

I built a pie variant of e-v0.9 because /e/ only support it officially in nougat but no later versions.
The device source code is courtesy of Fagyi. so please head over to it’s XDA page to learn about what is working and what is not.

The zip can be found here

The source code (manifest) can be found here.

1 Like

Hi, I made the roomservice the day you built this device, and we don’t have the same roomservice.

Where this “https://git.zx2c4.com/android_kernel_wireguard” come from and why did you add it to the roomservice ?
And mine has one more dependencie in it (FlipFlap).

Yours :

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <remote name="zx2c4" fetch="https://git.zx2c4.com/" />
  <project remote="zx2c4" name="android_kernel_wireguard" path="kernel/wireguard" revision="master" sync-s="true" />
  <project name="pintaf/android_device_htc_pme" path="device/htc/pme" remote="github" revision="maru-0.6" />
  <project name="pintaf/android_kernel_htc_msm8996" path="kernel/htc/msm8996" remote="github" revision="maru-0.6" />
  <project name="pintaf/proprietary_vendor_htc" path="vendor/htc" remote="github" revision="lineage-15.1" />
  <project name="LineageOS/android_packages_resources_devicesettings" path="packages/resources/devicesettings" remote="github" revision="lineage-15.1" />
</manifest>

Mine :

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <project name="Fagyi/android_device_htc_pme" path="device/htc/pme" remote="github" revision="lineage-16.0" />
  <project name="Fagyi/android_kernel_htc_msm8996" path="kernel/htc/pme" remote="github" revision="lineage-16.0" />
  <project name="Fagyi/proprietary_vendor_htc" path="vendor/htc" remote="github" revision="lineage-16.0" />
  <project name="LineageOS/android_packages_apps_FlipFlap" path="packages/apps/FlipFlap" remote="github" revision="lineage-16.0" />
  <project name="LineageOS/android_packages_resources_devicesettings" path="packages/resources/devicesettings" remote="github" revision="lineage-16.0" />
</manifest>

So if you could explain me why yours is better (if it is), it would be great please :slight_smile:

Hello Anonyme.

Sorry for the time I took to answer you.
In the future if you need quicker responses, you can get in touch with me on telegram. @pintaf

So, yours is actually better.
the wiregard dependency is something I had to add to my build at some point. I think it was to build it on LOS15.1 because of some stuff missing in the kernel. I don’t remember well, but on my latest builds I did not have to include it, so you can safely remove it.

Concerning the FlipFlap, it seems nice to include it.
https://github.com/LineageOS/android_packages_apps_FlipFlap
It seems to be something designed to provide specific screen display when a flip cover is on the screen.

I see the HTC 10 is tested to be included in official builds in 9 variants ? that’s nice.
image
If there’s anything I can do to help on that, let me know.

Fagyi also published it’s sources for android 10, so we should be able to build /e/ on this version as well

Thanks for your work on this ROM. I installed it on my HTC 10, which I use every day and it works flawlessly from July 12 this year.

There is an issue here:
the path is wrong, it should finish with /msm8996 instead of /pme.
I’m building right now an updated version of e-pie for pme.

Let me know if I can do anything to help make pme become an official device. It has good support from nougat up to latest lineage versions thanks to Fagyi.

So, @Anonyme

I tried to build with your manifest (correcting the incorrect kernel path) and I hit this issue:

FAILED: /srv/src/PIE/out/target/product/pme/obj/KERNEL_OBJ/.config 
/bin/bash -c "(make -j2  -j\$(nproc) CFLAGS_MODULE=\"-fno-pic\" -C kernel/htc/msm8996 O=/srv/src/PIE/out/target/product/pme/obj/KERNEL_OBJ ARCH=arm64 CROSS_COMPILE=\"/usr/bin/ccache aarch64-linux-androidkernel-\" CROSS_COMPILE_ARM32=\"arm-linux-androideabi-\"   VARIANT_DEFCONFIG= SELINUX_DEFCONFIG= pme_defconfig ) && (if [ ! -z \"\" ]; then 			echo \"Overriding kernel config with ''\"; 			echo  >> /srv/src/PIE/out/target/product/pme/obj/KERNEL_OBJ/.config; 			 make -j2  -j\$(nproc) CFLAGS_MODULE=\"-fno-pic\" -C kernel/htc/msm8996 O=/srv/src/PIE/out/target/product/pme/obj/KERNEL_OBJ ARCH=arm64 CROSS_COMPILE=\"/usr/bin/ccache aarch64-linux-androidkernel-\" CROSS_COMPILE_ARM32=\"arm-linux-androideabi-\"   oldconfig; 		fi ) && (make -j2  -j\$(nproc) CFLAGS_MODULE=\"-fno-pic\" -C kernel/htc/msm8996 O=/srv/src/PIE/out/target/product/pme/obj/KERNEL_OBJ ARCH=arm64 CROSS_COMPILE=\"/usr/bin/ccache aarch64-linux-androidkernel-\" CROSS_COMPILE_ARM32=\"arm-linux-androideabi-\"   savedefconfig ) && (if [ ! -z \"\" ]; then 			echo \"Using additional config ''\"; kernel/htc/msm8996/scripts/kconfig/merge_config.sh -m -O /srv/src/PIE/out/target/product/pme/obj/KERNEL_OBJ /srv/src/PIE/out/target/product/pme/obj/KERNEL_OBJ/.config kernel/htc/msm8996/arch/arm64/configs/; 			 make -j2  -j\$(nproc) CFLAGS_MODULE=\"-fno-pic\" -C kernel/htc/msm8996 O=/srv/src/PIE/out/target/product/pme/obj/KERNEL_OBJ ARCH=arm64 CROSS_COMPILE=\"/usr/bin/ccache aarch64-linux-androidkernel-\" CROSS_COMPILE_ARM32=\"arm-linux-androideabi-\"   KCONFIG_ALLCONFIG=/srv/src/PIE/out/target/product/pme/obj/KERNEL_OBJ/.config alldefconfig; fi )"
make: Entering directory '/srv/src/PIE/kernel/htc/msm8996'
make[1]: Entering directory '/srv/src/PIE/out/target/product/pme/obj/KERNEL_OBJ'
  GEN     ./Makefile
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/zconf.lex.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
net/Kconfig:90: can't open file "net/wireguard/Kconfig"

So I believe this is still necessary:

<remote name="zx2c4" fetch="https://git.zx2c4.com/" />
  <project remote="zx2c4" name="android_kernel_wireguard" path="kernel/wireguard" revision="master" sync-s="true" />

So here is manifest thanks to which I was able to build e-0.13 pie for pme:

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <remote name="zx2c4" fetch="https://git.zx2c4.com/" />
  <project remote="zx2c4" name="android_kernel_wireguard" path="kernel/wireguard" revision="master" sync-s="true" />
  <project name="Fagyi/android_device_htc_pme" path="device/htc/pme" remote="github" revision="lineage-16.0" />
  <project name="Fagyi/android_kernel_htc_msm8996" path="kernel/htc/msm8996" remote="github" revision="lineage-16.0" />
  <project name="Fagyi/proprietary_vendor_htc" path="vendor/htc" remote="github" revision="lineage-16.0" />
  <project name="LineageOS/android_packages_apps_FlipFlap" path="packages/apps/FlipFlap" remote="github" revision="lineage-16.0" />
  <project name="LineageOS/android_packages_resources_devicesettings" path="packages/resources/devicesettings" remote="github" revision="lineage-16.0" />
</manifest>

And here is the zip:
https://mega.nz/file/2dgwzICR#KPJw3EvJP_ZL0ztwZ5w5CxaYenskvTplOK0NFxxPvEk

2 Likes

Thanks a lot for this ROM. Your effort is very much appreciated for this old but gold phone.

As this device seems to be dropped from the official e support, it will also mean there will be no security updates,corret?
Any method you would recommend to overcome this gap?
If nothing easy possible, we will need to replace the phone for sure.

As my wife love the HTC 10 (we just need to change the battery) it would be a shame not to use this anymore.

Thanks and best regards,

In fact, at the moment, /e/ foundation only support devices officially supported by Lineage.
The HTC 10 was only officially supported by Lineage in version 15.1 (Oreo, Android 8).
But thanks to the great work of Faygi, the HTC 10 can still run latest android versions, up to android 11 !
So thanks to it’s work, it’s easy for me to support /e/, up to android 11.

As you can see, at the moment I only built /e/ in it’s pie variant, and if you go here (scroll down to “version history”), you will see that Pie (LOS 16) is still maintained, hence security updates are still flowing in.

So as I’m the only maintainer of /e/ for HTC 10, indeed, you won’t have builds as quickly as if it was an official device. but, once LOS 16 ceases to receive security updates, I can provide an /e/ android 10 variant. This spring for example.

So to make it simple:
The support won’t be world class, but it will still be here, and you will still be able to enjoy recent versions of android (if not the latest).
So go ahead, and replace the battery without any doubt.
I think this phone still have 4 years in front of it before becoming really outdated.

Hi @pintaf,

not sure if there exists an emoji where you would See someone bowing in front of a statue, but believe me that would best describe what I would like to say to you:)
Thanks a lot for such news and contribution. What a great outlook for the HTC 10. An absolute underrated phone back then and today for sure.
I will order the battery now and change it, to breath new life into this metal block.

Thanks again for the effort!!

A bientot

Bonjour @pintaf,

battery and display has now been changed, i did damage the display whilst doing it, and thus your unofficial release is now smoothly running on the HTC 10!
Thanks a lot and absolutely looking forward to any new release you will make!

Much appreciated!

Best regards,

Yeah… This screen is so hard to handle correctly.
I also damaged mine in the bottom right side while changing it, but it’s been almost 1 year since and I use it everyday, and despite the chocks it received, it still holds. So kinda surprised.

I think I’ll build a new one later this year, maybe during summer.
It’ll be based on LOS17.1 (android 10) and will include latest changes from /e/ OS.

Let’s hope they will have a definite name by that time haha.

Hi @pintaf,

How are you doing.
Believe it or not, the sim card slot stopped working!!! Did you ever had this issue? You also opened it once right?

That would be terrible.

Best regards,

Hey!

No, never had this issue. I had a sim card issue on a Xperia X compact, but never on the HTC 10.
It’s such a bad timing it fails just after you changed the battery…

@pintaf back to (nearly) normal again…:slight_smile:

I read in an old XDA post that the card slot has a certain “wear-off”. Thus one should try to put two - not one - pieces of transparent tape on the back of the sim card, cut the overlapping part so it fits, and push it back in.

Now you can guess what happened… :slight_smile:

All back to normal… despite…now does the fingerprint sensor not work anymore. I can use your wonderful unofficial /e/ os again but not the Main Sensor. It drives me crazy.

If you happen to have an idea, please let me know.

Best regards,

Well.

Many things happened. Concerning your sim card, the reason is probably that the contacts have been used by the time, and putting some tape on the back helps to “push it” against the contacts. That’s something I should try on my xperia X compact.

The sensor issue seems to be hardware. maybe you did not plug it correctly when changing the screen.
If when you installed my ROM everything was working fine, then is it unlikely that the Rom is causing this issue. One best way to confirm if it’s hardware or software would be to install an other rom from XDA.

If it’s really dead, I do have a spare fingerprint sensor at home, I could send you but not until I get back home, in more than one month.
But there is an other solution (you loose the fingerprint sensor, but can still use the phone despite not having the fingerprint / home button working). It might be better than removing the scree to investigate as you discovered it is touchy:
You can also enable software navigation keys as explained here:

Dear @pintaf,

thanks for all the effort.

I will try to walk you down my process and maybe there is a solution in sight.

First of please find a view in the bootloader of the HTC 10 i use

Now back to the the story:

  • Found my good old HTC 10 being in tacked and flashed the official /e/ os nougat

  • All worked fine but the fingerprint did not work

  • Hence i was advised to test your unofficial ROM

  • i flashed it and Fingerprint worked

  • Battery issue appeared and thus changed the battery

  • Display damaged hence display changed

  • Your rom still works great

  • Sim card issue appeared

  • i tried flashing back the nougat version from /e/ and also tried to go back to stock without success

  • Flashed /e/ nouat again and wiped everything and again your unofficial rom

  • fixed sim card issue as explained above

  • Fingerprint sensor all of a sudden not working again

  • I only realised - being a beginner, that i should probably not have flashed a nougat ROm onto my Oreo HTC 10

Does this make sense?

I really doubt that it is a hardware thing as it was in the beginning already that the nougat version did not support the fingerprint.

Any input or idea is much welcome.

Thanks and best regards,

Hi @pintaf

do not wonder…i have a day of today and thus i am able to check some stuff.
I now flashed a clean RUU of OREO on the HTC 10 and …Sim card of course works with the tape attached to it and also…the fingerprint sensor!

If i would now flash back to your ROM, would you foresee an issue? I trust it is good to have a clean Oreo Stock RUU installed first before going back to your ROM?

Thanks and best regards,

I went to download mode as well, only difference to you was:
OS-3.16.708.3

if everything is working fine now, you can go ahead and try flashing my ROM.