UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Sony Xperia X (suzu/F5121 & F5122)

    Scheduled Pinned Locked Moved Sony Xperia X (F5121 & F5122)
    324 Posts 63 Posters 235.4k Views 15 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • c4pp4C Offline
        c4pp4 @cybershaman
        last edited by

        @cybershaman said in Sony Xperia X (suzu/F5121 & F5122):

        Secondly: I seem to be confused about the possibility to have Anbox on the Xperia X. Seems I do not have any repository that contains the "anbox-ubuntu-touch" binaries, no is there the "anbox-tool" binary preinstalled on the image.
        If I read @c4pp4 's reply right, however, anbox-ubuntu-touch should be able to install via apt.
        I have the ubports repo added via /etc/apt/source.list.d and apparantly am on the devel update channel fredldotme and receive updates, latest 2020-04-28/2.

        Launch UT Terminal app and try to simulate an installation:

        apt-get -s install anbox-ubuntu-touch
        

        Submit a report of the command.

        C 1 Reply Last reply Reply Quote 0
        • c4pp4C Offline
          c4pp4
          last edited by

          Audio is crackling... speakers, headphones... doesn't matter. Is it only in my case?

          C 1 Reply Last reply Reply Quote 1
          • C Offline
            christophe14 @c4pp4
            last edited by

            @c4pp4
            No, same for me.

            c4pp4C 1 Reply Last reply Reply Quote 0
            • C Offline
              cybershaman @c4pp4
              last edited by

              @c4pp4 Thank you for the reply!
              The anbox-ubuntu-touch package was available all of a sudden a week or so ago. Got everything installed and running.
              Perhaps this was all related to the OTA updates.

              1 Reply Last reply Reply Quote 0
              • c4pp4C Offline
                c4pp4 @christophe14
                last edited by

                @christophe14
                I think I got something. I've tried some audio files with sampling frequency 48kHz and the output was clear. If you don't have some you can convert any via ffmpeg:

                ffmpeg -i "original.mp3" -ar 48000 "new.mp3"
                

                Maybe it has something to do with rate=48000 in /etc/pulse/touch.pa file:

                .ifexists module-droid-card-24.so
                load-module module-droid-card-24 rate=48000 quirks=+unload_call_exit
                .endif
                

                I'm not sure how to change the rate and test it. Maybe @fredldotme could help.

                fredldotmeF 1 Reply Last reply Reply Quote 0
                • fredldotmeF Offline
                  fredldotme @c4pp4
                  last edited by fredldotme

                  @c4pp4 nice catch!

                  What you can do to test small modifications to the Halium portion (where this file is from):

                  • Reboot into recovery
                  • Connect to the device via ADB
                  • Mount the Halium system image: mount /system/var/lib/lxc/android/system.img /tmp
                  • Edit the Halium override file to your liking: nano /tmp/halium/etc/pulse/touch.pa
                  • Unmount the Halium image again: umount /tmp

                  I'd say you can then go ahead and make a pull request on GitHub with your changes if you manage to find a fix for your issues.

                  c4pp4C J 4 Replies Last reply Reply Quote 0
                  • c4pp4C Offline
                    c4pp4 @fredldotme
                    last edited by c4pp4

                    @fredldotme
                    Thank you. Unfortunately changing touch.pa has no effect on quality.

                    1 Reply Last reply Reply Quote 0
                    • c4pp4C Offline
                      c4pp4 @fredldotme
                      last edited by

                      @fredldotme
                      /etc/pulse/daemon.conf

                      default-sample-rate = 44100
                      alternate-sample-rate = 48000
                      

                      /etc/pulse/touch.pa

                      .ifexists module-droid-card-24.so
                      load-module module-droid-card-24 rate=44100 quirks=+unload_call_exit
                      .endif
                      

                      syslog

                      May 15 03:06:10 ubuntu-phablet pulseaudio[6939]: [pulseaudio] droid-util.c: Requested sample rate 44100 but got 48000 instead.
                      May 15 03:06:10 ubuntu-phablet pulseaudio[6939]: [pulseaudio] sink.c: Default and alternate sample rates are the same.
                      

                      It always falls to 48kHz. It's weird.

                      1 Reply Last reply Reply Quote 0
                      • c4pp4C Offline
                        c4pp4 @fredldotme
                        last edited by

                        This post is deleted!
                        1 Reply Last reply Reply Quote 0
                        • J Offline
                          jro @c4pp4
                          last edited by

                          @c4pp4 It is strange though, that there is no documented way of getting the ubports version of android to use rootfs-overlay, just as the snap version does. Indeed, repacking the squshfs isn't such a big deal (although I wouldn't have known of the parameters you used, but still, just dropping a file into the overlay directory tree would make things so much easier!
                          BTW, the sound that you get from android apps after completing this step is quite choppy, not really suitable for real use, more a proof of concept.

                          1 Reply Last reply Reply Quote 0
                          • J Offline
                            jro @fredldotme
                            last edited by jro

                            @fredldotme said in Sony Xperia X (suzu/F5121 & F5122):

                            @c4pp4 nice catch!

                            What you can do to test small modifications to the Halium portion (where this file is from):

                            • Reboot into recovery
                            • Connect to the device via ADB
                            • Mount the Halium system image: mount /system/var/lib/lxc/android/system.img /tmp

                            There is no directory /system/var/lib in recovery mode, I also cannot find a system.img anywhere. Has this changed recently?

                            • Edit the Halium override file to your liking: nano /tmp/halium/etc/pulse/touch.pa

                            Wouldn't this be the file /system/halium/etc/pulse/touch.pa?

                            EDIT: losetup -a says that /dev/loop0 is pointing to /halium-system/var/lib/lxc/android/system.img, yet there is no directory /halium-system. How can I access it?

                            c4pp4C 1 Reply Last reply Reply Quote 0
                            • H Offline
                              Hris @eichenbast
                              last edited by

                              This post is deleted!
                              1 Reply Last reply Reply Quote 0
                              • L Offline
                                Linux Klaus
                                last edited by

                                @fredldotme thank you so much for your awesome work. I just flashed the port a few days ago and everything is working super smooth.

                                I followed during the installation process your instructions and of @christophe14 (post 160). It helped me a lot.

                                The ubports installer caused a lot of trouble during the installation. I got a lot of error messages (they are already on github). The biggest problem for me was for some reason to boot into fastboot mode. It took me easily 40 attempts. Don't know why. For some reason the ubports installer also did not recognised the device (all the necessary drivers were installed. Switched over to the installer on fedora and did not had any problems.

                                Keep up the great work. I am amzed by this wonderful community and what you all have already achieved.

                                1 Reply Last reply Reply Quote 0
                                • c4pp4C Offline
                                  c4pp4 @jro
                                  last edited by

                                  @jro
                                  What is the output of

                                  adb shell ls
                                  

                                  when the device is connected in recovery mode?

                                  1 Reply Last reply Reply Quote 0
                                  • c4pp4C Offline
                                    c4pp4
                                    last edited by

                                    Some audio tweak:

                                    • boot device into recovery

                                    • mount system.img:

                                    adb shell mount /system/var/lib/lxc/android/system.img /tmp
                                    
                                    • when playing 44.1 kHz audio stream the sound is crackling, default sample rate is 48 kHz and I think the resampler is too slow, fix it using higher latency via deep buffer flag:
                                    adb pull /tmp/etc/audio_policy.conf
                                    sed -i '/AUDIO_OUTPUT_FLAG_PRIMARY/{s/FAST/DEEP_BUFFER/}' audio_policy.conf
                                    adb push audio_policy.conf /tmp/etc
                                    
                                    • ringtone volume is too low, it's played via output-speaker+wired_headphone port, set appropriate acdb_id:
                                    adb pull /tmp/etc/audio_platform_info.xml
                                    sed -i '/Custom mapping starts here/a \        <device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES" acdb_id="799"/>' audio_platform_info.xml
                                    adb push audio_platform_info.xml /tmp/etc
                                    
                                    • sound is distorted when max volume is used, correct max volume:
                                    adb pull /tmp/etc/mixer_paths.xml
                                    sed -i -e '/RX7 Digital Volume/{s/92/86/}' -e '/RX8 Digital Volume/{s/92/86/}' mixer_paths.xml
                                    adb push mixer_paths.xml /tmp/etc
                                    
                                    • umount system.img:
                                    adb shell umount /tmp
                                    
                                    • reboot the device
                                    flohackF 1 Reply Last reply Reply Quote 0
                                    • flohackF Offline
                                      flohack @c4pp4
                                      last edited by

                                      @c4pp4 Wonderful, aber you able to integrate this permanently into the system image with a PR on Github? Your solution is too complex to apply and also will be overwritten by an update πŸ™‚

                                      My languages: πŸ‡¦πŸ‡Ή πŸ‡©πŸ‡ͺ πŸ‡¬πŸ‡§ πŸ‡ΊπŸ‡Έ

                                      1 Reply Last reply Reply Quote 0
                                      • fredldotmeF Offline
                                        fredldotme
                                        last edited by

                                        Yeah, those changes presented as a PR would be highly appreciated! I'm currently occupied with a lot of other things, so I probably can't do it myself in the short term. The files you're modifying are probably in the suzu and loire repos on GitHub linked in the top post.

                                        1 Reply Last reply Reply Quote 0
                                        • fredldotmeF Offline
                                          fredldotme
                                          last edited by

                                          Thanks again to @c4pp4 for preparing those changes as a pull request, the changes will land within the next two days. πŸ™‚

                                          c4pp4C 1 Reply Last reply Reply Quote 0
                                          • c4pp4C Offline
                                            c4pp4 @fredldotme
                                            last edited by

                                            @fredldotme
                                            No problem πŸ™‚

                                            I'm trying to achieve 44.1 kHz as the default rate or find out why is resampler too slow. I'm not sure if it's pulseaudio server, droid module or qcom driver related or something else.

                                            1 Reply Last reply Reply Quote 0
                                            • c4pp4C Offline
                                              c4pp4
                                              last edited by c4pp4

                                              @fredldotme
                                              I think I find out why it's always using 48 kHz. It's related to qcom/audio/hal. According to this commit https://github.com/fredldotme/device-sony-common/commit/b3235f337a371d7746fe591e3adcaca99c90dc4f we are using qcom/audio/default/hal/audio_hw.c where adev_open_output_stream function is always assigning 48 kHz rate regardless of what we configure in audio_policy.conf/touch.pa:

                                              3065       out->sample_rate = out->config.rate
                                              

                                              newer version contains:

                                              5295       if (config->sample_rate == 0) {
                                              5296                   out->sample_rate = out->config.rate;
                                              5297               } else {
                                              5298                   out->sample_rate = config->sample_rate;
                                              5299       }
                                              

                                              Is there a chance to test patched version?

                                              fredldotmeF 1 Reply Last reply Reply Quote 0
                                              • First post
                                                Last post