There is where I am plugging in my headphones.
Another green jack is used in the back of my computer for my Logitech sound system.
No sound is reaching my headphones.
Do I have to unplug my Logitech jack in order to hear thru the headphones?
There is where I am plugging in my headphones.
Another green jack is used in the back of my computer for my Logitech sound system.
No sound is reaching my headphones.
Do I have to unplug my Logitech jack in order to hear thru the headphones?
Is music coming out of the logi desktop speakers? If yes, do they have a headphone jack?
No. The only sound I can get is out of the TV speakers.
If you plug the speakers in the jack that is intended for headphones, do you still get sound out of the speakers?
No, not out of my Logitech speakers.
My sound hardware.
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [LG TV]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: ALC887-VD Analog [ALC887-VD Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 1: ALC887-VD Digital [ALC887-VD Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
This very frustrating.
Card 1, device 0 should give you the Analog output you want.
The issue is:
Sound Preferences is only letting you choose one or the other.
I bet if you click on the bottom one (non-HDMI), you will likely get your headset sound.
I don't know if there is any way to have both fed simultaneously, or if you can only "enable" one at a time.
It did not help.
I am taking a break from this issue.
Start alsamixer, text based. Move to the right to Auto-Mute. Use the down arrow to disable both Speakers and Headphone. The text should read, "Disabled Disabled"
Then give some volume to both speakers and headphone and test.
I think you need to select another card, the current one shows HDMI
That's what I said in my last posting.
Press F6
to select a different sound card.
If you want PipeWire to send audio to two devices at the same time, you'll need to use the 'combine steam' module, from the documentation at https://docs.pipewire.org/page_module_combine_stream.html:
The combine stream module can make:
- a new virtual sink that forwards audio to other sinks
This is what you need!
You can experiment with this via pw-cli using the load-module
command, OR you can write a configuration file e.g. ~/.config/pipewire/pipewire.conf.d/test-combine-sink.conf
:
context.modules = [
{ name = libpipewire-module-combine-stream
args = {
combine.mode = sink
node.name = "combine_sink"
node.description = "My Combine Sink"
combine.latency-compensate = false
combine.props = {
audio.position = [ FL FR ]
}
stream.props = {
}
stream.rules = [
{
matches = [
{
# node.name = 'regex here'
media.class = "Audio/Sink"
}
]
actions = {
create-stream = {
}
}
}
]
}
}
]
That will create a dummy device called "My Combine Sink" which will output to all sinks at once. That's good for a start, but you might want to restrict it to use only the devices you want; for that you'll need to add to the matches
in the stream rules.
I wish this was a more trivial task - but there's no GUI for configuring PipeWire as far as I know.
pw-cli /home/andy/.config/pipewire/pipewire.conf.d/test-combine-sink.conf
Error: "Command "/home/andy/.config/pipewire/pipewire.conf.d/test-combine-sink.conf" does not exist. Type 'help' for usage."
assuming you created that sink.conf file, the command should be:
pw-cli load-module ~/.config/pipewire/pipewired.conf.d/test-combine-sink.conf
The help page says to use load-module and specify the module name
load-module name [arguments...]
Load a module specified by its name and arguments in the local instance. For most modules it is OK to be loaded more than once.
@stephematician can correct me if I'm wrong.
There are two options.
pw-cli load-module module-combine-stream \
combine.mode=sink \
node.name="combine_sink" \
...
systemctl restart --user pipewire.{socket,service}
should suffice to activate it.pw-cli load-module ~/.config/pipewire/pipewired.conf.d/test-combine-sink.conf
Error: "Could not load module"
So systemctl restart --user pipewire.{socket,service}
should suffice to activate it.
I looked at those links you had on previous posts.
I could not find socket or service.
It's a command for the terminal.
To restart our PipeWire service - which is what handles mixing audio on Ubuntu MATE - we can go to a terminal (Ctrl+Alt+T), then type:
systemctl restart --user pipewire.{socket,service}
If we ever want a not-so-helpful manual for a command, we can use the man
command: e.g.
man systemctl
Brings up:
SYSTEMCTL(1) systemctl SYSTEMCTL(1)
NAME
systemctl - Control the systemd system and service manager
SYNOPSIS
systemctl [OPTIONS...] COMMAND [UNIT...]
DESCRIPTION
systemctl may be used to introspect and control the state of the
"systemd" system and service manager. Please refer to systemd(1) for an
introduction into the basic concepts and functionality this tool
manages.
Man pages might be easier to navigate in a browser. To restrict a DuckDuckGo search (for example) to man pages, we can search for !man7 systemctl
. The !man7
prefix restricts our search so we don't see unrelated blogs and AI-generated nonsense that is typical of search results these days.
For this problem, however, we don't need to what systemctl
does. The command I provided is all we need to restart the PipeWire service, and there will be few (if any) side effects in most cases.
If we run that command while some application was using audio, it will cut out. For example; a Firefox tab that was using audio will need to be reloaded. Other applications (using audio) may need to be closed (and re-opened).