On Sat, Apr 06, 2013 at 01:39, Zé Loff wrote:

>> The pc speaker may or may not be wired up through your sound card.
>>
> 
> It happens with headphones too... Or do you mean that in some cases the
> preamp is completely bypassed (honest question)?

it's complicated. :)

>From what I've seen, I think on some machines the beep device is
connected both to the builtin speaker *and* to the sound card. Then
Windows or whatever will mute the speaker (ie, keyboard.bell=0) but
enable it (or fake it) via the sound card. Then again, I don't think
Windows makes many PC speaker noises these days.

I've used machines (from various eras) where I could not stop the
builtin speaker from beeping and others where I could not get it to
beep, with/and/or/despite whatever the sound card was doing. :)

I agree it might be nice if mixerctl worked on the pc speaker, but I
am not at all surprised that it doesn't.

FWIW, I just tested on my Thinkpad X201s. mixerctl works with the
beep using outputs.master and without trying to mess with any of the
other settings. But I always run with keyboard.bell=0 normally.

However, there are oddities. mixerctl says spkr_source=dac-2:3, but if
I change outputs.master.slaves to just that, nothing changes. If I
change slaves to just dac-0:1, then outputs.master controls the volume
of both music and beeps. The hardware mute button doesn't work for
headphones, but does work for the speakers. Actually, it's stranger.
The mute button mutes the beep with headphones, but not music. It
mutes both when going through the speaker. However the beep is
attached to this system, it is not as simple as a single dac input.

I don't think there's an easy answer here, because I don't think
there's universal agreement about what the desired behavior is, and
then there's a huge variation in hardware on top of that, so it's hard
to say if or where any bugs may be.

Reply via email to