Halium / projectmanagement

140 stars 32 forks source link

[device-port] [pme] Port to HTC 10 #28

Open vanyasem opened 6 years ago

vanyasem commented 6 years ago

Tree: halium-7.1

Working prebuilt images: halium.mynameisivan.ru/htc-10

Sidenote 1: As @UniversalSuperBox suggests me not to fork the vendor repo, it has to be manually patched. Comment out all .apk entries from vendor/htc/pme/Android.mk manually

Sidenote 2: Some tests are broken in Halium 7.1. They won't work until they get fixed

Sidenote 3: UBports rootfs works only if you comment out all imports except init.environ.rc in /out/target/product/pme/root/init.rc and rebuild systemimage

Sidenote 4: Reference Halium 7.1 rootfs is non-CAF, thus graphics doesn't work on it. However, you can add CAF repo repo.halium.org/caf and apt upgrade

Sidenote 5: kwin_wayland on Plasma Mobile rootfs gives EGL_BAD_DISPLAY error which seems like a kwin bug and requires future investigation Partially Fixed by @bhush9

Sidenote 6: UBports sets bad display scaling out of the box, and thinks that the device is a desktop. You need to manually create a file /etc/ubuntu-touch-session.d/pme.conf with GRID_UNIT_PX=28 in it

Sidenote 7: recvmsg() seems to be broken/unsupported in the kernel. Requires fixing for several Mir tests to pass.

Sidenote 8: /dev/input/event0 - Nothing /dev/input/event1 - Nothing /dev/input/event2 - Nothing /dev/input/event3 - Nothing /dev/input/event4 - Nothing /dev/input/event5 - Back and Recents buttons /dev/input/event6 - Volume buttons & Power button /dev/input/event7 - Touchscreen /dev/input/mouse0 - Nothing

This is a co-op port by @vanyasem and @mariogrip

vanyasem commented 6 years ago

@mariogrip got Mir working 😄

HTC 10 running Mir demos:

photo_2017-10-15_05-27-10

HTC 10 running Unity8:

photo_2017-10-15_05-40-50

vanyasem commented 6 years ago

Plasma Mobile on HTC 10 20180201_002051

vanyasem commented 6 years ago

UBports 16.04 on HTC 10 20180201_05544923 20180201_0618502

quantan1 commented 6 years ago

Really interested to see this project for HTC 10. Do you continue develop this and fix remaining issues?

vanyasem commented 6 years ago

@quantan1 my HTC 10 is currently waiting to get repaired, but I am still developing the port

quantan1 commented 6 years ago

@vanyasem Thanks for your work. Just want to confirm only test_hwcomposer, test_lights, test_vibrator work on ubports? I love to try this project but HTC 10 is my main phone

vanyasem commented 6 years ago

@quantan1 Please read the issue. Yes they do. And there are screenshots of UBports running in the comments.

ghost commented 5 years ago

@vanyasem Thank you very much for the work you do. I'm thinking of buying an HTC 10 just for this. Are you confident that you're gonna make it work on this device, at least 90% of the functionality?

vanyasem commented 5 years ago

@Zig-03 this is a community project. I might get hit by a bus on my way to school.

ghost commented 5 years ago

:laughing: Yeah I get it, I meant if you see this candidate (HTC 10) as possibly a success rather than a failure, based on your gut feelings and/or how things are advancing. You know some manufacturers add extra things which make it harder for other to tinker with, so IDK if HTC is one of them or not.

vanyasem commented 5 years ago

Well last time I checked Halium got broken on HTC 10. I was suggested a patch for it, but haven't got time to test it yet. So, if it remains that way, the port won't be finished (no reproducible builds). @Zig-03

vanyasem commented 5 years ago

@Zig-03 Applied 2 patches today and reverted x86 TLS commit, and.. the port is back.

Uploaded fresh images here: https://halium.mynameisivan.ru/htc-10/2018-10-05/

Patches: https://github.com/Halium/android_bionic/commits/bshah-libdsyscall https://github.com/Halium/android_frameworks_native/commits/bshah-libdsyscall

Qiangong2 commented 5 years ago

Is there any update on the port?

Is there a chance it gets added as an official ubports device?

tanevanwifferen commented 4 years ago

for gsm, I get this error in logcat:

02-19 14:44:04.015 2991 2991 E RILD : dlopen failed: dlopen failed: library "/vendor/lib64/libril-qc-qmi-1.so" not found

Which explains itself.

There are two files in vendor/htc/pme/proprietary/lib64 libril-qc-qmi-1-default.so and libril-qc-qmi-1-cdma.so renaming the default one to libril-qc-qmi-1.so works for me, but not sure if that works over the whole world

edit: not sure if the is the best solution, maybe replacing the libril file with another version is better. It complains about not finding a function somewhere.

01-08 18:31:26.127 562 562 D RILD : RIL Daemon Started 01-08 18:31:26.127 562 562 D RILD : RILd param count=1 01-08 18:31:26.139 562 562 E RILD : dlopen failed: dlopen failed: cannot locate symbol "__htclog_init_mask" referenced by "/vendor/lib64/libril-qc-qmi-1.so"...

other people had this problem here.

also, my device is recognized as htc_pmeuhl, not pme, so my ubuntu-touch-session conf file should have that name.