Halium / projectmanagement

140 stars 32 forks source link

[device-port] [halium-9.0] [dreamlte] Samsung Galaxy S8 #292

Open Jo-Blade opened 2 years ago

Jo-Blade commented 2 years ago

Tree:

IMPORTANT NOTE : usb is working only after adding the usb-tethering file to /usr/bin that can be done in twrp recovery after flashing the system.img by mounting the /data/rootfs then copying the usb-tethering binary to /usr/bin and chmod 755 In all cases you should be able to bring up lomiri without it (but you won't be able to connect ssh through usb, wifi only) nota bene: do not forgot to give a link to the usb-tethering file here…

Jo-Blade commented 2 years ago

First status update, firstly thanks to @abkro to help me to create the manifest file (and doing the most of the work, you should take a sight to his repository).

I've successfully managed to build and boot the system image on my samsung S8. Lomiri started and opengl apps are working (I've tried blender for example). I've successfully connected the phone to my TV using the usb-c port and also a mouse and a keyboard. Furthermore, the wifi is working but you may have to check the repos on github to take the correct udev rules.

However, there is a lot of bugs and random crash of the UI (it should restart automatically after a few minutes) who make it no very usable for now, and the sound is not working at all. (the bluetooth doesn't work too)

For more information, you can join the ubport porting telegram group or contact me through github or my personal matrix account @pisento1:pisento.tk

Jo-Blade commented 2 years ago

IMG_20220328_124521 lomiri on tv

here some pictures to give you more hype

mgood7123 commented 2 years ago

nice

abkro commented 2 years ago

I picked up my work on the S8 after a 2 month break. I see there have been made attempts at Halium10, but I will continue my work on Halium9 for now.

One of the weird things with this device has been how the udev rules file generated on the device after first build allowed the UI to start, but the device would also hang for minutes without responding. I got past this by using a udev rules file generated on the host based on the file ueventd.samsungexynos8895.rc in the source tree. This resulted in a very much shorter udev rules file, but the device seemingly worked normally.

I have now determined that the problem is connected to one or more (probably two) of the lines associated with /dev/*binder. If I use the original file generated on the device, but omit these three lines, the device apparently reponds normally.

So far, I have not commited these changes to my repo because I am still trying to determine exactly what service is missing and causing the hanging behavior when I use the complete udev rules.

abkro commented 2 years ago

I should also mention that although the various tests mentioned at the top of the page don't work as they should, I can still confirm that sensors work, including:

Also, gps works.

Bluetooth is active, but something prevents the device from connecting properly to any bluetooth device. It connects, then immediately loses the connection, by the looks of it.

Wifi works and with the shorter udev rules file mentioned above, it also reconnects to a previously used SSID after a reboot, but with the longer quasi-complete udev rules file, it does not reconnect automatically.

Today, I found out how to enable the automatic screen brightness toggle button, but it still does not adjust the brightness automatically when enabled, so I am not going to commit this change yet.

Jo-Blade commented 2 years ago

Yes I've tried to port on halium 10 first, but halium 10 on non treble device is truly a mess, never successfully started the lxc container so I left this for the moment. I will update the working sensor this evening according to your post.

I just wanted to add that even if your udev configuration is really better, I had to go back on the default autogenerated one to make pulseaudio able to start, so maybe these lines were related to audio system… I currently just succeed to start pulseaudio but with no working output (I've modified some files, I will post them here if I get good news in the future), the error message is "E: [droid-sink-fast] droid-sink.c: failed to write stream (-22)", I founded no relevant information on the web for now.

abkro commented 2 years ago

What do you mean by "default autogenerated" udev rules? I'm not aware of anything that autogenerates...

foxclore commented 1 year ago

Hey! Managed to build Halium 9 using your repos

Regarding the udev rules, is there any solution? It still hangs after a minute or two...

mcgodnl commented 1 year ago

can we install this now or de I have to wait a bit longer?

Jo-Blade commented 1 year ago

You can try it now if you want, I don't work on it currently. But, you may be disappointed because there is a lot of issue, a lot of crash and there is no sound… (I can't be actually usable for now)

foxclore commented 1 year ago

@mcgodnl the port is working poorly - no sound and rebooting after some time (e.g. like every 5-10 minutes). also i suppose hardware acceleration is not working yet - therefore many native apps either don't work at all or cause extra reboots I am thinking about starting from scratch and trying to build sailfish os, but I don't have much time now (