Ubuntu Touch on Sony Xperia X
dobey last edited by
@unisuperbox It's openssl I think, which is probing for features and traps SIGILL, but when running under gdb, it pops up. So yeah, probably should tell gdb to ignore SIGILL, to be able to run anything under it.
beidl last edited by beidl
I've assembled an image for those who are interested in testing and contributing to Ubuntu Touch.
Instructions (tested on Ubuntu 18.04):
- Linux PC with adb and fastboot properly set up
- Recent UBPorts rootfs image from the edge channel (tested with build #88):
- TWRP Recovery (tested with version 3.2.3-0)
- Android 7.1 (Kernel 4.4) Loire OEM binaries
- Flash script: halium-install
After successfully flashing the recovery image the OEM binaries need to be flashed onto the oem partition:
unzip SW_binaries_for_Xperia_AOSP_N_MR1_5.7_r1_v08_loire.zip fastboot flash oem SW_binaries_for_Xperia_AOSP_N_MR1_5.7_r1_v08_loire.img
./halium-install -p ut ubports-touch.rootfs-xenial-edge-armhf.tar.gz system.img adb reboot bootloader fastboot flash boot halium-boot.img fastboot reboot
Two manual fixes are required to get a graphical interface up and running, which have to be applied using an SSH connection.
Make sure to properly set up the USB-Ethernet connection which will show up after plugging in the device via USB.
You can scp the patched unity-system-compositor from your host PC to the device afterwards:
scp unity-system-compositor_0.7.2+ubports+0~20180901204329.1~1.gbp1f8669_armhf.deb firstname.lastname@example.org:~/
SSH shell connection:
# Mount rootfs read-write sudo mount -o remount,rw / # Fix permissions for dbus-daemon-launcher-helper sudo chown root:messagebus /usr/lib/dbus-1.0/dbus-daemon-launch-helper sudo chmod 4754 /usr/lib/dbus-1.0/dbus-daemon-launch-helper # Unpack compatible unity-system-compositor on top of the current version sudo dpkg -x ~/unity-system-compositor_0.7.2+ubports+0~20180901204329.1~1.gbp1f8669_armhf.deb / # Mount rootfs read-only and reboot sync && sudo mount -o remount,ro / && sudo reboot
Thank you sir, i will try to flush ubuntu touch on my xperia x as soon as my broken screen is fixed.
Sir can you help me with link to buy original screen for xperia x. If we are allowed to share such information on this forum.
@beidl First of all, thanks a lot for trying to port Ubuntu Touch to Xperia X.
I'm trying to follow your guide, but I'm getting stuck at halium-install.
adb: error: failed to copy '.halium-install-imgs.yk2k5/rootfs.img' to '/data/rootfs.img': remote couldn't create file: Permission denied .halium-install-imgs.yk2k5/rootfs.img: 0 files pushed. 154.0 MB/s (2817704 bytes in 0.017s) adb: error: failed to copy '.halium-install-imgs.yk2k5/system.img' to '/data/system.img': remote couldn't create file: Permission denied .halium-install-imgs.yk2k5/system.img: 0 files pushed. 116.0 MB/s (2686648 bytes in 0.022s)
My Xperia's current status is that I've flashed twrp and the oem binaries via fastboot.
The phone is on Android 8.0, and not rooted.
Any idea what could be wrong?
beidl last edited by
@gmelchett Have you tried wiping data, cache and system partitions? Make sure to create a backup before wiping those partitions and flashing the Ubuntu Touch port.
@beidl Thanks for a quick reply. No, I didn't wipe data, cache and system partitions.
I've done that now from twrp, but there seems to be no mobile-side adb running when in twrp. And because I did wiping system, I have no Android to boot.
Any idea how to progress?
beidl last edited by beidl
@gmelchett could be you're missing udev rules on your Linux host to establish an adb connection. If you're on Ubuntu 18.04 you could try the following command:
sudo apt install android-sdk-platform-tools-common
Else I could publish a much bigger version of the udev rules file in a GitHub gist.
EDIT: on the other hand, adb wouldn't even be able to respond with a "permission denied" error in case the device-side adb daemon wasn't up and running.
@beidl adb was running just fine when I tried halium-install before wiping system + data + cache. I tested with adb shell. (Then I couldn't even ls /data without getting permission denied.) On second though, why is halium-install pushing files to /data and not
/storage/0/emulated (or what the "internal sd" card path's is.)?
A wild guess is that the system.img that halium-install creates is the provided system.img + the .tar.gz file. Maybe that could be fastboot flash'ed into system? But then, where would rootfs.img go? Hmm.
I don't know android's file system layout good enough. Have to do some reading up.
gmelchett last edited by gmelchett
Success at last! It is apparently very import to unlock at "latest android". I unlocked at Android 6.
I installed twrp like this:
sudo fastboot flash boot boot.img
It will then always boot into twrp, but I didn't manage to flashing it to the recovery area to work.
Once booted into twrp, I had to format system, data & cache since the phone got encrypted by default.
Btw, ip configurtion from console:
sudo ip addr add 10.15.19.1/24 dev -your device-
For those of us that don't have a fancy GUI to help you with.
ubports on xperia x feels a bit sluggish compared to the nexus 5. A look at top, shows that unity8 consumes quite a lot of cpu when doing some ui interaction. I suspect no hw acceleration enabled?
edit: Some language corrections.
I've been playing around from time to time with Ubuntu Touch on the Xperia X. Over all it works very well, but a few things that are not really working (and not mentioned not to work above):
- Of the sensors, only accelerometer works
- A fully charged battery is reported to be at 67%.
- After pressing the power, it takes a few seconds before I can unlock it. Maybe related to the lack of graphic hw acceleration?
@beidl Sir any update on ut on xperia X
Hi any progress...
@Hsabun, volunteer developers will post their progress on their own terms. Asking for updates may be seen as impolite. Please have patience and we will get there eventually. :)
Sorry, i won't be asking again.
Would this port also be related to the Sony Xperia XZ? or are they completely different devices when it comes to the code?