• 2 Posts
  • 0 Comments
Joined 3Y ago
cake
Cake day: Jun 09, 2023

help-circle
rss
Updated! Dev stuff: Creating an asound.conf for ALSA on android 13
I'm attempting to alter the XNext walkman Magisk module for the Xperia 1 IV. I've gotten to the stage of modifying the existing asound.conf, but I'm struggling to find the right controls on the device to play media through. In this case, I have a config that defines audio in/out devices (resourcemanagr_waipio_qrd.xml), and from this I have extracted the following `out-device`: https://paste.debian.net/1394516/ From this, I have noted the corresponding hw device from `aplay -l`: `CODEC_DMA-LPAIF_RXTX-RX-0 multicodec-0` I'm lost, however, as to how I might determine how to address this in asound.conf - which contains the module as follows: https://paste.debian.net/1394517/ where the first and last `name` elements appear to be the name of the device. I have attempted the following values: `CODEC_DMA-LPAIF_RXTX-RX-0 multicodec-0` `CODEC_DMA-LPAIF_RXTX-RX-0` `CODEC_DMA-LPAIF_RXTX-RX-0 Audio Mixer Multimedia1` The last being a vague hope that there are somehow some additional configuration flags necessary. However, each time I attempt `aplay -v -D headset test.wav`, aplay responds that the device cannot be found. `headset` is slaved indirectly to `pcm.headphone`, and aplay does contain the correct device name according to asound.conf, so instead I must have the wrong device - except it's configured as such in all the resource config files. So what am I doing wrong, and how might I find the correct combination of bits and pieces? Here is the full `resourcemanager_waipio_qrd.xml`: https://paste.debian.net/1394821/ Output of `aplay -l` on the device: https://paste.debian.net/1394822/ `asound.conf` as it currently stands: https://paste.debian.net/1394823/ -------- Update! I have discovered that the DMA control is now obfuscated on this generation of audio card. Instead, I am supposed to turn on and off the dac switch. As a result, I have come up with the following: ``` { name 'HPHL_RDAC Switch' preserve false lock false value [ 0 ] } { name 'HPHR_RDAC Switch' preserve false lock false value [ 0 ] } { name 'RX_MACRO RX0 MUX' value AIF1_PB } { name 'RX_MACRO RX1 MUX' value AIF1_PB } { name 'RX INT0_1 MIX1 INP0' value RX0 } { name 'RX INT1_1 MIX1 INP0' value RX1 } { name 'RX INT0 DEM MUX' value CLSH_DSM_OUT } { name 'RX INT1 DEM MUX' value CLSH_DSM_OUT } { name 'RX_COMP1 Switch' value 1 } { name 'RX_COMP2 Switch' value 1 } { name 'HPHL_RDAC Switch' value 1 } { name 'HPHR_RDAC Switch' value 1 } { name 'RX_RX0 Digital Volume' value 84 } { name 'RX_RX1 Digital Volume' value 84 } { name 'HPHL_RDAC Switch' preserve true lock true value [ 1 ] } { name 'HPHR_RDAC Switch' preserve true lock true value [ 1 ] } ``` Now `aplay -v -D headset test.wav` returns the following: ``` ALSA lib confmisc.c:136:(snd_config_get_bool) Invalid type for value ALSA lib confmisc.c:136:(snd_config_get_bool) Invalid type for value ALSA lib confmisc.c:136:(snd_config_get_bool) Invalid type for value ALSA lib confmisc.c:136:(snd_config_get_bool) Invalid type for value ALSA lib confmisc.c:136:(snd_config_get_bool) Invalid type for value ALSA lib confmisc.c:136:(snd_config_get_bool) Invalid type for value ALSA lib confmisc.c:136:(snd_config_get_bool) Invalid type for value ALSA lib confmisc.c:136:(snd_config_get_bool) Invalid type for value Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo aplay: set_params:1436: Unable to install hw params: ACCESS: RW_INTERLEAVED FORMAT: S16_LE SUBFORMAT: STD SAMPLE_BITS: 16 FRAME_BITS: 32 CHANNELS: 2 RATE: 44100 PERIOD_TIME: (10666 10667) PERIOD_SIZE: (470 471) PERIOD_BYTES: (1880 1884) PERIODS: (15 17) BUFFER_TIME: (170657 170658) BUFFER_SIZE: 7526 BUFFER_BYTES: 30104 TICK_TIME: 0 ``` I'm not quite sure if this is because I actually have the incorrect values, or if I just have the wrong components. They certainly match the contents of my mixer paths...
fedilink

Lockscreen media and clock stuff
I've just bought a new-to-me Xperia 10 V. It took me a while, but I managed to root the device, forcibly remove the bloat I didn't want, and apply some system tweaks. There are two things that persist in frustrating me. First, I cannot shift the clock back over to the right. Shizuku & System UI Tuner appear to have no effect on this, and until I can compile a copy of LineageOS, I appear to be stuck with it in the wrong place. The second is a little more egregious, and that's this new lockscreen/notification media control. It's horrendous. In fact, it's a step back in functionality, because the FF/RW buttons are too small to press (and sometimes don't work at all!). Yet, somehow, the notification manages to be *larger* than it used to be. I'd ***really*** like to get rid of this new media notification UI, and return to the old style of media control where it was indistinguishable to other notifications bar the media controls. Short of compiling Android... 10?11? for a phone released last year, what can I do to accomplish this?
fedilink