smithmcgriff / Fedora-on-pinebookpro

15 stars 1 forks source link

How to fix sound with just the alsamixer CLI app, headphone plug event #7

Open westurner opened 4 years ago

westurner commented 4 years ago

I was able to get stereo sound from the speakers and headphones without installing gnome-alsamixer with, IIRC:

  alsamixer
  # <F6> ("Select sound card")
  # <Down> (Select "rockchip,es8316")
  # <Enter>
  # <Right> x 24 (Until "DAC Stereo Enhancement" is selected)
  # <Up> x 7 (100% seems to make the right channel as loud as the left)
  # <Right> x 4 (Until "Left Headphone Mixer Left DAC" is selected)
  # <m> (To unmute)
  # <Right> x 3 (Until "Right Headphone Mixer Right DAC" is selected)
  # <m>  (To unmute)
  # <Esc>
westurner commented 4 years ago

From https://forum.pine64.org/showthread.php?tid=9046&pid=63841#pid63841 :

After flashing to EMMC I immediately upgraded to 32 beta. This went well minus the kernel being stuck on the older version included with the original release presented here. I would like to update the boot loader to use the newer kernel from 32 beta, as this includes the bits necessary to get the ALSA sound driver to split the headphones and built-in speakers from either both playing or none playing. Apparently Manarjo also has a solution to the broken headphone hot-plug jack as well. Sadly, the lack of updated kernel blocks usage of sound in public on this distro.

3.5mm jack hotplug also works w/ the default Debian install. I've updated everything; so I don't recall whether it worked out of the box with the default Debian install.

Does anyone know how to update the bootloader? Alternatively, can we get a 32 build (even if beta?)

westurner commented 4 years ago
westurner commented 4 years ago

The manjaro pinebookpro-audio package appears to handle the headphone jack [un]plugged ACPI event: https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-audio

[Unit]
Description=Sync initial headphone plug state

[Service]
Type=oneshot
ExecStart=/usr/bin/sync.sh
RemainAfterExit=true

[Install]
WantedBy=multi-user.target

case "$3" in plug) amixer sset Speaker off amixer sset 'Playback Polarity' Normal ;; unplug) amixer sset 'Playback Polarity' 'R Invert' amixer sset Speaker on ;; esac ``