Audio problems in modern PUPs need developer's attention

Problems and successes with specific brands/models of computer audio hardware
Message
Author
gcmartin

Audio problems in modern PUPs need developer's attention

#1 Post by gcmartin »

Today, judging from some of the forum posts, there are issue with audio in PUPs. They are found across the spectrum of modern PUP distros. Even though, seemingly, problems had diminished in the past, we are now being confronted with a rise.

I think I know why, but, as in many cases, I would defer to the developers for their ability to get us to a easy, simple approach that would be generated in all WOOFCE PUPs rollouts.

IMHO, I use to see a consistent approach, no matter which distro, that booted to the desktop with a barking announcement. I believe this was an excellent behavior for the PUP pristine boots so that the user not only see their desktop, but know, via barks, that sound is also working. But, some members spoiled audio when complaints that they did not like the barks. Slowly, but surely, audio slipped from an automatic in system boots to what has occurred with many PUPs relying on the user community to "fix" audio issues after the system boots.

As such, ease of use has slipped because of this and the system's use is not a sporadic discover mission depending which developer released his distro.

So, this thread is an appeal for PUP developer work together to provide a consistent implementation for audio in PUPs going forward. This means, if necessary, that a booting PUP barks or provides some audio so that a system is ready, similar to what the old PUPs use to make happen at boot. This reduces the hunt issues that are time consuming because of this feature change.

I believe each developer sees this issue a little differently too. So, it is hoped that PUP developers use this thread as a way to convey an acceptable solution that could rollout in future WOOFCE PUPs. If the solution is consistent then it becomes easy to document howto based upon some consistent agreed to arrangement that is release. This would have more people capable of providing guidance as well if the audio implementation is the same for the modern PUPs. And, a consistent agreed to audio approach would cut down support hours on the part of the developers because a common strategy would have common solutions that would reduce user questions as well as having more members knowledgible in use of the common audio service.

This is NOT a request for a specific program for audio. It is a request for a common setup and start for the audio device built into most every motherboard today.

Thus, developers working together for a common approach they feel would reduce the user issues seen.

gcmartin

Some of the problems I am seeing

#2 Post by gcmartin »

To start this off, I will highlight some observations I am seeing:
  • The usual barks of old are no longer present
  • The volume icon at pristine boot is not working
  • The right-click "Full Window" to Retrovol shows a blank screen instead of the default motherboard sound card facilities already selected
  • The right-click "Config Window" to Retrovol is markedly different as the old defaults are not already loaded either.
  • It is confused as to whether Alsa should be used or Retrovol should be used
  • HDMI sound seems to not be happening across the board (this may not be a problem but, no one seems to be willing to share if their HDMI audio is working or not. Thus lack of experience may the issue here or firmware may be an issue for some motherboards)
  • Members requesting help are confused in how to resolve sound. This is especially true for newer users coming from MS/Apple
I am sure I am missing some other problems that may be related.
Last edited by gcmartin on Thu 08 Sep 2016, 09:39, edited 1 time in total.

gcmartin

MSCW is a useful tool, but ...

#3 Post by gcmartin »

Another item that is indirectly/directly related is Multiple Sound Card Wizard (MSCW). I have seen 5 different screens, depending on which PUP distro I boot, when using the PUP Menu to launch it. Thus, seems that developers are not using a common app for this.

I like the one found in Slacko64-7alpha because it tries to provide steps in it use. But, there is no help or mouse-over for guidance of the steps it intends; or, there are no counter-measures/where-to-look if a step does not produce results. Even as I may find this appealing, this does not mean that others will feel it appropriate to adopt; so this is where the development community could evaluate what they feel is best tool to lead the users do that support questions are not generated.

There are several ways a pristine boot of a PUP can reach speakers attached. Motherboard sound card to speakers over a speaker cable, over HDMI to TV or monitor speakers, or USB to speaker cable.

Bluetooth speakers, of course, is a different discussion and usually is NOT addressed in pristine boots.

User avatar
Burn_IT
Posts: 3650
Joined: Sat 12 Aug 2006, 19:25
Location: Tamworth UK

#4 Post by Burn_IT »

Puppy IS a community project.
Rather than point out the problems, how about going about solving them??
"Just think of it as leaving early to avoid the rush" - T Pratchett

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#5 Post by rufwoof »

Sound is a dark-art to me. With puppy once I do manage to get it working I tend to remaster a read-only puppy version so that it continues to work. Which is fine until you plug another sound device into a different USB ... when prior saved settings can be 'lost'.

The solution for me was to move to pulse-audio that as I understand it front-ends alsa ...etc. Works great for me, I install pavucontrol and use that as the sound icon in the panel/tray. When opened and with sound playing you get to visually see which channels are playing via a pulsating sound meter, and just have to select that channels output choices until you hear the sound as well. The downside is that pulseaudio + pavucontrol is quite a large installation (program), so not 'puppy-like' - but from my perspective that isn't a issue (disk space is cheap nowadays and I frugally boot from HDD).

Having 'adopted' pulseaudio I now have Skype incoming calls/contacts ring the PC (or external) speakers whilst on answering (or calling) have sound input/output from/to USB headphones ... which can also be listening to a youtube at the same time, and playing the radio/film/whatever sound to external speakers ....etc. Basically ..... how I want/expect sound to work ... and all accessed/controlled via a single interface (pavucontrol).

As to barks ... or as per some time back burps playing on startup ... not everyone likes those. A simple configuration choice for startup sound would be the most appropriate IMO. Start up sound ... none, bark, burp, ... whatever type additional system setup interface/program.

Attached image shows just part of pavucontrol when three different things are playing sounds (in this case .... mplayer opened, firefox playing a youtube, skype echo test call in progress)
Attachments
s.jpg
(38.83 KiB) Downloaded 1149 times

bark_bark_bark
Posts: 1885
Joined: Tue 05 Jun 2012, 12:17
Location: Wisconsin USA

#6 Post by bark_bark_bark »

while pulseaudio was originally created to solve the issue of setting up HDMI audio, pulseaudio later became the equivalent of malware .
....

Robert123
Posts: 362
Joined: Fri 20 May 2016, 05:22
Location: Pacific

#7 Post by Robert123 »

bark_bark_bark wrote:while pulseaudio was originally created to solve the issue of setting up HDMI audio, pulseaudio later became the equivalent of malware .
Totally with you on that one Barks - pulseudio is ghastly i hate the fact it is now in slackware.
Devuan Linux, Stardust 013 (4.31) updated [url]https://archive.org/details/Stardustpup013glibc2.10[/url]
s57(2018)barebone[url]https://sourceforge.net/projects/puppy-linux-minimal-builds/files/s57%282018%29barebones.iso/download[/url]

anikin
Posts: 994
Joined: Thu 10 May 2012, 06:16

#8 Post by anikin »

Burn_IT wrote:Puppy IS a community project.
Rather than point out the problems, how about going about solving them??
I don't always agree with gcmartin, but he's got a valid point here. You can't solve a problem without identifying it first. That's what he's trying to do ... whether his effort will generate much interest is another issue, though.

As for pulseaudio, it's a separate topic and has nothing to do with sound problems in Puppy ... in my primitive understanding, we should "thank" Microsoft for its proliferation in Linux.
support.skype.com wrote:... However, it's possible that your sound system may not be compatible with Skype, and if so you will need to configure them to work with Skype.

Skype for Linux supports the PulseAudio and ALSA sound systems. As of version 4.3, the ALSA sound system is no longer supported without PulseAudio.

To use PulseAudio with Skype:

Download and install the pavucontrol package ...
https://support.skype.com/en/faq/FA1096 ... -for-linux

stemsee

#9 Post by stemsee »

Having a fairly modern lenovo with 5th gen core i7, on booting Linux I find that hdmi is hw0 and analogue is hw1. On my other laptops it is the reverse. I have to run mutiple soundcard wizard and select the correct one for laptop speakers. I also noticed that selecting hdmi 3 played through the tv, not hdmi 1. So a script to play back a sound through all connected sound output channels in sequence would help configure. If the script could also detect its own sound using the mic it could detect and mark which output devices were active/working!

I might have a go! But my efforts are maybe too amateurish to be widely adopted! So maybe not.

Code: Select all

for sound in `cat /proc/asound/cards`
do
while `play -d $sound -t code.pcm` do
listen to mic
does mic in match code.pcm +or-
if it does mark $sound as good
if not mark $sound as unknown quality/state
done

jlst

#10 Post by jlst »

When it comes to HDMI a solution can be a bit tricky or outright insane. It really depends on how modern and obscure the hardware is, kernel version, etc.

For users to provide some info, they use the output of aplay -L, aplay -l, lspci -nnk (to have a glimpse of the hardware), they can also provide the video card model, in case of using the HDMI output of a graphics card, etc... and don't forget to attach /var/log/messages .. this file provides an overview of how the OS behaves.

I see people talk about pulseaudio and pavucontrol. If that's the easy way, then so be it... I use puppy exclusively, so i'm interested in a fully functional puppy... of couse this is just my opinion....

I agree that there must be a sound when X starts on first boot.... although i don't like barkings, to be honest i don't like dogs either (i like cats). maybe a fashionable sound such as piano keystrokes..

Pelo

i'm interested in a fully functional puppy.

#11 Post by Pelo »

"so i'm interested in a fully functional puppy... of course this is just my opinion." It's mine too.
When your buy a car, your are the driver, not the mechanics. What you want is to move with it, not to spend you time in looking for how to repair, searching solutions in reviews written in japanese (or in English)
Devs are 100, users are 1,000,000
Last edited by Pelo on Sat 10 Sep 2016, 06:01, edited 2 times in total.

jamesbond
Posts: 3433
Joined: Mon 26 Feb 2007, 05:02
Location: The Blue Marble

#12 Post by jamesbond »

If you have multiple soundcards (or soundcards with multiple output - to analog speaker and to HDMI), it is *impossible* to get it right at first boot for all cases.

Firstly - how to check which one of the outputs are connected? Is it analog speaker? Is it HDMI? Is it both?

Secondly, how to use that outputs? Output only to the first output? Output only to the second output? Duplicate sounds to both outputs?

Thirdly - which one is the first output? This boot you have HDMI as first output, next boot you get analog output as the first output. There is no certainty.

As you can see these are questions with no easy answers (from the point of the computer). Things will get much more compllicated once you add things like "I also have USB audio dongle attached, I also have USB midi-receiver attached, etc etc".

Is there ways to fix this problems? Yes, with user intervention (the user must tell the system of his configuration/preference).
Is it right to expect sounds to work on first boot? Yes, for "general use cases (the 80/20 rule)."
Is it reasonable to expect sounds to work in *all* cases at first boot? No.

=====

My contribution to this problem (the 3rd one):
---
There are two ways to set the "default" output: the kernel way, and the ALSA way. The kernel way is done by specifying parameters when sound drivers are loaded. The ALSA way is by editing /etc/asound.conf (or ~/.asoundrc) and specifying pcm.!default.

The methods are independent of each other. Many have discussed the ALSA way of fixing things (MSCW etc) so I'll just highlight the less-often discussed way: the kernel way.

Here is my (hardware-specific) way to ensure that my analog speaker output is *ALWAYS* the first output, so that alsa hw:0,0 is always the analog speaker: by adding this into /etc/modprobe.d/alsa-config.conf

Code: Select all

options snd-hda-intel id=PCH index=0
options snd-hda-intel id=HDMI index=1
Don't copy my lines above as is, this is very HARDWARE-SPECIFIC and won't work for your hardware, but you should know what to do by looking at /proc/asound/cards (here's mine:)

Code: Select all

 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xb3814000 irq 50
 1 [HDMI           ]: HDA-Intel - HDA Intel HDMI
                      HDA Intel HDMI at 0xb3810000 irq 53
I hope this can stir the minds of the talented developers that lurk here.

EDIT: This alsa-capabilities script from https://lacocina.nl/detect-alsa-output-capabilities may be useful for troubleshooting. This script is included in in recent versions of Fatdog.

Good luck.
Fatdog64 forum links: [url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Latest version[/url] | [url=https://cutt.ly/ke8sn5H]Contributed packages[/url] | [url=https://cutt.ly/se8scrb]ISO builder[/url]

User avatar
Packetteer
Posts: 73
Joined: Sat 12 May 2012, 19:33
Location: Long Island Ny

#13 Post by Packetteer »

Hi All
Personally I like the barks so I put into the startup directory
the following simple script.

Code: Select all

#!/bin/sh
aplay /usr/share/audio/2barks.wav
So each time my puppy Slacko starts up the pc barks.

Best Regards
John

gcmartin

Using HDMI interface on pristine PUP boots

#14 Post by gcmartin »

@Jlst, @StemSee and @Jamesbond are echoing the concerns we have in today's home arena. And, they are framing the concern of establishing a path to system sound speakers. When I mention audio, please understand I am talking about sound that users hear; this means both digital and audio signaling to the speakers. Thus, my use of the word "audio" in this thread means sound heard by users.

Question
Here's an idea for development: How about on pristine boot it is discovered that the primary monitor is HDMI, then audio attention focuses there. In most cases (probably over 90% of home users) that HDMI monitor is a TV, so could the pristine boot select the digital TV interface as a primary audio device? Is it that simple?

The idea is that for any home user, experience PUP/Linux/Windows/Apple user or not, on the pristine boot where HDMI is primary, we might have a "safe" starting selection of routing sound there.

After system starts (2barks or something else), the user could then proceed to change thing. This way, the user doesn't think something wrong with the distro as it starts on HDMI exactly as PUPs have been starting on VGA based motherboards with sound for many years.

Primarily seeking a standard way that reduces user concerns when starting his system.

There are other consideration, I know, as the technology has been changed with the standards upgrades to HDMI, to DVI, to USB-C we are starting to see these changes manifest themselves in home use. I think it would be a bit agressive to want to tackle DVI or USB-C connections, but, I do think that addressing the 90+ percentage of home users who will use some cheap TVs (all now have HDMI) for PUP monitor would be one step in the right direction, IMHO.

So something, or anything, intends to reduce the user effort which certainly reduces the development support if it, like our current VGA systems support, has a similar pristine start. This means that on system starts little to no questions of audio results and when they do, many users provide guidance to those experiencing the problem on those common PUP distros in the kennel.

HDMI TV use is a rapid advancement in desktop use across the PC industry; especially in the home market segments. MS seems to have addressed this, but ...

User avatar
Billtoo
Posts: 3720
Joined: Tue 07 Apr 2009, 13:47
Location: Ontario Canada

Audio problems in modern PUPs need developer's attention

#15 Post by Billtoo »

I'm running puppex-Slacko64 from a SDHC card on my macmini, it's
connected to a 32" TV and sound is coming from the TV speakers.
Screenshot shows the setup.
Attachments
soundsetup.jpg
(91.93 KiB) Downloaded 885 times
Screenshot.jpg
(92.11 KiB) Downloaded 887 times

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#16 Post by greengeek »

jamesbond wrote:Thirdly - which one is the first output? This boot you have HDMI as first output, next boot you get analog output as the first output. There is no certainty.
I am interested in pursuing why this occurs. 99% of the time I boot into a 32bit puppy that has no savefile and is absolutely and utterly identical at every boot.

Yet circumstances within the hardware obviously change because occasionally my mouse and touchpad do not work correctly. I can only assume that conditions change from boot to boot at hardware level - but other than battery state/ACPI what else can it be???

And the problem of different audio cards being detected first must be related to a similar issue - hardware conditions are not 100% the same at every boot - even when we think they are.

I could understand it if different usb devices were plugged in as that could alter which driver is loaded, and alter bus timing etc - but what if there are no extra devices plugged in - why should one boot be different from another??

Now that I am sporadically booting 64 bit Puppies I am starting to see different audio card behaviour - I can't tell yet if it is just that newer hardware includes a greater number of audio interfaces (ie not just one soundblaster style card) or if there is something unstable within the init of Puppy. Or maybe it's just early days for 64bit puppies...

User avatar
Billtoo
Posts: 3720
Joined: Tue 07 Apr 2009, 13:47
Location: Ontario Canada

udio problems in modern PUPs need developer's attention

#17 Post by Billtoo »

This is puppex-Slackware64 installed to a 32gb usb-3.0 flash drive, it
is connected to the 32" TV with a HDMI cable plugged into the HDMI port
on nvidia graphics card and the HDMI port on the TV.

video-info-glx 1.5.3 Sat 10 Sep 2016 on PuppEX Slack64 6.3.2 Linux 4.7.2-x86_64-puppex x86_64
0.0 VGA compatible controller: NVIDIA Corporation GF108 [GeForce GT 430] (rev a1)
oem: NVIDIA
product: GF108 Board - 1071v1p1 Chip Rev

X Server: Xorg Driver: vesa
X.Org version: 1.14.3
dimensions: 1920x1080 pixels (707x392 millimeters)
depth of root window: 24 planes

direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 430/PCIe/SSE2
OpenGL core profile version string: 4.3.0 NVIDIA 367.35

Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
Core 0: @2003 1: @2003 MHz

The sound setup in the screenshot uses the TV speakers when running
Firefox, running vlc or smplayer need sound settings in the preferences
for each application to get sound from the TV speakers.
Attachments
hdminvidia.jpg
(96.62 KiB) Downloaded 737 times

stemsee

#18 Post by stemsee »

So to me it seems that the only thing that needs doing is to write a script to add preferred entries to /etc/alsa.conf

This are the hardware and config settings on my JLH.
Attachments
alsaconf.png
(123.01 KiB) Downloaded 685 times
snd.png
(48.12 KiB) Downloaded 434 times

anikin
Posts: 994
Joined: Thu 10 May 2012, 06:16

#19 Post by anikin »

I think these two preliminary steps should be taken before we proceed any further:

1) Make sure the alsa-utils package is *fully* installed in woof-ce.
http://murga-linux.com/puppy/viewtopic. ... 611#901611
It's unbelievable, that all these years Puppy had a broken, crippled alsa-utils package!
Finally, jist is trying to push it through ...
https://github.com/puppylinux-woof-CE/woof-CE/pull/746
However, the gatekeepers don't seem to be overly excited and enthusiastic.
It should be added here, with all due respect, there's no need to have that Multiple Sound Card Wizard.
Alsamixer already has this functionality baked-in! Just hit F6 and it will be staring right in your face!

2) Let's ditch MSCW as well as Retrovol. They are misleading and confusing applications. They bring no value to the user. The whole Linux world uses the proper audio tool - *alsamixer*, why shouldn't we?

Sailor Enceladus
Posts: 1543
Joined: Mon 22 Feb 2016, 19:43

#20 Post by Sailor Enceladus »

anikin wrote:2) Let's ditch MSCW as well as Retrovol. They are misleading and confusing applications. They bring no value to the user. The whole Linux world uses the proper audio tool - *alsamixer*, why shouldn't we?
You're suggesting that we all do everything inside the alsamixer terminal application inside urxvt with the keyboard, and remove the fancy looking GUIs and clickable buttons that match with the interface? What about switching to a text browser to match?

Post Reply