Thinking About Starting an Xperia 1 III Port

Hello.

Recently I got my hands on a used XQ-BC52. So I am thinking about creating a port for this device. It has some really good hardware - the SoC has great performance (1 x 2.84 GHz + 3 x 2.42 GHz + 4 x 1.8 GHz ), the screen is nice and clear and it has 12GB memory. Overall, it is a solid device. I want to give it a second life.

The Technical Stuff

So, this device is running Android 13 factory. I have verified that the bootloader is unlockable.
Now, I see that it is part of Sony’s open devices program. Also, there are Lineage builds based on Android 16 but I do not know what binaries does it use - sony open devices or ones extracted from the stock android? I could not find any information aboutthe state of the LOS port, e.g. what works and what does not.

My question is: if I were to embark on such an adventure, what should this port be based on? Sony open devices or the LineageOS stuff?

8 Likes

Based on @rinigus work, I guess you should go with Lineage builds. See this: New binaries / blobs for Xperia V and IV : What is happening actually? - #182 by rinigus

6 Likes

My wife did use the lineage android for xperia 1 iii some time ago and i can confirm that all featueres of the device did work

5 Likes

I can only recommend Lineage. SODP state for 1IV was extremely bad and I wouldn’t count on it. As LOS is officially supported for it, go for it.

Also, I suggest to use LOS21 as we do for Xperia 1IV/5IV. LOS23 maybe too new for porting.

13 Likes

I would be very interested in this port. I own a 1III and would be happy to help, even though I have no programming knowledge.
My phone is available for testing purposes.

3 Likes

I am trying to build LOS21 as recommended here but I got stuck on extracting the vendor blobs.

I decided to follow the official guide of extracting the binaries from one of the builds here (they are LOS23 but this should not matter).

I mounted all required images from the archive. then I ran the extract-files.sh script which extracted 2700+ files which is a lot but it could not find some small number of the files, like these for example:

extract-files.sh
...
- system_ext/etc/permissions/wfd-system-ext-privapp-permissions-qti.xml
    !! system_ext/etc/permissions/wfd-system-ext-privapp-permissions-qti.xml: Hash 10dcd4e58f0652d800d48ae5b76e4fab43fda214 does not match 6669d5ee462c981663b8ac573d84d334e4eed96c
...
- system_ext/etc/seccomp_policy/wfdservice.policy
    !! system_ext/etc/seccomp_policy/wfdservice.policy: file not found in source
...
- system_ext/etc/wfdconfigsink.xml
    !! system_ext/etc/wfdconfigsink.xml: Hash cb78df66948314a75080a4161321fb3111a0785a does not match d718bc1ccb3e6e52a0af7bf4de62445c0b083651
...
- vendor/etc/media_codecs.xml
    !! vendor/etc/media_codecs.xml: file not found in source
...
- vendor/etc/seccomp_policy/atfwd@2.0.policy
    !! vendor/etc/seccomp_policy/atfwd@2.0.policy: file not found in source
...
- system_ext/lib/com.qualcomm.qti.wifidisplayhal@1.0.so
    !! system_ext/lib/com.qualcomm.qti.wifidisplayhal@1.0.so: file not found in source
...
- system_ext/lib/libmmosal.so
    !! system_ext/lib/libmmosal.so: file not found in source
  - system_ext/lib/libmmparser_lite.so
    !! system_ext/lib/libmmparser_lite.so: file not found in source
  - system_ext/lib/libmmrtpdecoder.so
    !! system_ext/lib/libmmrtpdecoder.so: file not found in source
  - system_ext/lib/libmmrtpencoder.so
    !! system_ext/lib/libmmrtpencoder.so: file not found in source
  - system_ext/lib/libwfdavenhancements.so
    !! system_ext/lib/libwfdavenhancements.so: file not found in source
  - system_ext/lib/libwfdclient.so
    !! system_ext/lib/libwfdclient.so: file not found in source
  - system_ext/lib/libwfdcommonutils.so
    !! system_ext/lib/libwfdcommonutils.so: file not found in source
  - system_ext/lib/libwfdconfigutils.so
    !! system_ext/lib/libwfdconfigutils.so: file not found in source
  - system_ext/lib/libwfddisplayconfig.so
    !! system_ext/lib/libwfddisplayconfig.so: file not found in source
  - system_ext/lib/libwfdmminterface.so
    !! system_ext/lib/libwfdmminterface.so: file not found in source
  - system_ext/lib/libwfdmmsink.so
    !! system_ext/lib/libwfdmmsink.so: file not found in source
  - system_ext/lib/libwfdmmsrc_system.so
    !! system_ext/lib/libwfdmmsrc_system.so: file not found in source
  - system_ext/lib/libwfdrtsp.so
    !! system_ext/lib/libwfdrtsp.so: file not found in source
  - system_ext/lib/libwfdservice.so
    !! system_ext/lib/libwfdservice.so: file not found in source
  - system_ext/lib/libwfdsinksm.so
    !! system_ext/lib/libwfdsinksm.so: file not found in source
  - system_ext/lib/libwfduibcinterface.so
    !! system_ext/lib/libwfduibcinterface.so: file not found in source
  - system_ext/lib/libwfduibcsink.so
    !! system_ext/lib/libwfduibcsink.so: file not found in source
  - system_ext/lib/libwfduibcsinkinterface.so
    !! system_ext/lib/libwfduibcsinkinterface.so: file not found in source
  - system_ext/lib/libwfduibcsrc.so
    !! system_ext/lib/libwfduibcsrc.so: file not found in source
  - system_ext/lib/libwfduibcsrcinterface.so
    !! system_ext/lib/libwfduibcsrcinterface.so: file not found in source
...
- system_ext/lib/vendor.qti.hardware.wifidisplaysession@1.0.so
    !! system_ext/lib/vendor.qti.hardware.wifidisplaysession@1.0.so: file not found in source
...
- vendor/lib64/libMpeghSwEnc.so
    !! vendor/lib64/libMpeghSwEnc.so: file not found in source
  - vendor/lib64/libOmxAacDec.so
    !! vendor/lib64/libOmxAacDec.so: file not found in source
  - vendor/lib64/libOmxAlacDec.so
    !! vendor/lib64/libOmxAlacDec.so: file not found in source
  - vendor/lib64/libOmxAlacDecSw.so
    !! vendor/lib64/libOmxAlacDecSw.so: file not found in source
  - vendor/lib64/libOmxAmrDec.so
    !! vendor/lib64/libOmxAmrDec.so: file not found in source
  - vendor/lib64/libOmxAmrwbplusDec.so
    !! vendor/lib64/libOmxAmrwbplusDec.so: file not found in source
  - vendor/lib64/libOmxApeDec.so
    !! vendor/lib64/libOmxApeDec.so: file not found in source
  - vendor/lib64/libOmxApeDecSw.so
    !! vendor/lib64/libOmxApeDecSw.so: file not found in source
  - vendor/lib64/libOmxEvrcDec.so
    !! vendor/lib64/libOmxEvrcDec.so: file not found in source
  - vendor/lib64/libOmxG711Dec.so
    !! vendor/lib64/libOmxG711Dec.so: file not found in source
  - vendor/lib64/libOmxMpeghEncSw.so
    !! vendor/lib64/libOmxMpeghEncSw.so: file not found in source
  - vendor/lib64/libOmxQcelp13Dec.so
    !! vendor/lib64/libOmxQcelp13Dec.so: file not found in source
  - vendor/lib64/libOmxWmaDec.so
    !! vendor/lib64/libOmxWmaDec.so: file not found in source

This is a non-exhaustive list of the missing files, full log attached.

Why are those files missing while device/sony/sm8350-common/proprietary-files.txt list them as required? How are the official LOS builds for this device running when those files are missing?

extract-files-log.targz (17.7 KB)

1 Like