/system/usr/share/alsa/ucm/bytcr-rt5640/HiFi ,how to make it work ? about alsa_ucm

2,161 views
Skip to first unread message

youling 257

unread,
Sep 27, 2016, 11:36:06 AM9/27/16
to Android-x86
u0_a25@x86:/ $ su
root@x86:/ # alsa_ucm -h
Usage: alsa_ucm <options> [command]

Available options:
  -h,--help                  this help
  -c,--card NAME             open card NAME
  -i,--interactive           interactive mode
  -b,--batch FILE            batch mode (use '-' for the stdin input)
  -n,--no-open               do not open first card found

Available commands:
  open NAME                  open card NAME
  reset                      reset sound card to default state
  reload                     reload configuration
  listcards                  list available cards
  list IDENTIFIER            list command
  get IDENTIFIER             get string value
  geti IDENTIFIER            get integer value
  set IDENTIFIER VALUE       set string value
  h,help                     help
  q,quit                     quit
ALSA lib external/alsa-lib/src/ucm/parser.c:1142:(uc_mgr_scan_master_configs) error: could not scan directory /system/usr/share/alsa/ucm: No such file or directory
alsa_ucm: unable to obtain card list: No such file or directory
1|root@x86:/ #

then copy /system/usr/share/alsa/ucm/bytcr-rt5640/HiFi 

u0_a25@x86:/ $ su
root@x86:/ # alsa_ucm -h
Usage: alsa_ucm <options> [command]

Available options:
  -h,--help                  this help
  -c,--card NAME             open card NAME
  -i,--interactive           interactive mode
  -b,--batch FILE            batch mode (use '-' for the stdin input)
  -n,--no-open               do not open first card found

Available commands:
  open NAME                  open card NAME
  reset                      reset sound card to default state
  reload                     reload configuration
  listcards                  list available cards
  list IDENTIFIER            list command
  get IDENTIFIER             get string value
  geti IDENTIFIER            get integer value
  set IDENTIFIER VALUE       set string value
  h,help                     help
  q,quit                     quit
Segmentation fault
139|root@x86:/ #

youling 257

unread,
Sep 27, 2016, 11:41:50 AM9/27/16
to Android-x86
about alsa_ctl

u0_a25@x86:/ $ su
root@x86:/ # alsa_ctl -h
Usage: alsactl <options> command

Available global options:
  -h,--help        this help
  -d,--debug       debug mode
  -v,--version     print version of this program

Available state options:
  -f,--file #      configuration file (default /var/lib/alsa/asound.state)
  -F,--force       try to restore the matching controls as much as possible
                   (default mode)
  -g,--ignore      ignore 'No soundcards found' error
  -P,--pedantic    do not restore mismatching controls (old default)
  -I,--no-init-fallback
                   don't initialize even if restore fails
  -r,--runstate #  save restore and init state to this file (only errors)
                   default settings is 'no file set'
  -R,--remove      remove runstate file at first, otherwise append errors

Available init options:
  -E,--env #=#     set environment variable for init phase (NAME=VALUE)
  -i,--initfile #  main configuation file for init phase (default /system/usr/share/alsa/init/00main)


Available commands:
  store   <card #> save current driver setup for one or each soundcards
                   to configuration file
  restore <card #> load current driver setup for one or each soundcards
                   from configuration file
  init    <card #> initialize driver to a default state
  names   <card #> dump information about all the known present (sub-)devices
                   into configuration file (DEPRECATED)
root@x86:/ #

and /system/etc/init.sh 
 
f=/system/etc/alsa/$(cat /proc/asound/card$c/id).state
if [ -e $f ]; then
alsa_ctl -f $f restore $c

so,/system/etc/alsa/bytcrrt5640.state can work 

how to make /system/usr/share/alsa/ucm/bytcr-rt5640/HiFi work ?

youling 257

unread,
Nov 9, 2016, 2:52:42 AM11/9/16
to Android-x86
/system/etc/alsa/bytcrrt5640.state ,can make sound work,

but,i want to test this HiFi file,https://github.com/plbossart/UCM/commits/master
bytcrrt5640.state

Povilas Staniulis

unread,
Nov 9, 2016, 4:47:02 PM11/9/16
to andro...@googlegroups.com
That's a PulseAudio file. This is for regular Linux distros. Android x86
does not use PulseAudio.
> --
> You received this message because you are subscribed to the Google
> Groups "Android-x86" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to android-x86...@googlegroups.com
> <mailto:android-x86...@googlegroups.com>.
> To post to this group, send email to andro...@googlegroups.com
> <mailto:andro...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/android-x86.
> For more options, visit https://groups.google.com/d/optout.


youling 257

unread,
Aug 15, 2017, 9:29:49 AM8/15/17
to Android-x86
/system/usr/share/alsa/ucm/bytcr-rt5640/bytcr-rt5640.conf ,/system/usr/share/alsa/ucm/bytcr-rt5640/HiFi

terminal command,alsa_ucm -c bytcr-rt5640 set_verb HiFi

android_x86:/ $ su
android_x86:/ # alsa_ucm -c bytcr-rt5640 set_verb HiFi
Segmentation fault
139|android_x86:/ #

youling 257

unread,
Aug 15, 2017, 9:35:41 AM8/15/17
to Android-x86
Linux deploy + juicessh,chroot Ubuntu,i have been make ucm/HiFi working .

root@localhost:/home/youling257# alsaucm -c bytcr-rt5640 set _verb HiFi
root@localhost:/home/youling257# dmesg

[ 186.861709] Baytrail Audio Port: ASoC: no backend DAIs enabled for Baytrail Audio Port
[ 186.872571] Baytrail Audio Port: ASoC: no backend DAIs enabled for Baytrail Audio Port
[ 186.883418] Baytrail Audio Port: ASoC: no backend DAIs enabled for Baytrail Audio Port
[ 186.894339] Baytrail Audio Port: ASoC: no backend DAIs enabled for Baytrail Audio Port
[ 186.910120] sst-mfld-platform sst-mfld-platform: Enter: enable=1 port_name=ssp0-port
[ 186.911017] intel_sst_acpi 80860F28:00: Alloc for str 1 pipe 0x90
127.0.0.1_20170815205634.txt

youling 257

unread,
Aug 16, 2017, 7:33:29 PM8/16/17
to Android-x86
seem Androidx86 alsa_ucm has problem,always Segmentation fault.

i build alsa-lib-1.1.4.1.tar.bz2、alsa-utils-1.1.4.tar.bz2,--enable-static=yes --enable-shared=no
/su/alsaucm: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=251551555ab5b271dfecddf4da398eb2bd853336, with debug_info, not stripped
i can't build statically linked.

android_x86:/ $ su
android_x86:/ # /su/alsaucm
ERROR: ld.so: object 'libsigchain.so' from LD_PRELOAD cannot be preloaded: ignored.
/su/alsaucm: /lib/libc.so.6: version `GLIBC_2.16' not found (required by /su/alsaucm)
/su/alsaucm: /lib/libc.so.6: version `GLIBC_2.17' not found (required by /su/alsaucm)
1|android_x86:/ #

在 2017年8月15日星期二 UTC+8下午9:29:49,youling 257写道:
Message has been deleted

Deying Zou

unread,
Sep 19, 2017, 10:50:16 PM9/19/17
to Android-x86
Hi, youling 257

Thanks for your effort. I am using the a Thinkpad Yoga 11e, N2930+Max98090(aka BYT-MAX98090) audio configuration. I am trying to bring up audio on Android-x86 Nougat. I had tried the asound.state file by using alsa_ctl restore.

I am very curious about the audio architecture of Android-x86. It is clear that Android-x86 use AudioFlinger through hardware-libaudio which incorporate with tinyalsa library to enable basic audio function.

My question is, how the asound.state file or the HiFi config file work in this system? And how to enable it?

Any hint will be appreciated.

----------------
Deying Zou

On Thursday, August 17, 2017 at 7:39:28 AM UTC+8, youling 257 wrote:
first use alsa_ucm set -verb ,the ucm HiFi files

# Use case Configuration for bytcht-es8316

SectionVerb

# Use case Configuration for bytcht-da7213

SectionVerb {

# Use case Configuration for bytcr-rt5640

SectionVerb

youling 257

unread,
Sep 20, 2017, 12:58:56 AM9/20/17
to Android-x86
you can give command,alsa_ctl restore -f /sdcard/asound.state

ls -al /proc/asound ,what is it ? may be bytmax98090 ,copy asound.state to /system/etc/alsa/bytmax98090.state
init.sh,
for c in $(grep '\[.*\]' /proc/asound/cards | awk '{print $1}'); do
  f=/system/etc/alsa/$(cat /proc/asound/card$c/id).state
  if [ -e $f ]; then
   alsa_ctl -f $f restore $c

在 2017年9月20日星期三 UTC+8上午10:50:16,Deying Zou写道:

youling 257

unread,
Sep 20, 2017, 1:04:27 AM9/20/17
to Android-x86
you need Linux deploy and JuiceSsh,chroot to Ubuntu,/data/local/mnt is chroot environment,copy files to /data/local/mnt/usr/share/alsa/ucm/byt-max98090
root@localhost,these command can working.
alsaucm -c byt-max98090 set _verb HiFi set _enadev Headphone
alsaucm -c byt-max98090 set _verb HiFi set _enadev Speakers
alsaucm -c byt-max98090 set _verb HiFi set _enadev HeadsetMic
alsaucm -c byt-max98090 set _verb HiFi set _enadev InternalMic

在 2017年9月20日星期三 UTC+8上午10:50:16,Deying Zou写道:
Hi, youling 257

Deying Zou

unread,
Sep 20, 2017, 2:24:28 PM9/20/17
to Android-x86
Thanks for explaining. I got it.

I will look into it.

youling 257

unread,
May 15, 2018, 1:31:07 PM5/15/18
to Android-x86
android_x86:/ $ su
android_x86:/ # mount -o remount,rw /
android_x86:/ # pulseaudio -vv --log-time
ERROR: ld.so: object 'libsigchain.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
( 0.000| 0.000) W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
( 0.000| 0.000) D: [pulseaudio] core-rtclock.c: Timer slack is set to 50 us.
( 0.000| 0.000) D: [pulseaudio] core-util.c: setpriority() worked.
( 0.000| 0.000) I: [pulseaudio] core-util.c: Successfully gained nice level -11.
( 0.000| 0.000) I: [pulseaudio] main.c: This is PulseAudio 11.0-151-g3b04
( 0.000| 0.000) D: [pulseaudio] main.c: Compilation host: i686-pc-linux-gnu
( 0.000| 0.000) D: [pulseaudio] main.c: Compilation CFLAGS: -g -O2 -Wall -W -Wextra -pipe -Wno-long-long -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings -Wno-unused-parameter -ffast-math -fno-common -fdiagnostics-show-option -fdiagnostics-color=auto
( 0.000| 0.000) D: [pulseaudio] main.c: Running on host: Linux x86_64 4.17.0-rc5-android-x86_64+ #1 SMP PREEMPT Mon May 14 12:48:59 CST 2018
( 0.000| 0.000) D: [pulseaudio] main.c: Found 4 CPUs.
( 0.000| 0.000) I: [pulseaudio] main.c: Page size is 4096 bytes
( 0.000| 0.000) D: [pulseaudio] main.c: Compiled with Valgrind support: no
( 0.000| 0.000) D: [pulseaudio] main.c: Running in valgrind mode: no
( 0.000| 0.000) D: [pulseaudio] main.c: Running in VM: no
( 0.000| 0.000) D: [pulseaudio] main.c: Optimized build: yes
( 0.000| 0.000) D: [pulseaudio] main.c: FASTPATH defined, only fast path asserts disabled.
( 0.001| 0.000) I: [pulseaudio] main.c: Machine ID is localhost.
( 0.019| 0.018) I: [pulseaudio] main.c: Using runtime directory //.config/pulse/localhost-runtime.
( 0.019| 0.000) I: [pulseaudio] main.c: Using state directory //.config/pulse.
( 0.019| 0.000) I: [pulseaudio] main.c: Using modules directory /system/vendor/lib/pulse-11.0/modules.
( 0.019| 0.000) I: [pulseaudio] main.c: Running in system mode: no
( 0.020| 0.000) I: [pulseaudio] main.c: System supports high resolution timers
( 0.021| 0.000) D: [pulseaudio] memblock.c: Using shared memfd memory pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is 65496
( 0.021| 0.000) I: [pulseaudio] cpu-x86.c: CPU flags: CMOV MMX SSE SSE2 SSE3 SSSE3 SSE4_1 SSE4_2
( 0.021| 0.000) I: [pulseaudio] svolume_mmx.c: Initialising MMX optimized volume functions.
( 0.021| 0.000) I: [pulseaudio] remap_mmx.c: Initialising MMX optimized remappers.
( 0.022| 0.000) I: [pulseaudio] svolume_sse.c: Initialising SSE2 optimized volume functions.
( 0.022| 0.000) I: [pulseaudio] remap_sse.c: Initialising SSE2 optimized remappers.
( 0.022| 0.000) I: [pulseaudio] sconv_sse.c: Initialising SSE2 optimized conversions.
( 0.026| 0.004) I: [pulseaudio] module.c: Loaded "module-switch-on-port-available" (index: #0; argument: "").
( 0.026| 0.000) D: [pulseaudio] module.c: Checking for existence of '/system/vendor/lib/pulse-11.0/modules/module-udev-detect.so': success
( 0.041| 0.014) D: [pulseaudio] module-udev-detect.c: /dev/snd/controlC0 is accessible: yes
( 0.041| 0.000) W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card0: No such file or directory
( 0.041| 0.000) D: [pulseaudio] module-udev-detect.c: /devices/platform/80860F28:00/bytcr_rt5640/sound/card0 is busy: no
( 0.041| 0.000) D: [pulseaudio] module-udev-detect.c: Loading module-alsa-card with arguments 'device_id="0" name="platform-bytcr_rt5640" card_name="alsa_card.platform-bytcr_rt5640" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1"'
( 0.055| 0.013) D: [pulseaudio] reserve-wrap.c: Unable to contact D-Bus session bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
( 0.061| 0.006) I: [pulseaudio] alsa-ucm.c: UCM available for card bytcr-rt5640
( 0.061| 0.000) I: [pulseaudio] alsa-ucm.c: Set UCM verb to HiFi
( 0.065| 0.003) D: [pulseaudio] alsa-ucm.c: Got PlaybackPCM for verb HiFi: hw:bytcrrt5640
( 0.065| 0.000) D: [pulseaudio] alsa-ucm.c: Got CapturePCM for verb HiFi: hw:bytcrrt5640
( 0.065| 0.000) D: [pulseaudio] alsa-ucm.c: Got PlaybackChannels for device Speaker: 2
( 0.065| 0.000) D: [pulseaudio] alsa-ucm.c: UCM playback device Speaker fetch pcm from verb default hw:bytcrrt5640
( 0.065| 0.000) D: [pulseaudio] alsa-ucm.c: No _supporteddevs for device Speaker
( 0.065| 0.000) D: [pulseaudio] alsa-ucm.c: Got PlaybackChannels for device Headphones: 2
( 0.065| 0.000) D: [pulseaudio] alsa-ucm.c: Got JackControl for device Headphones: Headphone Jack
( 0.065| 0.000) D: [pulseaudio] alsa-ucm.c: UCM playback device Headphones fetch pcm from verb default hw:bytcrrt5640
( 0.066| 0.000) D: [pulseaudio] alsa-ucm.c: No _supporteddevs for device Headphones
( 0.066| 0.000) D: [pulseaudio] alsa-ucm.c: Got CaptureChannels for device IN3-InternalMics: 2
( 0.066| 0.000) D: [pulseaudio] alsa-ucm.c: UCM capture device IN3-InternalMics fetch pcm from verb default hw:bytcrrt5640
( 0.066| 0.000) D: [pulseaudio] alsa-ucm.c: No _supporteddevs for device IN3-InternalMics
( 0.066| 0.000) D: [pulseaudio] alsa-ucm.c: Got CaptureChannels for device HeadsetMic: 2
( 0.066| 0.000) D: [pulseaudio] alsa-ucm.c: Got JackControl for device HeadsetMic: Headset Mic Jack
( 0.066| 0.000) D: [pulseaudio] alsa-ucm.c: UCM capture device HeadsetMic fetch pcm from verb default hw:bytcrrt5640
( 0.066| 0.000) D: [pulseaudio] alsa-ucm.c: No _supporteddevs for device HeadsetMic
( 0.066| 0.000) I: [pulseaudio] module-alsa-card.c: Found UCM profiles
( 0.066| 0.000) D: [pulseaudio] alsa-ucm.c: UCM mapping: Mapping HiFi: hw:bytcrrt5640: sink dev Speaker
( 0.066| 0.000) D: [pulseaudio] alsa-ucm.c: UCM mapping: Mapping HiFi: hw:bytcrrt5640: sink dev Headphones
( 0.066| 0.000) D: [pulseaudio] alsa-ucm.c: UCM mapping: Mapping HiFi: hw:bytcrrt5640: source dev IN3-InternalMics
( 0.066| 0.000) D: [pulseaudio] alsa-ucm.c: UCM mapping: Mapping HiFi: hw:bytcrrt5640: source dev HeadsetMic
( 0.067| 0.000) D: [pulseaudio] alsa-mixer.c: Profile HiFi (Play HiFi quality Music), input=(null), output=(null) priority=8000, supported=yes n_input_mappings=1, n_output_mappings=1
( 0.067| 0.000) D: [pulseaudio] alsa-mixer.c: Input HiFi: hw:bytcrrt5640: source
( 0.067| 0.000) D: [pulseaudio] alsa-mixer.c: Output HiFi: hw:bytcrrt5640: sink
( 0.067| 0.000) I: [pulseaudio] alsa-ucm.c: Set ucm verb to HiFi
( 0.067| 0.000) D: [pulseaudio] alsa-util.c: Trying hw:bytcrrt5640 with SND_PCM_NO_AUTO_FORMAT ...
( 0.067| 0.000) I: [pulseaudio] (alsa-lib)pcm_hw.c: open '/dev/snd/pcmC0D0p' failed (-16)
( 0.067| 0.000) I: [pulseaudio] alsa-util.c: Error opening PCM device hw:bytcrrt5640: Device or resource busy
( 0.067| 0.000) D: [pulseaudio] alsa-mixer.c: Profile set 0x56fbadb0, auto_profiles=no, probed=yes, n_mappings=0, n_profiles=0, n_decibel_fixes=0
( 0.069| 0.001) E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
( 0.069| 0.000) E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="platform-bytcr_rt5640" card_name="alsa_card.platform-bytcr_rt5640" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1""): initialization failed.
( 0.069| 0.000) I: [pulseaudio] module-udev-detect.c: Card /devices/platform/80860F28:00/bytcr_rt5640/sound/card0 (alsa_card.platform-bytcr_rt5640) failed to load module.
( 0.069| 0.000) I: [pulseaudio] module-udev-detect.c: Found 1 cards.
( 0.069| 0.000) I: [pulseaudio] module.c: Loaded "module-udev-detect" (index: #1; argument: "").
( 0.072| 0.002) I: [pulseaudio] module.c: Loaded "module-suspend-on-idle" (index: #3; argument: "").
( 0.072| 0.000) W: [pulseaudio] server-lookup.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
( 0.072| 0.000) W: [pulseaudio] main.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
( 0.072| 0.000) I: [pulseaudio] main.c: Daemon startup complete.
( 3.051| 2.978) D: [pulseaudio] module-udev-detect.c: /dev/snd/controlC0 is accessible: yes
( 3.051| 0.000) W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card0: No such file or directory
( 3.052| 0.000) D: [pulseaudio] module-udev-detect.c: /devices/platform/80860F28:00/bytcr_rt5640/sound/card0 is busy: no
( 3.052| 0.000) D: [pulseaudio] module-udev-detect.c: Loading module-alsa-card with arguments 'device_id="0" name="platform-bytcr_rt5640" card_name="alsa_card.platform-bytcr_rt5640" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1"'
( 3.053| 0.001) D: [pulseaudio] reserve-wrap.c: Unable to contact D-Bus session bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
( 3.062| 0.009) I: [pulseaudio] alsa-ucm.c: UCM available for card bytcr-rt5640
( 3.062| 0.000) I: [pulseaudio] alsa-ucm.c: Set UCM verb to HiFi
( 3.079| 0.016) D: [pulseaudio] alsa-ucm.c: Got PlaybackPCM for verb HiFi: hw:bytcrrt5640
( 3.079| 0.000) D: [pulseaudio] alsa-ucm.c: Got CapturePCM for verb HiFi: hw:bytcrrt5640
( 3.079| 0.000) D: [pulseaudio] alsa-ucm.c: Got PlaybackChannels for device Speaker: 2
( 3.079| 0.000) D: [pulseaudio] alsa-ucm.c: UCM playback device Speaker fetch pcm from verb default hw:bytcrrt5640
( 3.079| 0.000) D: [pulseaudio] alsa-ucm.c: No _supporteddevs for device Speaker
( 3.079| 0.000) D: [pulseaudio] alsa-ucm.c: Got PlaybackChannels for device Headphones: 2
( 3.079| 0.000) D: [pulseaudio] alsa-ucm.c: Got JackControl for device Headphones: Headphone Jack
( 3.079| 0.000) D: [pulseaudio] alsa-ucm.c: UCM playback device Headphones fetch pcm from verb default hw:bytcrrt5640
( 3.079| 0.000) D: [pulseaudio] alsa-ucm.c: No _supporteddevs for device Headphones
( 3.080| 0.000) D: [pulseaudio] alsa-ucm.c: Got CaptureChannels for device IN3-InternalMics: 2
( 3.080| 0.000) D: [pulseaudio] alsa-ucm.c: UCM capture device IN3-InternalMics fetch pcm from verb default hw:bytcrrt5640
( 3.080| 0.000) D: [pulseaudio] alsa-ucm.c: No _supporteddevs for device IN3-InternalMics
( 3.080| 0.000) D: [pulseaudio] alsa-ucm.c: Got CaptureChannels for device HeadsetMic: 2
( 3.080| 0.000) D: [pulseaudio] alsa-ucm.c: Got JackControl for device HeadsetMic: Headset Mic Jack
( 3.080| 0.000) D: [pulseaudio] alsa-ucm.c: UCM capture device HeadsetMic fetch pcm from verb default hw:bytcrrt5640
( 3.080| 0.000) D: [pulseaudio] alsa-ucm.c: No _supporteddevs for device HeadsetMic
( 3.080| 0.000) I: [pulseaudio] module-alsa-card.c: Found UCM profiles
( 3.080| 0.000) D: [pulseaudio] alsa-ucm.c: UCM mapping: Mapping HiFi: hw:bytcrrt5640: sink dev Speaker
( 3.081| 0.000) D: [pulseaudio] alsa-ucm.c: UCM mapping: Mapping HiFi: hw:bytcrrt5640: sink dev Headphones
( 3.081| 0.000) D: [pulseaudio] alsa-ucm.c: UCM mapping: Mapping HiFi: hw:bytcrrt5640: source dev IN3-InternalMics
( 3.081| 0.000) D: [pulseaudio] alsa-ucm.c: UCM mapping: Mapping HiFi: hw:bytcrrt5640: source dev HeadsetMic
( 3.081| 0.000) D: [pulseaudio] alsa-mixer.c: Profile HiFi (Play HiFi quality Music), input=(null), output=(null) priority=8000, supported=yes n_input_mappings=1, n_output_mappings=1
( 3.081| 0.000) D: [pulseaudio] alsa-mixer.c: Input HiFi: hw:bytcrrt5640: source
( 3.081| 0.000) D: [pulseaudio] alsa-mixer.c: Output HiFi: hw:bytcrrt5640: sink
( 3.081| 0.000) I: [pulseaudio] alsa-ucm.c: Set ucm verb to HiFi
( 3.081| 0.000) D: [pulseaudio] alsa-util.c: Trying hw:bytcrrt5640 with SND_PCM_NO_AUTO_FORMAT ...
( 3.082| 0.001) D: [pulseaudio] alsa-util.c: Managed to open hw:bytcrrt5640
( 3.082| 0.000) D: [pulseaudio] alsa-util.c: Maximum hw buffer size is 4266 ms
( 3.083| 0.000) I: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_buffer_size_near() failed: Invalid argument
( 3.106| 0.022) D: [pulseaudio] alsa-util.c: Set period size first (to 1199 samples), buffer size second (to 4797 samples).
( 3.106| 0.000) I: [pulseaudio] alsa-util.c: Device hw:bytcrrt5640 doesn't support 44100 Hz, changed to 48000 Hz.
( 3.106| 0.000) D: [pulseaudio] alsa-util.c: Trying hw:bytcrrt5640 with SND_PCM_NO_AUTO_FORMAT ...
( 3.106| 0.000) D: [pulseaudio] alsa-util.c: Managed to open hw:bytcrrt5640
( 3.107| 0.000) D: [pulseaudio] alsa-util.c: Maximum hw buffer size is 4266 ms
( 3.107| 0.000) I: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_buffer_size_near() failed: Invalid argument
( 3.108| 0.001) D: [pulseaudio] alsa-util.c: Set period size first (to 1199 samples), buffer size second (to 4797 samples).
( 3.108| 0.000) I: [pulseaudio] alsa-util.c: Device hw:bytcrrt5640 doesn't support 44100 Hz, changed to 48000 Hz.
( 3.108| 0.000) D: [pulseaudio] alsa-ucm.c: Profile HiFi supported.
( 3.119| 0.010) I: [pulseaudio] alsa-util.c: Successfully attached to mixer 'hw:bytcrrt5640'
( 3.119| 0.000) I: [pulseaudio] alsa-ucm.c: UCM jack Speaker has_control=0
( 3.119| 0.000) I: [pulseaudio] alsa-ucm.c: UCM jack Headphone has_control=1
( 3.128| 0.009) I: [pulseaudio] alsa-util.c: Successfully attached to mixer 'hw:bytcrrt5640'
( 3.128| 0.000) I: [pulseaudio] alsa-ucm.c: UCM jack IN3-InternalMics has_control=0
( 3.128| 0.000) I: [pulseaudio] alsa-ucm.c: UCM jack Headset Mic has_control=1
( 3.137| 0.009) D: [pulseaudio] alsa-mixer.c: Profile set 0x56fc70c0, auto_profiles=no, probed=yes, n_mappings=2, n_profiles=1, n_decibel_fixes=0
( 3.138| 0.000) D: [pulseaudio] alsa-mixer.c: Mapping HiFi: hw:bytcrrt5640: sink (Speaker playback + Headphones playback), priority=100, channel_map=front-left,front-right, supported=yes, direction=1
( 3.138| 0.000) D: [pulseaudio] alsa-mixer.c: Mapping HiFi: hw:bytcrrt5640: source (Internal IN3 analog Mic capture + Headset Mic capture), priority=100, channel_map=front-left,front-right, supported=yes, direction=2
( 3.138| 0.000) D: [pulseaudio] alsa-mixer.c: Profile HiFi (Play HiFi quality Music), input=(null), output=(null) priority=8000, supported=yes n_input_mappings=1, n_output_mappings=1
( 3.138| 0.000) D: [pulseaudio] alsa-mixer.c: Input HiFi: hw:bytcrrt5640: source
( 3.138| 0.000) D: [pulseaudio] alsa-mixer.c: Output HiFi: hw:bytcrrt5640: sink
( 3.139| 0.001) D: [pulseaudio] alsa-ucm.c: Check device Speaker conformance with 0 other devices
( 3.139| 0.000) D: [pulseaudio] alsa-ucm.c: First device in combination, number 1
( 3.139| 0.000) D: [pulseaudio] alsa-ucm.c: Add port [Out] Speaker: Speaker playback
( 3.139| 0.000) D: [pulseaudio] alsa-ucm.c: Port [Out] Speaker direction output, priority 100
( 3.139| 0.000) D: [pulseaudio] alsa-ucm.c: Adding profile HiFi to port [Out] Speaker.
( 3.139| 0.000) D: [pulseaudio] alsa-ucm.c: Check device Headphones conformance with 1 other devices
( 3.139| 0.000) D: [pulseaudio] alsa-ucm.c: Conflicting device found
( 3.139| 0.000) D: [pulseaudio] alsa-ucm.c: Check device Headphones conformance with 0 other devices
( 3.139| 0.000) D: [pulseaudio] alsa-ucm.c: First device in combination, number 1
( 3.139| 0.000) D: [pulseaudio] device-port.c: Setting port [Out] Headphones to status no
( 3.139| 0.000) D: [pulseaudio] alsa-ucm.c: Add port [Out] Headphones: Headphones playback
( 3.139| 0.000) D: [pulseaudio] alsa-ucm.c: Port [Out] Headphones direction output, priority 100
( 3.139| 0.000) D: [pulseaudio] alsa-ucm.c: Adding profile HiFi to port [Out] Headphones.
( 3.139| 0.000) D: [pulseaudio] alsa-ucm.c: Check device IN3-InternalMics conformance with 0 other devices
( 3.139| 0.000) D: [pulseaudio] alsa-ucm.c: First device in combination, number 1
( 3.140| 0.000) D: [pulseaudio] alsa-ucm.c: Add port [In] IN3-InternalMics: Internal IN3 analog Mic capture
( 3.140| 0.000) D: [pulseaudio] alsa-ucm.c: Port [In] IN3-InternalMics direction input, priority 100
( 3.140| 0.000) D: [pulseaudio] alsa-ucm.c: Adding profile HiFi to port [In] IN3-InternalMics.
( 3.140| 0.000) D: [pulseaudio] alsa-ucm.c: Check device HeadsetMic conformance with 1 other devices
( 3.140| 0.000) D: [pulseaudio] alsa-ucm.c: Conflicting device found
( 3.140| 0.000) D: [pulseaudio] alsa-ucm.c: Check device HeadsetMic conformance with 0 other devices
( 3.140| 0.000) D: [pulseaudio] alsa-ucm.c: First device in combination, number 1
( 3.140| 0.000) D: [pulseaudio] device-port.c: Setting port [In] HeadsetMic to status no
( 3.140| 0.000) D: [pulseaudio] alsa-ucm.c: Add port [In] HeadsetMic: Headset Mic capture
( 3.140| 0.000) D: [pulseaudio] alsa-ucm.c: Port [In] HeadsetMic direction input, priority 100
( 3.140| 0.000) D: [pulseaudio] alsa-ucm.c: Adding profile HiFi to port [In] HeadsetMic.
( 3.140| 0.000) D: [pulseaudio] module-alsa-card.c: Found 2 jacks.
( 3.149| 0.009) I: [pulseaudio] alsa-util.c: Successfully attached to mixer 'hw:0'
( 3.149| 0.000) D: [pulseaudio] module-alsa-card.c: Jack 'Headset Mic Jack' is now unplugged
( 3.149| 0.000) D: [pulseaudio] module-alsa-card.c: Jack 'Headphone Jack' is now unplugged
( 3.150| 0.000) I: [pulseaudio] card.c: Created 0 "alsa_card.platform-bytcr_rt5640"
( 3.150| 0.000) I: [pulseaudio] alsa-ucm.c: Set UCM verb to HiFi
( 3.153| 0.003) D: [pulseaudio] reserve-wrap.c: Unable to contact D-Bus session bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
( 3.153| 0.000) D: [pulseaudio] alsa-util.c: Trying hw:bytcrrt5640 with SND_PCM_NO_AUTO_FORMAT ...
( 3.154| 0.000) D: [pulseaudio] alsa-util.c: Managed to open hw:bytcrrt5640
( 3.154| 0.000) I: [pulseaudio] alsa-util.c: Cannot disable ALSA period wakeups
( 3.154| 0.000) D: [pulseaudio] alsa-util.c: Maximum hw buffer size is 4266 ms
( 3.174| 0.019) D: [pulseaudio] alsa-util.c: Set buffer size first (to 96000 samples), period size second (to 96000 samples).
( 3.174| 0.000) I: [pulseaudio] alsa-util.c: Device hw:bytcrrt5640 doesn't support 44100 Hz, changed to 48000 Hz.
( 3.174| 0.000) I: [pulseaudio] alsa-util.c: ALSA period wakeups were not disabled
( 3.174| 0.000) I: [pulseaudio] alsa-sink.c: Successfully opened device hw:bytcrrt5640.
( 3.174| 0.000) I: [pulseaudio] alsa-sink.c: Selected mapping 'Speaker playback + Headphones playback' (HiFi: hw:bytcrrt5640: sink).
( 3.174| 0.000) I: [pulseaudio] alsa-sink.c: Successfully enabled mmap() mode.
( 3.174| 0.000) I: [pulseaudio] alsa-sink.c: Successfully enabled timer-based scheduling mode.
( 3.175| 0.000) D: [pulseaudio] alsa-ucm.c: Check device Speaker conformance with 0 other devices
( 3.175| 0.000) D: [pulseaudio] alsa-ucm.c: First device in combination, number 1
( 3.175| 0.000) D: [pulseaudio] alsa-ucm.c: Port [Out] Speaker direction output, priority 100
( 3.175| 0.000) D: [pulseaudio] alsa-ucm.c: Check device Headphones conformance with 1 other devices
( 3.175| 0.000) D: [pulseaudio] alsa-ucm.c: Conflicting device found
( 3.175| 0.000) D: [pulseaudio] alsa-ucm.c: Check device Headphones conformance with 0 other devices
( 3.175| 0.000) D: [pulseaudio] alsa-ucm.c: First device in combination, number 1
( 3.175| 0.000) D: [pulseaudio] alsa-ucm.c: Port [Out] Headphones direction output, priority 100
( 3.175| 0.000) I: [pulseaudio] alsa-ucm.c: ALSA device hw:bytcrrt5640 roles: (null)
( 3.176| 0.000) I: [pulseaudio] sink.c: Created sink 0 "alsa_output.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__sink" with sample spec s16le 2ch 48000Hz and channel map front-left,front-right
( 3.176| 0.000) I: [pulseaudio] sink.c: alsa.resolution_bits = "16"
( 3.176| 0.000) I: [pulseaudio] sink.c: device.api = "alsa"
( 3.176| 0.000) I: [pulseaudio] sink.c: device.class = "sound"
( 3.176| 0.000) I: [pulseaudio] sink.c: alsa.class = "generic"
( 3.176| 0.000) I: [pulseaudio] sink.c: alsa.subclass = "generic-mix"
( 3.176| 0.000) I: [pulseaudio] sink.c: alsa.name = ""
( 3.176| 0.000) I: [pulseaudio] sink.c: alsa.id = "1"
( 3.176| 0.000) I: [pulseaudio] sink.c: alsa.subdevice = "0"
( 3.176| 0.000) I: [pulseaudio] sink.c: alsa.subdevice_name = "subdevice #0"
( 3.176| 0.000) I: [pulseaudio] sink.c: alsa.device = "0"
( 3.176| 0.000) I: [pulseaudio] sink.c: alsa.card = "0"
( 3.176| 0.000) I: [pulseaudio] sink.c: alsa.card_name = "bytcr-rt5640"
( 3.176| 0.000) I: [pulseaudio] sink.c: alsa.long_card_name = "bytcr-rt5640-stereo-spk-in3-mic"
( 3.176| 0.000) I: [pulseaudio] sink.c: alsa.driver_name = "snd_soc_sst_bytcr_rt5640"
( 3.176| 0.000) I: [pulseaudio] sink.c: device.bus_path = "platform-bytcr_rt5640"
( 3.176| 0.000) I: [pulseaudio] sink.c: sysfs.path = "/devices/platform/80860F28:00/bytcr_rt5640/sound/card0"
( 3.176| 0.000) I: [pulseaudio] sink.c: device.form_factor = "internal"
( 3.176| 0.000) I: [pulseaudio] sink.c: device.string = "hw:bytcrrt5640"
( 3.176| 0.000) I: [pulseaudio] sink.c: device.buffering.buffer_size = "384000"
( 3.176| 0.000) I: [pulseaudio] sink.c: device.buffering.fragment_size = "192000"
( 3.176| 0.000) I: [pulseaudio] sink.c: device.access_mode = "mmap+timer"
( 3.176| 0.000) I: [pulseaudio] sink.c: device.profile.name = "HiFi: hw:bytcrrt5640: sink"
( 3.176| 0.000) I: [pulseaudio] sink.c: device.profile.description = "Speaker playback + Headphones playback"
( 3.176| 0.000) I: [pulseaudio] sink.c: device.description = "Built-in Audio Speaker playback + Headphones playback"
( 3.176| 0.000) I: [pulseaudio] sink.c: module-udev-detect.discovered = "1"
( 3.176| 0.000) I: [pulseaudio] sink.c: device.icon_name = "audio-card"
( 3.177| 0.000) I: [pulseaudio] source.c: Created source 0 "alsa_output.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__sink.monitor" with sample spec s16le 2ch 48000Hz and channel map front-left,front-right
( 3.177| 0.000) I: [pulseaudio] source.c: device.description = "Monitor of Built-in Audio Speaker playback + Headphones playback"
( 3.177| 0.000) I: [pulseaudio] source.c: device.class = "monitor"
( 3.177| 0.000) I: [pulseaudio] source.c: alsa.card = "0"
( 3.177| 0.000) I: [pulseaudio] source.c: alsa.card_name = "bytcr-rt5640"
( 3.177| 0.000) I: [pulseaudio] source.c: alsa.long_card_name = "bytcr-rt5640-stereo-spk-in3-mic"
( 3.177| 0.000) I: [pulseaudio] source.c: alsa.driver_name = "snd_soc_sst_bytcr_rt5640"
( 3.177| 0.000) I: [pulseaudio] source.c: device.bus_path = "platform-bytcr_rt5640"
( 3.177| 0.000) I: [pulseaudio] source.c: sysfs.path = "/devices/platform/80860F28:00/bytcr_rt5640/sound/card0"
( 3.177| 0.000) I: [pulseaudio] source.c: device.form_factor = "internal"
( 3.177| 0.000) I: [pulseaudio] source.c: device.string = "0"
( 3.177| 0.000) I: [pulseaudio] source.c: module-udev-detect.discovered = "1"
( 3.177| 0.000) I: [pulseaudio] source.c: device.icon_name = "audio-card"
( 3.177| 0.000) I: [pulseaudio] alsa-sink.c: Using 2.0 fragments of size 192000 bytes (1000.00ms), buffer size is 384000 bytes (2000.00ms)
( 3.177| 0.000) I: [pulseaudio] alsa-sink.c: Time scheduling watermark is 18.38ms
( 3.177| 0.000) D: [pulseaudio] alsa-sink.c: hwbuf_unused=0
( 3.177| 0.000) D: [pulseaudio] alsa-sink.c: setting avail_min=95119
( 3.177| 0.000) D: [pulseaudio] alsa-ucm.c: Disable ucm device Headphones
( 3.177| 0.000) D: [pulseaudio] alsa-ucm.c: Enable ucm device Speaker
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: snd_pcm_dump():
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: Hardware PCM card 0 'bytcr-rt5640' device 0 subdevice 0
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: Its setup is:
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: stream : PLAYBACK
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: access : MMAP_INTERLEAVED
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: format : S16_LE
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: subformat : STD
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: channels : 2
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: rate : 48000
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: exact rate : 48000 (48000/1)
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: msbits : 16
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: buffer_size : 96000
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: period_size : 48000
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: period_time : 1000000
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: tstamp_mode : ENABLE
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: tstamp_type : MONOTONIC
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: period_step : 1
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: avail_min : 95119
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: period_event : 0
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: start_threshold : -1
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: stop_threshold : 1572864000
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: silence_threshold: 0
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: silence_size : 0
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: boundary : 1572864000
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: appl_ptr : 0
( 3.178| 0.000) D: [pulseaudio] alsa-util.c: hw_ptr : 0
( 3.179| 0.000) D: [alsa-sink-1] alsa-sink.c: Thread starting up
( 3.179| 0.000) D: [alsa-sink-1] core-util.c: SCHED_RR|SCHED_RESET_ON_FORK worked.
( 3.179| 0.000) I: [alsa-sink-1] core-util.c: Successfully enabled SCHED_RR scheduling for thread, with priority 5.
( 3.179| 0.000) D: [pulseaudio] sink.c: alsa_output.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__sink: state: INIT -> IDLE
( 3.180| 0.000) I: [alsa-sink-1] alsa-sink.c: Starting playback.
( 3.181| 0.000) D: [alsa-sink-1] alsa-sink.c: Cutting sleep time for the initial iterations by half.
( 3.181| 0.000) D: [pulseaudio] source.c: alsa_output.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__sink.monitor: state: INIT -> IDLE
( 3.181| 0.000) D: [alsa-sink-1] alsa-sink.c: Cutting sleep time for the initial iterations by half.
( 3.181| 0.000) I: [pulseaudio] core.c: default_source: (unset) -> alsa_output.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__sink.monitor
( 3.181| 0.000) D: [pulseaudio] module-suspend-on-idle.c: Sink alsa_output.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__sink becomes idle, timeout in 5 seconds.
( 3.181| 0.000) I: [pulseaudio] core.c: default_sink: (unset) -> alsa_output.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__sink
( 3.181| 0.000) D: [pulseaudio] alsa-util.c: Trying hw:bytcrrt5640 with SND_PCM_NO_AUTO_FORMAT ...
( 3.182| 0.000) D: [pulseaudio] alsa-util.c: Managed to open hw:bytcrrt5640
( 3.182| 0.000) I: [pulseaudio] alsa-util.c: Cannot disable ALSA period wakeups
( 3.182| 0.000) D: [pulseaudio] alsa-util.c: Maximum hw buffer size is 4266 ms
( 3.185| 0.003) D: [pulseaudio] alsa-util.c: Set buffer size first (to 96000 samples), period size second (to 96000 samples).
( 3.185| 0.000) I: [pulseaudio] alsa-util.c: Device hw:bytcrrt5640 doesn't support 44100 Hz, changed to 48000 Hz.
( 3.185| 0.000) I: [pulseaudio] alsa-util.c: ALSA period wakeups were not disabled
( 3.185| 0.000) I: [pulseaudio] alsa-source.c: Successfully opened device hw:bytcrrt5640.
( 3.185| 0.000) I: [pulseaudio] alsa-source.c: Selected mapping 'Internal IN3 analog Mic capture + Headset Mic capture' (HiFi: hw:bytcrrt5640: source).
( 3.185| 0.000) I: [pulseaudio] alsa-source.c: Successfully enabled mmap() mode.
( 3.185| 0.000) I: [pulseaudio] alsa-source.c: Successfully enabled timer-based scheduling mode.
( 3.187| 0.001) D: [pulseaudio] alsa-ucm.c: Check device IN3-InternalMics conformance with 0 other devices
( 3.187| 0.000) D: [pulseaudio] alsa-ucm.c: First device in combination, number 1
( 3.187| 0.000) D: [pulseaudio] alsa-ucm.c: Port [In] IN3-InternalMics direction input, priority 100
( 3.187| 0.000) D: [pulseaudio] alsa-ucm.c: Check device HeadsetMic conformance with 1 other devices
( 3.187| 0.000) D: [pulseaudio] alsa-ucm.c: Conflicting device found
( 3.187| 0.000) D: [pulseaudio] alsa-ucm.c: Check device HeadsetMic conformance with 0 other devices
( 3.187| 0.000) D: [pulseaudio] alsa-ucm.c: First device in combination, number 1
( 3.187| 0.000) D: [pulseaudio] alsa-ucm.c: Port [In] HeadsetMic direction input, priority 100
( 3.187| 0.000) I: [pulseaudio] alsa-ucm.c: ALSA device hw:bytcrrt5640 roles: (null)
( 3.187| 0.000) I: [pulseaudio] source.c: Created source 1 "alsa_input.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__source" with sample spec s16le 2ch 48000Hz and channel map front-left,front-right
( 3.187| 0.000) I: [pulseaudio] source.c: alsa.resolution_bits = "16"
( 3.187| 0.000) I: [pulseaudio] source.c: device.api = "alsa"
( 3.187| 0.000) I: [pulseaudio] source.c: device.class = "sound"
( 3.187| 0.000) I: [pulseaudio] source.c: alsa.class = "generic"
( 3.187| 0.000) I: [pulseaudio] source.c: alsa.subclass = "generic-mix"
( 3.187| 0.000) I: [pulseaudio] source.c: alsa.name = ""
( 3.187| 0.000) I: [pulseaudio] source.c: alsa.id = "3"
( 3.187| 0.000) I: [pulseaudio] source.c: alsa.subdevice = "0"
( 3.187| 0.000) I: [pulseaudio] source.c: alsa.subdevice_name = "subdevice #0"
( 3.187| 0.000) I: [pulseaudio] source.c: alsa.device = "0"
( 3.187| 0.000) I: [pulseaudio] source.c: alsa.card = "0"
( 3.187| 0.000) I: [pulseaudio] source.c: alsa.card_name = "bytcr-rt5640"
( 3.187| 0.000) I: [pulseaudio] source.c: alsa.long_card_name = "bytcr-rt5640-stereo-spk-in3-mic"
( 3.187| 0.000) I: [pulseaudio] source.c: alsa.driver_name = "snd_soc_sst_bytcr_rt5640"
( 3.187| 0.000) I: [pulseaudio] source.c: device.bus_path = "platform-bytcr_rt5640"
( 3.187| 0.000) I: [pulseaudio] source.c: sysfs.path = "/devices/platform/80860F28:00/bytcr_rt5640/sound/card0"
( 3.187| 0.000) I: [pulseaudio] source.c: device.form_factor = "internal"
( 3.187| 0.000) I: [pulseaudio] source.c: device.string = "hw:bytcrrt5640"
( 3.187| 0.000) I: [pulseaudio] source.c: device.buffering.buffer_size = "384000"
( 3.187| 0.000) I: [pulseaudio] source.c: device.buffering.fragment_size = "192000"
( 3.187| 0.000) I: [pulseaudio] source.c: device.access_mode = "mmap+timer"
( 3.187| 0.000) I: [pulseaudio] source.c: device.profile.name = "HiFi: hw:bytcrrt5640: source"
( 3.187| 0.000) I: [pulseaudio] source.c: device.profile.description = "Internal IN3 analog Mic capture + Headset Mic capture"
( 3.187| 0.000) I: [pulseaudio] source.c: device.description = "Built-in Audio Internal IN3 analog Mic capture + Headset Mic capture"
( 3.187| 0.000) I: [pulseaudio] source.c: module-udev-detect.discovered = "1"
( 3.187| 0.000) I: [pulseaudio] source.c: device.icon_name = "audio-card"
( 3.188| 0.000) I: [pulseaudio] alsa-source.c: Using 2.0 fragments of size 192000 bytes (1000.00ms), buffer size is 384000 bytes (2000.00ms)
( 3.188| 0.000) I: [pulseaudio] alsa-source.c: Time scheduling watermark is 18.38ms
( 3.188| 0.000) D: [pulseaudio] alsa-source.c: hwbuf_unused=0
( 3.188| 0.000) D: [pulseaudio] alsa-source.c: setting avail_min=95119
( 3.188| 0.000) D: [pulseaudio] alsa-ucm.c: Disable ucm device HeadsetMic
( 3.188| 0.000) D: [pulseaudio] alsa-ucm.c: Enable ucm device IN3-InternalMics
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: snd_pcm_dump():
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: Hardware PCM card 0 'bytcr-rt5640' device 0 subdevice 0
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: Its setup is:
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: stream : CAPTURE
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: access : MMAP_INTERLEAVED
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: format : S16_LE
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: subformat : STD
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: channels : 2
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: rate : 48000
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: exact rate : 48000 (48000/1)
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: msbits : 16
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: buffer_size : 96000
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: period_size : 48000
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: period_time : 1000000
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: tstamp_mode : ENABLE
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: tstamp_type : MONOTONIC
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: period_step : 1
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: avail_min : 95119
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: period_event : 0
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: start_threshold : -1
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: stop_threshold : 1572864000
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: silence_threshold: 0
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: silence_size : 0
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: boundary : 1572864000
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: appl_ptr : 0
( 3.191| 0.003) D: [pulseaudio] alsa-util.c: hw_ptr : 0
( 3.192| 0.000) D: [alsa-source-3] alsa-source.c: Thread starting up
( 3.192| 0.000) D: [alsa-source-3] core-util.c: SCHED_RR|SCHED_RESET_ON_FORK worked.
( 3.192| 0.000) I: [alsa-source-3] core-util.c: Successfully enabled SCHED_RR scheduling for thread, with priority 5.
( 3.192| 0.000) I: [alsa-source-3] alsa-source.c: Starting capture.
( 3.192| 0.000) D: [pulseaudio] source.c: alsa_input.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__source: state: INIT -> IDLE
( 3.192| 0.000) D: [pulseaudio] module-suspend-on-idle.c: Source alsa_input.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__source becomes idle, timeout in 5 seconds.
( 3.192| 0.000) I: [pulseaudio] core.c: default_source: alsa_output.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__sink.monitor -> alsa_input.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__source
( 3.193| 0.000) I: [pulseaudio] module.c: Loaded "module-alsa-card" (index: #4; argument: "device_id="0" name="platform-bytcr_rt5640" card_name="alsa_card.platform-bytcr_rt5640" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1"").
( 3.193| 0.000) I: [pulseaudio] module-udev-detect.c: Card /devices/platform/80860F28:00/bytcr_rt5640/sound/card0 (alsa_card.platform-bytcr_rt5640) module loaded.
( 3.193| 0.000) D: [pulseaudio] module-udev-detect.c: /dev/snd/controlC0 is accessible: yes
( 3.193| 0.000) D: [pulseaudio] module-udev-detect.c: Resuming all sinks and sources of card alsa_card.platform-bytcr_rt5640.
( 8.182| 4.989) I: [pulseaudio] module-suspend-on-idle.c: Sink alsa_output.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__sink idle for too long, suspending ...
( 8.197| 0.014) I: [alsa-sink-1] alsa-sink.c: Device suspended...
( 8.197| 0.000) D: [pulseaudio] sink.c: alsa_output.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__sink: suspend_cause: (none) -> IDLE
( 8.197| 0.000) D: [pulseaudio] sink.c: alsa_output.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__sink: state: IDLE -> SUSPENDED
( 8.197| 0.000) D: [pulseaudio] source.c: alsa_output.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__sink.monitor: suspend_cause: (none) -> IDLE
( 8.197| 0.000) D: [pulseaudio] source.c: alsa_output.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__sink.monitor: state: IDLE -> SUSPENDED
( 8.198| 0.000) D: [pulseaudio] core.c: Hmm, no streams around, trying to vacuum.
( 8.198| 0.000) I: [pulseaudio] module-suspend-on-idle.c: Source alsa_input.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__source idle for too long, suspending ...
( 8.208| 0.009) I: [alsa-source-3] alsa-source.c: Device suspended...
( 8.208| 0.000) D: [pulseaudio] source.c: alsa_input.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__source: suspend_cause: (none) -> IDLE
( 8.208| 0.000) D: [pulseaudio] source.c: alsa_input.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__source: state: IDLE -> SUSPENDED
( 8.208| 0.000) D: [pulseaudio] core.c: Hmm, no streams around, trying to vacuum.
( 8.208| 0.000) D: [pulseaudio] module-udev-detect.c: /dev/snd/controlC0 is accessible: yes
( 8.208| 0.000) D: [pulseaudio] module-udev-detect.c: Resuming all sinks and sources of card alsa_card.platform-bytcr_rt5640.
( 8.300| 0.092) D: [pulseaudio] module-udev-detect.c: /dev/snd/controlC0 is accessible: yes
( 8.300| 0.000) D: [pulseaudio] module-udev-detect.c: Resuming all sinks and sources of card alsa_card.platform-bytcr_rt5640.
( 8.301| 0.000) D: [pulseaudio] module-udev-detect.c: /dev/snd/controlC0 is accessible: yes
( 8.301| 0.000) D: [pulseaudio] module-udev-detect.c: Resuming all sinks and sources of card alsa_card.platform-bytcr_rt5640.
( 13.808| 5.507) D: [pulseaudio] module-udev-detect.c: /dev/snd/controlC0 is accessible: yes
( 13.808| 0.000) D: [pulseaudio] module-udev-detect.c: Resuming all sinks and sources of card alsa_card.platform-bytcr_rt5640.
( 16.530| 2.722) D: [pulseaudio] module-alsa-card.c: Jack 'Headphone Jack' is now plugged in
( 16.531| 0.000) D: [pulseaudio] device-port.c: Setting port [Out] Headphones to status yes
( 16.531| 0.000) D: [pulseaudio] module-switch-on-port-available.c: Trying to switch to port [Out] Headphones
( 16.531| 0.000) D: [pulseaudio] alsa-ucm.c: Disable ucm device Speaker
( 16.534| 0.003) D: [pulseaudio] alsa-ucm.c: Enable ucm device Headphones
( 16.537| 0.002) I: [pulseaudio] sink.c: Changed port of sink 0 "alsa_output.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__sink" to [Out] Headphones
( 16.537| 0.000) D: [pulseaudio] module-alsa-card.c: Jack 'Headset Mic Jack' is now plugged in
( 16.538| 0.000) D: [pulseaudio] device-port.c: Setting port [In] HeadsetMic to status yes
( 16.538| 0.000) D: [pulseaudio] module-switch-on-port-available.c: Trying to switch to port [In] HeadsetMic
( 16.538| 0.000) D: [pulseaudio] alsa-ucm.c: Disable ucm device IN3-InternalMics
( 16.543| 0.004) D: [pulseaudio] alsa-ucm.c: Enable ucm device HeadsetMic
( 16.549| 0.006) I: [pulseaudio] source.c: Changed port of source 1 "alsa_input.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__source" to [In] HeadsetMic
( 19.609| 3.060) D: [pulseaudio] module-alsa-card.c: Jack 'Headphone Jack' is now unplugged
( 19.609| 0.000) D: [pulseaudio] device-port.c: Setting port [Out] Headphones to status no
( 19.609| 0.000) D: [pulseaudio] module-switch-on-port-available.c: Trying to switch away from port [Out] Headphones, found [Out] Speaker
( 19.609| 0.000) D: [pulseaudio] module-switch-on-port-available.c: Trying to switch to port [Out] Speaker
( 19.609| 0.000) D: [pulseaudio] alsa-ucm.c: Disable ucm device Headphones
( 19.611| 0.001) D: [pulseaudio] alsa-ucm.c: Enable ucm device Speaker
( 19.614| 0.002) I: [pulseaudio] sink.c: Changed port of sink 0 "alsa_output.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__sink" to [Out] Speaker
( 19.614| 0.000) D: [pulseaudio] module-alsa-card.c: Jack 'Headset Mic Jack' is now unplugged
( 19.614| 0.000) D: [pulseaudio] device-port.c: Setting port [In] HeadsetMic to status no
( 19.614| 0.000) I: [pulseaudio] core.c: default_source: alsa_input.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__source -> alsa_output.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__sink.monitor
( 19.614| 0.000) D: [pulseaudio] module-switch-on-port-available.c: Trying to switch away from port [In] HeadsetMic, found [In] IN3-InternalMics
( 19.615| 0.000) D: [pulseaudio] module-switch-on-port-available.c: Trying to switch to port [In] IN3-InternalMics
( 19.615| 0.000) D: [pulseaudio] alsa-ucm.c: Disable ucm device HeadsetMic
( 19.618| 0.003) D: [pulseaudio] alsa-ucm.c: Enable ucm device IN3-InternalMics
( 19.622| 0.003) I: [pulseaudio] source.c: Changed port of source 1 "alsa_input.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__source" to [In] IN3-InternalMics
( 19.622| 0.000) I: [pulseaudio] core.c: default_source: alsa_output.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__sink.monitor -> alsa_input.platform-bytcr_rt5640.HiFi__hw_bytcrrt5640__source

在 2016年11月10日星期四 UTC+8上午5:47:02,Povilas Staniulis写道:
That's a PulseAudio file. This is for regular Linux distros. Android x86
does not use PulseAudio.

On 2016.11.09 09:52, youling 257 wrote:
> /system/etc/alsa/bytcrrt5640.state ,can make sound work,
>
> but,i want to test this HiFi
> file,https://github.com/plbossart/UCM/commits/master
> --
> You received this message because you are subscribed to the Google
> Groups "Android-x86" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to android-x86...@googlegroups.com
Message has been deleted
Message has been deleted
Message has been deleted

youling 257

unread,
May 15, 2018, 1:58:29 PM5/15/18
to Android-x86
/system/vendor/bin/pulseaudio

/system/vendor/lib/pulse-11.0/modules/module-udev-detect.so

/system/usr/share/alsa/ucm/bytcr-rt5640-stereo-spk-in3-mic/

/data/local/run/udev/tags/systemd/+sound:card0

/data/local/run/udev/data/+acpi:80860F28:00

/data/local/run/udev/tags/seat/+sound:card0


build /lib/libasound.so.2 to find /system/usr/share/alsa/ucm/bytcr-rt5640-stereo-spk-in3-mic/ folder
build /lib/libsystemd.so.0、/lib/libudev.so.1 to find /data/local/run/udev/ folder
others shared object library from Ubuntu i386-linux-gnu.

android_x86:/ $ su
android_x86:/ # file /lib/*
/lib/firmware: symbolic link
/lib/ld-linux.so.2: ELF shared object, 32-bit LSB 386, BuildID=7a59ed1836f27b66ffd391d656da6435055f02f8, stripped
/lib/libBrokenLocale.so.1: ELF shared object, 32-bit LSB 386, BuildID=35ffc198cddbfd71f77e5b81df938a573dcf4a42, stripped
/lib/libFLAC.so.8: ELF shared object, 32-bit LSB 386, BuildID=a817728d752df2258bc5f65886c595751353cb9a, stripped
/lib/libanl.so.1: ELF shared object, 32-bit LSB 386, BuildID=93fa23b6386f051e9dd6c4923ebb2e5e396a19b3, stripped
/lib/libasound.so.2: ELF shared object, 32-bit LSB 386, BuildID=486e00a0cf39897c9664170d48595232144c3519, stripped
/lib/libblkid.so.1: ELF shared object, 32-bit LSB 386, BuildID=8625f21d138e38be315358962269be92422011af, stripped
/lib/libc.so.6: ELF shared object, 32-bit LSB 386, dynamic (/lib/ld-linux.so.2), BuildID=0e188ec5f09c187a7a92784d4b97aa251b15a93c, stripped
/lib/libcap.so.2: ELF shared object, 32-bit LSB 386, BuildID=de2012cc24084d587bc646a77961685a4d3729ad, stripped
/lib/libcidn.so.1: ELF shared object, 32-bit LSB 386, BuildID=8c62987defcc14d3bc78b7705251e43655f17004, stripped
/lib/libcrypt.so.1: ELF shared object, 32-bit LSB 386, BuildID=3ee77792ead3e40494742c43bb122d11bcd5c45b, stripped
/lib/libdbus-1.so.3: ELF shared object, 32-bit LSB 386, BuildID=2b4a00dd01ea61aca64dc17fafb90b4ee0e30d90, stripped
/lib/libdl.so.2: ELF shared object, 32-bit LSB 386, BuildID=aa9563aea0b78bfe0d12c59e9eae9c497c1ee27c, stripped
/lib/libgcrypt.so.20: ELF shared object, 32-bit LSB 386, BuildID=8d8cd0990f34cf9ea5b5b4266cd75e54fe536f82, stripped
/lib/libgpg-error.so.0: ELF shared object, 32-bit LSB 386, BuildID=8bd38006d539b64417f54c947ffd86f1affc217a, stripped
/lib/libltdl.so.7: ELF shared object, 32-bit LSB 386, BuildID=8ec09ad2856f4a4d659a725cd29f1fdf3a2f2a8c, stripped
/lib/liblz4.so.1: ELF shared object, 32-bit LSB 386, BuildID=5826c3f24954fb143dc586f3823784ac01c8eb68, stripped
/lib/liblzma.so.5: ELF shared object, 32-bit LSB 386, BuildID=9f2caeb5ef7814a2fbb0a5ed3f18a316afa77b89, stripped
/lib/libm.so.6: ELF shared object, 32-bit LSB 386, BuildID=75caac6b5f9202fc62a1d699b0a7382ea4b037f0, stripped
/lib/libmount.so.1: ELF shared object, 32-bit LSB 386, BuildID=5342ecd4ec947e5d651cb7fb4b4b2ba958a6b896, stripped
/lib/libnsl.so.1: ELF shared object, 32-bit LSB 386, BuildID=bf3109e7a95663ff5c13fc0bcaa0085d45839596, stripped
/lib/libnss_compat.so.2: ELF shared object, 32-bit LSB 386, BuildID=7a693ed12244b56d07d843ff36b799c68ff9f3d6, stripped
/lib/libnss_dns.so.2: ELF shared object, 32-bit LSB 386, BuildID=bc42f03b63dae2a1f49cb558a68c976bd4864bb3, stripped
/lib/libnss_files.so.2: ELF shared object, 32-bit LSB 386, BuildID=3a730423c228f48e35e0e62314846c9908c47b17, stripped
/lib/libnss_hesiod.so.2: ELF shared object, 32-bit LSB 386, BuildID=54bb3e40da763a8bf839cd32ce39b7a02cf52e9c, stripped
/lib/libnss_nis.so.2: ELF shared object, 32-bit LSB 386, BuildID=92de6ed35c8e3ea7ff5891b94c131678beac3a51, stripped
/lib/libnss_nisplus.so.2: ELF shared object, 32-bit LSB 386, BuildID=948c13faf027a7629cdd37afa6724b6d91cbb2a8, stripped
/lib/libntfs-3g.so.31: ELF shared object, 32-bit LSB 386, stripped
/lib/libogg.so.0: ELF shared object, 32-bit LSB 386, BuildID=63e22d92aa2e574d4520ab4c321045d86f96f110, stripped
/lib/libpcre.so.3: ELF shared object, 32-bit LSB 386, BuildID=ebdcf883a22cbb45592628b446664f448557fc40, stripped
/lib/libpthread.so.0: ELF shared object, 32-bit LSB 386, dynamic (/lib/ld-linux.so.2), BuildID=cf5416110d11ca4230ad70e8de3075e83456ba5c, not stripped
/lib/libresolv.so.2: ELF shared object, 32-bit LSB 386, BuildID=e4b8434fc9b95dfbded00b9d3ce785cb8d686130, stripped
/lib/librt.so.1: ELF shared object, 32-bit LSB 386, BuildID=0ec7bd603c4e191eed3f30dca54fbe9ae6d97b45, stripped
/lib/libselinux.so.1: ELF shared object, 32-bit LSB 386, BuildID=6aac07e69e6a0aed5436dd89555418ab66553d9e, stripped
/lib/libsndfile.so.1: ELF shared object, 32-bit LSB 386, BuildID=f86288fee8b49ea66bb11dfb40fdf6075cea14f1, stripped
/lib/libspeexdsp.so.1: ELF shared object, 32-bit LSB 386, BuildID=6e674ce4a91a6d9119f64b126e2bceb903025c3e, stripped
/lib/libsystemd.so.0: ELF shared object, 32-bit LSB 386, BuildID=9889f6d6fb94c0b784604b4d7282e8cb7b423993, stripped
/lib/libthread_db.so.1: ELF shared object, 32-bit LSB 386, BuildID=7e9a5182014abec0699dab4f972b3a9b3e8fc2ec, stripped
/lib/libudev.so.1: ELF shared object, 32-bit LSB 386, BuildID=2e13276b8e3b2157c7351c0f262956b1e69942bf, stripped
/lib/libutil.so.1: ELF shared object, 32-bit LSB 386, BuildID=b6aa88208c5d818ae9120cb78a936c2c0dc6b87e, stripped
/lib/libuuid.so.1: ELF shared object, 32-bit LSB 386, BuildID=a85e19c036b85231d35f6c0299f66526246cf512, stripped
/lib/libvorbis.so.0: ELF shared object, 32-bit LSB 386, BuildID=f719da82e2ddbb87b479e4d092d7202ec0dcea2a, stripped
/lib/libvorbisenc.so.2: ELF shared object, 32-bit LSB 386, BuildID=0c7d5441b6410c3dcf012a94c48838401be881ed, stripped
/lib/modules: symbolic link
android_x86:/ #

youling 257

unread,
May 15, 2018, 2:06:42 PM5/15/18
to Android-x86
all the files list

android_x86:/ # ls -alR /system/vendor/ > /sdcard/files.txt
android_x86:/ # ls -alR /system/usr/share/alsa/ucm/ > /sdcard/ucm.txt
android_x86:/ # ls -alR /data/local/run/ > /sdcard/run.txt

在 2018年5月16日星期三 UTC+8上午1:58:29,youling 257写道:
run.txt
files.txt
ucm.txt

youling 257

unread,
May 15, 2018, 2:18:49 PM5/15/18
to Android-x86
pulseaudio -vv --log-time,then killall audioserver,just use pulseaudio control headset jack,pulseaudio在后端控制,audioserver前端输出声音

Guneet Atwal

unread,
May 16, 2018, 4:06:10 AM5/16/18
to Android-x86
Can you explain a bit more  ? Where do i need to add systemd and pulseaudio ? alsa-lib and utils are already included in the source and works fine. 

youling 257

unread,
May 16, 2018, 5:48:52 AM5/16/18
to Android-x86
I used latest alsa-lib and alsa-utils

cd alsa-lib
libtoolize --force
aclocal
autoheader
automake --force-missing --add-missing
autoconf
./configure --prefix=/system/usr
# time make -j8
# time make install -j8

# echo "AM_INIT_AUTOMAKE([subdir-objects])" >> configure.ac
# echo "IT_PROG_INTLTOOL" >> configure.ac

cd /alsa-utils
libtoolize --force
aclocal
autoheader
touch config.rpath
automake --force-missing --add-missing -Wno-portability
autoconf
intltoolize --force
aclocal
./configure --prefix=/system --with-alsa-inc-prefix=/system/usr/include --with-alsa-prefix=/system/usr/lib

libtoolize --force
aclocal
autoheader
automake --force-missing --add-missing
touch build-aux/config.rpath
automake --force-missing --add-missing
autoconf
./configure --prefix=/system/vendor
apt-get install libsndfile-dev
apt-get install libcap-dev
apt install libudev-dev
apt install libdbus-1-dev
apt install libspeexdsp-dev
apt install libjack-dev
./configure --prefix=/system/vendor

在 2018年5月16日星期三 UTC+8下午4:06:10,Guneet Atwal写道:

youling 257

unread,
May 16, 2018, 5:58:41 AM5/16/18
to Android-x86
I make load-module module-udev-detect working on Androidx86 !
/system/vendor/etc/pulse/default.pa

#!/system/vendor/bin/pulseaudio -nF
#
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.

# This startup script is used only if PulseAudio is started per-user
# (i.e. not in system mode)

.fail

### Automatically restore the volume of streams and devices
#load-module module-device-restore
#load-module module-stream-restore
#load-module module-card-restore

### Automatically augment property information from .desktop files
### stored in /usr/share/application
#load-module module-augment-properties

### Should be after module-*-restore but before module-*-detect
load-module module-switch-on-port-available

### Load audio drivers statically
### (it's probably better to not load these drivers manually, but instead
### use module-udev-detect -- see below -- for doing this automatically)
#load-module module-alsa-sink
#load-module module-alsa-source device=hw:bytcrrt5640
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
#load-module module-null-sink
#load-module module-pipe-sink
#load-module module-alsa-card

### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect
.else
### Use the static hardware detection module (for systems that lack udev support)
load-module module-detect
.endif

### Automatically connect sink and source if JACK server is present
#.ifexists module-jackdbus-detect.so
#.nofail
#load-module module-jackdbus-detect channels=2
#.fail
#.endif


### Load several protocols
#.ifexists module-esound-protocol-unix.so
#load-module module-esound-protocol-unix
#.endif
#load-module module-native-protocol-unix

### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
#load-module module-esound-protocol-tcp
#load-module module-native-protocol-tcp

### Load the RTP receiver module (also configured via paprefs, see above)
#load-module module-rtp-recv

### Load the RTP sender module (also configured via paprefs, see above)
#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
#load-module module-rtp-send source=rtp.monitor

### Load additional modules from GSettings. This can be configured with the paprefs tool.
### Please keep in mind that the modules configured by paprefs might conflict with manually
### loaded modules.
#.ifexists module-gsettings.so
#.nofail
#load-module module-gsettings
#.fail
#.endif


### Automatically restore the default sink/source when changed by the user
### during runtime
### NOTE: This should be loaded as early as possible so that subsequent modules
### that look up the default sink/source get the right value
#load-module module-default-device-restore

### Automatically move streams to the default sink if the sink they are
### connected to dies, similar for sources
#load-module module-rescue-streams

### Make sure we always have a sink around, even if it is a null sink.
#load-module module-always-sink

### Honour intended role device property
#load-module module-intended-roles

### Automatically suspend sinks/sources that become idle for too long
load-module module-suspend-on-idle

### If autoexit on idle is enabled we want to make sure we only quit
### when no local session needs us anymore.
#.ifexists module-console-kit.so
#load-module module-console-kit
#.endif
#.ifexists module-systemd-login.so
#load-module module-systemd-login
#.endif

### Enable positioned event sounds
#load-module module-position-event-sounds

### Cork music/video streams when a phone stream is active
#load-module module-role-cork

### Modules to allow autoloading of filters (such as echo cancellation)
### on demand. module-filter-heuristics tries to determine what filters
### make sense, and module-filter-apply does the heavy-lifting of
### loading modules and rerouting streams.
#load-module module-filter-heuristics
#load-module module-filter-apply

### Make some devices default
#set-default-sink output
#set-default-source input


在 2018年5月16日星期三 UTC+8下午4:06:10,Guneet Atwal写道:

youling 257

unread,
May 16, 2018, 6:46:12 AM5/16/18
to Android-x86
git clone https://github.com/systemd/systemd.git
cd systemd/src
grep -l -r run/udev *
  libsystemd/sd-device/device-enumerator.c
  libsystemd/sd-device/device-private.c
  libsystemd/sd-device/sd-device.c
  libudev/libudev-monitor.c
  libudev/libudev-queue.c

 src/libsystemd/sd-device/device-enumerator.c | 2 +-
 src/libsystemd/sd-device/device-private.c | 8 ++++----
 src/libsystemd/sd-device/sd-device.c | 2 +-
 src/libudev/libudev-monitor.c | 2 +-
 src/libudev/libudev-queue.c | 6 +++---
 5 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/libsystemd/sd-device/device-enumerator.c b/src/libsystemd/sd-device/device-enumerator.c
index be6e82d81..fc79bf148 100644
--- a/src/libsystemd/sd-device/device-enumerator.c
+++ b/src/libsystemd/sd-device/device-enumerator.c
@@ -612,7 +612,7 @@ static int enumerator_scan_devices_tag(sd_device_enumerator *enumerator, const c
         assert(enumerator);
         assert(tag);
 
- path = strjoina("/run/udev/tags/", tag);
+ path = strjoina("/data/local/run/udev/tags/", tag);
 
         dir = opendir(path);
         if (!dir) {
diff --git a/src/libsystemd/sd-device/device-private.c b/src/libsystemd/sd-device/device-private.c
index de74b3be4..ee2e9534a 100644
--- a/src/libsystemd/sd-device/device-private.c
+++ b/src/libsystemd/sd-device/device-private.c
@@ -188,7 +188,7 @@ static int device_read_db(sd_device *device) {
         if (r < 0)
                 return r;
 
- path = strjoina("/run/udev/data/", id);
+ path = strjoina("/data/local/run/udev/data/", id);
 
         r = read_full_file(path, &db, &db_len);
         if (r < 0) {
@@ -904,7 +904,7 @@ static int device_tag(sd_device *device, const char *tag, bool add) {
         if (r < 0)
                 return r;
 
- path = strjoina("/run/udev/tags/", tag, "/", id);
+ path = strjoina("/data/local/run/udev/tags/", tag, "/", id);
 
         if (add) {
                 r = touch_file(path, true, USEC_INFINITY, UID_INVALID, GID_INVALID, 0444);
@@ -986,7 +986,7 @@ int device_update_db(sd_device *device) {
         if (r < 0)
                 return r;
 
- path = strjoina("/run/udev/data/", id);
+ path = strjoina("/data/local/run/udev/data/", id);
 
         /* do not store anything for otherwise empty devices */
         if (!has_info && major(device->devnum) == 0 && device->ifindex == 0) {
@@ -1084,7 +1084,7 @@ int device_delete_db(sd_device *device) {
         if (r < 0)
                 return r;
 
- path = strjoina("/run/udev/data/", id);
+ path = strjoina("/data/local/run/udev/data/", id);
 
         r = unlink(path);
         if (r < 0 && errno != ENOENT)
diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c
index 7726cdb3a..9343196c6 100644
--- a/src/libsystemd/sd-device/sd-device.c
+++ b/src/libsystemd/sd-device/sd-device.c
@@ -1312,7 +1312,7 @@ int device_read_db_aux(sd_device *device, bool force) {
         if (r < 0)
                 return r;
 
- path = strjoina("/run/udev/data/", id);
+ path = strjoina("/data/local/run/udev/data/", id);
 
         r = read_full_file(path, &db, &db_len);
         if (r < 0) {
diff --git a/src/libudev/libudev-monitor.c b/src/libudev/libudev-monitor.c
index 482baea14..101665a15 100644
--- a/src/libudev/libudev-monitor.c
+++ b/src/libudev/libudev-monitor.c
@@ -178,7 +178,7 @@ struct udev_monitor *udev_monitor_new_from_netlink_fd(struct udev *udev, const c
                  * We do not set a netlink multicast group here, so the socket
                  * will not receive any messages.
                  */
- if (access("/run/udev/control", F_OK) < 0 && !udev_has_devtmpfs(udev)) {
+ if (access("/data/local/run/udev/control", F_OK) < 0 && !udev_has_devtmpfs(udev)) {
                         log_debug("the udev service seems not to be active, disable the monitor");
                         group = UDEV_MONITOR_NONE;
                 } else
diff --git a/src/libudev/libudev-queue.c b/src/libudev/libudev-queue.c
index f06f2224b..26c248e95 100644
--- a/src/libudev/libudev-queue.c
+++ b/src/libudev/libudev-queue.c
@@ -158,7 +158,7 @@ _public_ unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *ud
  **/
 _public_ int udev_queue_get_udev_is_active(struct udev_queue *udev_queue)
 {
- return access("/run/udev/control", F_OK) >= 0;
+ return access("/data/local/run/udev/control", F_OK) >= 0;
 }
 
 /**
@@ -171,7 +171,7 @@ _public_ int udev_queue_get_udev_is_active(struct udev_queue *udev_queue)
  **/
 _public_ int udev_queue_get_queue_is_empty(struct udev_queue *udev_queue)
 {
- return access("/run/udev/queue", F_OK) < 0;
+ return access("/data/local/run/udev/queue", F_OK) < 0;
 }
 
 /**
@@ -237,7 +237,7 @@ _public_ int udev_queue_get_fd(struct udev_queue *udev_queue) {
         if (fd < 0)
                 return -errno;
 
- r = inotify_add_watch(fd, "/run/udev" , IN_DELETE);
+ r = inotify_add_watch(fd, "/data/local/run/udev" , IN_DELETE);
         if (r < 0) {
                 r = -errno;
                 close(fd);
-- 
2.17.0

apt install meson
apt install libmount-dev
time make -j8
time make install

just need libsystemd.so.0 and libudev.so.1

在 2018年5月16日星期三 UTC+8下午5:48:52,youling 257写道:

Guneet Atwal

unread,
May 16, 2018, 6:48:05 AM5/16/18
to Android-x86
thanks alot for the explanation but what about systemd ? why do we need it ? 

youling 257

unread,
May 16, 2018, 6:54:41 AM5/16/18
to Android-x86
kernel config,CONFIG_DEVTMPFS=y,CONFIG_DEVTMPFS_MOUNT=y

Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.17.0-rc5-android-x86_64+ i686)

 * Documentation: https://help.ubuntu.com

Ubuntu 12.04 LTS end-of-life is April 25, 2017 -- Upgrade your Precise systems!
 $ sudo do-release-upgrade -m server

0 个可升级软件包。
0 个安全更新。

*** 需要重启系统 ***
Last login: Wed May 16 12:16:49 2018 from 127.0.0.1
youling257@localhost:~$ su
密码:
root@localhost:/home/youling257# rm -r /run/udev/
root@localhost:/home/youling257# /etc/init.d/udev start

android_x86:/ $ su
android_x86:/ #
android_x86:/ # busybox cp -f -a /data/local/mnt/run/udev/ /data/local/run/

/data/local/mnt is chroot environment.

you can copy your Ubuntu/debian/archlinux /run/udev to Androidx86 /data/local folder.


youling 257

unread,
May 16, 2018, 6:57:23 AM5/16/18
to Android-x86
if you know Ubuntu/debian other linux /run/udev,i change it to /data/local/run/udev,just need libudev.so.1 and libsystemd.so.0,needn't systemd.

在 2018年5月16日星期三 UTC+8下午6:48:05,Guneet Atwal写道:
Reply all
Reply to author
Forward
0 new messages