UBports Robot Logo UBports Forum
    • 版面
    • 最新
    • 標籤
    • 熱門
    • 使用者
    • 群組
    • 搜尋
    • 註冊
    • 登入

    Sony Xperia X (suzu/F5121 & F5122)

    已排程 已置頂 已鎖定 已移動 Sony Xperia X (F5121 & F5122)
    324 貼文 63 Posters 235.7k 瀏覽 15 Watching
    正在載入更多貼文
    • 從舊到新
    • 從新到舊
    • 最多點贊
      回覆
      • 在新貼文中回覆
      登入後回覆
      此主題已被刪除。只有擁有主題管理權限的使用者可以查看。
      • J 離線
        jro @fredldotme
        最後由 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 條回覆 最後回覆 回覆 引用 0
        • H 離線
          Hris @eichenbast
          最後由 編輯

          此回覆已被刪除!
          1 條回覆 最後回覆 回覆 引用 0
          • L 離線
            Linux Klaus
            最後由 編輯

            @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 條回覆 最後回覆 回覆 引用 0
            • c4pp4C 離線
              c4pp4 @jro
              最後由 編輯

              @jro
              What is the output of

              adb shell ls
              

              when the device is connected in recovery mode?

              1 條回覆 最後回覆 回覆 引用 0
              • c4pp4C 離線
                c4pp4
                最後由 編輯

                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 條回覆 最後回覆 回覆 引用 0
                • flohackF 離線
                  flohack @c4pp4
                  最後由 編輯

                  @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 條回覆 最後回覆 回覆 引用 0
                  • fredldotmeF 離線
                    fredldotme
                    最後由 編輯

                    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 條回覆 最後回覆 回覆 引用 0
                    • fredldotmeF 離線
                      fredldotme
                      最後由 編輯

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

                      c4pp4C 1 條回覆 最後回覆 回覆 引用 0
                      • c4pp4C 離線
                        c4pp4 @fredldotme
                        最後由 編輯

                        @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 條回覆 最後回覆 回覆 引用 0
                        • c4pp4C 離線
                          c4pp4
                          最後由 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 條回覆 最後回覆 回覆 引用 0
                          • G 離線
                            Giampy
                            最後由 編輯

                            此回覆已被刪除!
                            1 條回覆 最後回覆 回覆 引用 0
                            • fredldotmeF 離線
                              fredldotme @c4pp4
                              最後由 編輯

                              @c4pp4 you could build your own Halium image and test it that way. The build instructions are here: https://github.com/Halium/projectmanagement/issues/98

                              Just build the systemimage, run simg2img, e2fsck and resize2fs on it and put it in /system/var/lib/lxc/android/system.img.

                              c4pp4C 2 條回覆 最後回覆 回覆 引用 0
                              • c4pp4C 離線
                                c4pp4 @fredldotme
                                最後由 編輯

                                @fredldotme
                                Thank you!

                                1 條回覆 最後回覆 回覆 引用 0
                                • c4pp4C 離線
                                  c4pp4 @fredldotme
                                  最後由 c4pp4 編輯

                                  @fredldotme
                                  I've patched it and successfully built and tested.

                                  patch:

                                  diff -Nur a/hardware/qcom/audio/hal/audio_hw.c b/hardware/qcom/audio/hal/audio_hw.c
                                  --- a/hardware/qcom/audio/hal/audio_hw.c	2020-06-03 09:11:31.406960000 +0200
                                  +++ b/hardware/qcom/audio/hal/audio_hw.c	2020-06-03 23:34:16.000000000 +0200
                                  @@ -3033,6 +3033,8 @@
                                                   out->format = audio_format_from_pcm_format(out->config.format);
                                               }
                                           }
                                  +        if (config->sample_rate != 0)
                                  +            out->config.rate = config->sample_rate;
                                           out->sample_rate = out->config.rate;
                                       }
                                       ALOGV("%s: Usecase(%s) config->format %#x  out->config.format %#x\n",
                                  

                                  adb shell pacmd list-sinks:

                                  2 sink(s) available.
                                    * index: 0
                                  	name: <sink.primary>
                                  	driver: <module-droid-card.c>
                                  	flags: HARDWARE DECIBEL_VOLUME LATENCY 
                                  	state: SUSPENDED
                                  	suspend cause: IDLE 
                                  	priority: 9000
                                  	volume: front-left: 65536 / 100% / 0,00 dB,   front-right: 65536 / 100% / 0,00 dB
                                  	        balance 0,00
                                  	base volume: 65536 / 100% / 0,00 dB
                                  	volume steps: 65537
                                  	muted: no
                                  	current latency: 0,00 ms
                                  	max request: 0 KiB
                                  	max rewind: 0 KiB
                                  	monitor source: 0
                                  	sample spec: s16le 2ch 44100Hz
                                  	channel map: front-left,front-right
                                  	             Stereo
                                  	used by: 0
                                  	linked by: 1
                                  	fixed latency: 10,00 ms
                                  	card: 0 <droid_card.primary>
                                  	module: 4
                                  	properties:
                                  		device.description = "Droid sink primary"
                                  		device.class = "sound"
                                  		device.api = "droid-hal"
                                  		droid.flags = "AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST"
                                  		droid.hw_module = "primary"
                                  		device.icon_name = "audio-card"
                                  		droid.output.primary = "true"
                                  		droid.output.low_latency = "true"
                                  		droid.output.media_latency = "true"
                                  	ports:
                                  		output-earpiece: Output to earpiece (priority 200, latency offset 0 usec, available: yes)
                                  			properties:
                                  				
                                  		output-speaker: Output to speaker (priority 300, latency offset 0 usec, available: yes)
                                  			properties:
                                  				
                                  		output-wired_headset: Output to wired headset (priority 100, latency offset 0 usec, available: no)
                                  			properties:
                                  				
                                  		output-wired_headphone: Output to wired headphone (priority 100, latency offset 0 usec, available: no)
                                  			properties:
                                  				
                                  		output-bluetooth_sco: Output to bluetooth sco (priority 100, latency offset 0 usec, available: yes)
                                  			properties:
                                  				
                                  		output-sco_headset: Output to sco headset (priority 100, latency offset 0 usec, available: yes)
                                  			properties:
                                  				
                                  		output-sco_carkit: Output to sco carkit (priority 100, latency offset 0 usec, available: yes)
                                  			properties:
                                  				
                                  		output-aux_digital: Output to aux digital (priority 100, latency offset 0 usec, available: yes)
                                  			properties:
                                  				
                                  		output-speaker+wired_headphone: Output to speaker+wired headphone (priority 100, latency offset 0 usec, available: no)
                                  			properties:
                                  				
                                  		output-parking: Parking port (priority 50, latency offset 0 usec, available: yes)
                                  			properties:
                                  				
                                  	active port: <output-speaker>
                                  
                                  fredldotmeF 1 條回覆 最後回覆 回覆 引用 0
                                  • fredldotmeF 離線
                                    fredldotme @c4pp4
                                    最後由 fredldotme 編輯

                                    @c4pp4 looks sane at first glance. It would be interesting to know how it behaves with different sample settings provided through the touch.pa file. Does it now allow forcing the sample rate that way? In that case even better, but it looks like it should work on all Sony devices.

                                    Would you like to prepare a PR for it, so it has your name in the commit history? 🙂

                                    c4pp4C 1 條回覆 最後回覆 回覆 引用 0
                                    • c4pp4C 離線
                                      c4pp4 @fredldotme
                                      最後由 c4pp4 編輯

                                      @fredldotme
                                      It should work on all devices using 'hardware/qcom/audio'. Now it takes default settings from pulseaudio (44.100 kHz) if it's not specified through /etc/pulse/daemon.conf. You can override it changing 'default-sample-rate' parameter. You can change the sampling rate through /etc/pulse/touch.pa as well using 'rate', 'sink_rate' or source_rate' parameter when loading module-droid-card-24.

                                      fredldotmeF 1 條回覆 最後回覆 回覆 引用 0
                                      • fredldotmeF 離線
                                        fredldotme @c4pp4
                                        最後由 編輯

                                        @c4pp4 awesome stuff! Should give us more flexibility should the default not provide a sufficient audio experience. Will you prepare a PR for it? I'm currently off my normal setup, only carrying a backup of Halium 7.1 on a microSD card.

                                        1 條回覆 最後回覆 回覆 引用 0
                                        • K 離線
                                          kalle.kruse
                                          最後由 編輯

                                          Thanks again for the great port, @fredldotme! I have been using the Xperia X as my daily driver for months already and I am pretty happy with it. I have been observing a number of issues, and before creating bug reports I would like to make sure they are not specific to this port and that there are no easy fixes:

                                          • Under "Updates" I see an "Ubuntu touch Version 320" update but when clicking on "Restart & install" nothing happens.
                                          • Sometimes when the screen has been locked and turned off for a long time the device takes ages (>10sec?) to wake up.
                                          • On openstreetmap.org I cannot scroll the map in Morph Browser. I am pretty sure this had been working before on the bq Aquarius E4.5.

                                          And a question: Is there any hope to get autofocus to work for the camera?

                                          1 條回覆 最後回覆 回覆 引用 0
                                          • D 離線
                                            dan.socea
                                            最後由 編輯

                                            Hello!
                                            Are there any plans on moving to ubuntu 20.04, or this is not possible due to Xperia X's hardware?

                                            flohackF 1 條回覆 最後回覆 回覆 引用 0
                                            • flohackF 離線
                                              flohack @dan.socea
                                              最後由 編輯

                                              @dan-socea We will move to 20.04 and the Xperia X should not have an issue for that, as its just about kernel version to be high enough for systemd to run.

                                              My languages: 🇦🇹 🇩🇪 🇬🇧 🇺🇸

                                              D 1 條回覆 最後回覆 回覆 引用 1
                                              • 第一個貼文
                                                最後的貼文