Created attachment 176178 [details] Headphone icon is not showing. Apparently a headphone icon was supposed to be showing in the attachment, but it's not; it's just the speaker icon, even though the system identified as a Headphone.
My headphone is "PlayStation Gold Wireless Headset The Last of Us Part 2 - PS4", and I'm using the audio cable instead of USB.
This is already fixed for Plasma 6.3.0 with https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4937!
Created attachment 178434 [details] Issue on Plasma 6.3.0
Hmm, that's odd. You say you're plugging in the headphones using "the audio cable"; is this the small round 3.5mm audio jack? I ask because when I plug in my 3.5mm audio jack headphones, there's no OSD that shows it the way there is in your screen recording. So I'm wondering what you're doing to make that OSD appear.
Created attachment 178503 [details] Maybe this helps to identify the size? When I put it on my PS5 controller my PS5 recognizes it. I also noticed that Plasma actually describes it as "Headphones" with an S. Maybe that's why? A typo?
That's a 3.5mm audio plug, yeah. So you're plugging it into your PS5 controller rather than the computer? When you plug it into the computer directly, you see no OSD, right?
I'm plugging into my computer. When I said that the PS5 recognizes it, I meant to say that the problem is not my headphone failing to present itself.
I'm plugging into my computer. When I said that the PS5 recognizes it, I meant to say that the problem is not my headphone failing to present itself.(In reply to Fernando M. Muniz from comment #3) > Created attachment 178434 [details] > Issue on Plasma 6.3.0 In this video I'm putting that audio cable in my notebook. Neither the applet or that notification in the middle shows the headphone icon despite both saying "Headphones".
Ok, then your system must have an audio setup with the 3.5mm audio in jack set up as a different device, rather than as a different port of a combined "speakers and headphone jack" device. This is the codepath where an OSD gets shown. Please attach the output of `pactl list`.
Buffer Latency: 0 usec Source Latency: 0 usec Resample method: PipeWire Properties: client.api = "pipewire-pulse" pulse.server.type = "unix" application.name = "" application.id = "org.kde.plasma-pa" application.icon_name = "" application.process.id = "1015" application.process.user = "tuti" application.process.host = "archlinux" application.process.binary = "plasmashell" application.language = "pt_BR.UTF-8" window.x11.display = ":1" application.process.machine_id = "a4202c1e08d642108713437f5a73242f" application.process.session_id = "2" media.name = "PlasmaPA-VolumeMeter" node.rate = "1/25" node.latency = "1/25" stream.monitor = "true" target.object = "3983" stream.is-live = "true" node.name = "" node.want-driver = "true" node.autoconnect = "true" node.dont-reconnect = "true" media.class = "Stream/Input/Audio" resample.peaks = "true" channelmix.normalize = "true" port.ignore-latency = "true" port.group = "stream.0" adapt.follower.spa-node = "" object.register = "false" factory.id = "7" clock.quantum-limit = "8192" node.loop.name = "data-loop.0" library.name = "audioconvert/libspa-audioconvert" client.id = "81" object.id = "85" object.serial = "5477" module-stream-restore.id = "source-output-by-application-id:org.kde.plasma-pa" Source Output #5478 Driver: PipeWire Owner Module: n/a Client: 86 Source: 4294967295 Sample Specification: float32le 1ch 25Hz Channel Map: mono Format: pcm, format.sample_format = "\"float32le\"" format.rate = "25" format.channels = "1" format.channel_map = "\"mono\"" Corked: yes Mute: no Volume: mono: 65536 / 100% / 0,00 dB balance 0,00 Buffer Latency: 0 usec Source Latency: 0 usec Resample method: PipeWire Properties: client.api = "pipewire-pulse" pulse.server.type = "unix" application.name = "" application.id = "org.kde.plasma-pa" application.icon_name = "" application.process.id = "1015" application.process.user = "tuti" application.process.host = "archlinux" application.process.binary = "plasmashell" application.language = "pt_BR.UTF-8" window.x11.display = ":1" application.process.machine_id = "a4202c1e08d642108713437f5a73242f" application.process.session_id = "2" media.name = "PlasmaPA-VolumeMeter" node.rate = "1/25" node.latency = "1/25" stream.monitor = "true" target.object = "4003" stream.is-live = "true" node.name = "" node.want-driver = "true" node.autoconnect = "true" node.dont-reconnect = "true" media.class = "Stream/Input/Audio" resample.peaks = "true" channelmix.normalize = "true" port.ignore-latency = "true" port.group = "stream.0" adapt.follower.spa-node = "" object.register = "false" factory.id = "7" clock.quantum-limit = "8192" node.loop.name = "data-loop.0" library.name = "audioconvert/libspa-audioconvert" client.id = "81" object.id = "89" object.serial = "5478" module-stream-restore.id = "source-output-by-application-id:org.kde.plasma-pa" Source Output #5479 Driver: PipeWire Owner Module: n/a Client: 86 Source: 4294967295 Sample Specification: float32le 1ch 25Hz Channel Map: mono Format: pcm, format.sample_format = "\"float32le\"" format.rate = "25" format.channels = "1" format.channel_map = "\"mono\"" Corked: yes Mute: no Volume: mono: 65536 / 100% / 0,00 dB balance 0,00 Buffer Latency: 0 usec Source Latency: 0 usec Resample method: PipeWire Properties: client.api = "pipewire-pulse" pulse.server.type = "unix" application.name = "" application.id = "org.kde.plasma-pa" application.icon_name = "" application.process.id = "1015" application.process.user = "tuti" application.process.host = "archlinux" application.process.binary = "plasmashell" application.language = "pt_BR.UTF-8" window.x11.display = ":1" application.process.machine_id = "a4202c1e08d642108713437f5a73242f" application.process.session_id = "2" media.name = "PlasmaPA-VolumeMeter" node.rate = "1/25" node.latency = "1/25" stream.monitor = "true" target.object = "4093" stream.is-live = "true" node.name = "" node.want-driver = "true" node.autoconnect = "true" node.dont-reconnect = "true" media.class = "Stream/Input/Audio" resample.peaks = "true" channelmix.normalize = "true" port.ignore-latency = "true" port.group = "stream.0" adapt.follower.spa-node = "" object.register = "false" factory.id = "7" clock.quantum-limit = "8192" node.loop.name = "data-loop.0" library.name = "audioconvert/libspa-audioconvert" client.id = "81" object.id = "115" object.serial = "5479" module-stream-restore.id = "source-output-by-application-id:org.kde.plasma-pa" Source Output #5480 Driver: PipeWire Owner Module: n/a Client: 86 Source: 4294967295 Sample Specification: float32le 1ch 25Hz Channel Map: mono Format: pcm, format.sample_format = "\"float32le\"" format.rate = "25" format.channels = "1" format.channel_map = "\"mono\"" Corked: yes Mute: no Volume: mono: 65536 / 100% / 0,00 dB balance 0,00 Buffer Latency: 0 usec Source Latency: 0 usec Resample method: PipeWire Properties: client.api = "pipewire-pulse" pulse.server.type = "unix" application.name = "" application.id = "org.kde.plasma-pa" application.icon_name = "" application.process.id = "1015" application.process.user = "tuti" application.process.host = "archlinux" application.process.binary = "plasmashell" application.language = "pt_BR.UTF-8" window.x11.display = ":1" application.process.machine_id = "a4202c1e08d642108713437f5a73242f" application.process.session_id = "2" media.name = "PlasmaPA-VolumeMeter" node.rate = "1/25" node.latency = "1/25" stream.monitor = "true" target.object = "4453" stream.is-live = "true" node.name = "" node.want-driver = "true" node.autoconnect = "true" node.dont-reconnect = "true" media.class = "Stream/Input/Audio" resample.peaks = "true" channelmix.normalize = "true" port.ignore-latency = "true" port.group = "stream.0" adapt.follower.spa-node = "" object.register = "false" factory.id = "7" clock.quantum-limit = "8192" node.loop.name = "data-loop.0" library.name = "audioconvert/libspa-audioconvert" client.id = "81" object.id = "152" object.serial = "5480" module-stream-restore.id = "source-output-by-application-id:org.kde.plasma-pa" Client #32 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-tuti-802" pipewire.sec.socket = "pipewire-0-manager" pipewire.sec.pid = "802" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "32" object.serial = "32" application.version = "0.5.8" wireplumber.daemon = "true" wireplumber.profile = "main" application.name = "WirePlumber" remote.name = "[pipewire-0-manager,pipewire-0]" config.name = "null" context.modules.allow-empty = "true" application.process.binary = "wireplumber" application.language = "pt_BR.UTF-8" application.process.id = "802" application.process.user = "tuti" application.process.host = "archlinux" cpu.max-align = "64" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.2.7" pipewire.access = "unrestricted" session.services = "[api.alsa, policy.device.profile, api.bluez, policy.device.routes, policy.linking.role-based, bluetooth.audio, bluetooth.midi, policy.linking.standard, api.libcamera, audio, api.v4l2, policy.default-nodes, api.alsa-seq, video-capture, midi]" Client #33 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-tuti-803" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "803" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "33" object.serial = "33" config.name = "pipewire-pulse.conf" application.name = "pipewire" application.process.binary = "pipewire" application.language = "pt_BR.UTF-8" application.process.id = "803" application.process.user = "tuti" application.process.host = "archlinux" cpu.max-align = "64" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.2.7" pipewire.access = "unrestricted" Client #46 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-tuti-802" pipewire.sec.socket = "pipewire-0-manager" pipewire.sec.pid = "802" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "46" object.serial = "46" application.name = "WirePlumber [export]" wireplumber.export-core = "true" application.version = "0.5.8" wireplumber.daemon = "true" wireplumber.profile = "main" remote.name = "[pipewire-0-manager,pipewire-0]" config.name = "null" context.modules.allow-empty = "true" application.process.binary = "wireplumber" application.language = "pt_BR.UTF-8" application.process.id = "802" application.process.user = "tuti" application.process.host = "archlinux" cpu.max-align = "64" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.2.7" pipewire.access = "unrestricted" Client #80 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-tuti-874" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "874" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "75" object.serial = "80" application.name = "kwin_wayland" application.process.binary = "kwin_wayland" application.language = "pt_BR.UTF-8" application.process.id = "874" application.process.user = "tuti" application.process.host = "archlinux" application.process.session_id = "2" log.level = "0" cpu.max-align = "64" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.2.7" pipewire.access = "unrestricted" Client #81 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-tuti-882" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "882" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "76" object.serial = "81" pipewire.access.portal.is_portal = "true" portal.monitor = "Camera" application.name = "xdg-desktop-portal" application.process.binary = "xdg-desktop-portal" application.language = "pt_BR.UTF-8" application.process.id = "882" application.process.user = "tuti" application.process.host = "archlinux" application.process.session_id = "2" window.x11.display = ":1" log.level = "0" cpu.max-align = "64" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.2.7" pipewire.access = "unrestricted" Client #82 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-tuti-803" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "803" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "77" object.serial = "82" client.api = "pipewire-pulse" pulse.server.type = "unix" application.name = "libcanberra" application.version = "0.30" application.id = "org.freedesktop.libcanberra" application.process.id = "988" application.process.user = "tuti" application.process.host = "archlinux" application.process.binary = "kded6" application.language = "pt_BR.UTF-8" window.x11.display = ":1" application.process.machine_id = "a4202c1e08d642108713437f5a73242f" application.process.session_id = "2" config.name = "pipewire-pulse.conf" cpu.max-align = "64" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.2.7" pipewire.access = "unrestricted" Client #83 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-tuti-803" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "803" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "78" object.serial = "83" client.api = "pipewire-pulse" pulse.server.type = "unix" application.name = "" application.id = "org.kde.kded6" application.icon_name = "" application.process.id = "988" application.process.user = "tuti" application.process.host = "archlinux" application.process.binary = "kded6" application.language = "pt_BR.UTF-8" window.x11.display = ":1" application.process.machine_id = "a4202c1e08d642108713437f5a73242f" application.process.session_id = "2" config.name = "pipewire-pulse.conf" cpu.max-align = "64" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.2.7" pipewire.access = "unrestricted" Client #84 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-tuti-1015" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "1015" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "79" object.serial = "84" application.name = "plasmashell" application.process.binary = "plasmashell" application.language = "pt_BR.UTF-8" application.process.id = "1015" application.process.user = "tuti" application.process.host = "archlinux" application.process.session_id = "2" window.x11.display = ":1" log.level = "0" cpu.max-align = "64" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.2.7" pipewire.access = "unrestricted" Client #85 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-tuti-803" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "803" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "80" object.serial = "85" client.api = "pipewire-pulse" pulse.server.type = "unix" application.name = "libcanberra" application.version = "0.30" application.id = "org.freedesktop.libcanberra" application.process.id = "1015" application.process.user = "tuti" application.process.host = "archlinux" application.process.binary = "plasmashell" application.language = "pt_BR.UTF-8" window.x11.display = ":1" application.process.machine_id = "a4202c1e08d642108713437f5a73242f" application.process.session_id = "2" config.name = "pipewire-pulse.conf" cpu.max-align = "64" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.2.7" pipewire.access = "unrestricted" Client #86 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-tuti-803" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "803" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "81" object.serial = "86" client.api = "pipewire-pulse" pulse.server.type = "unix" application.name = "" application.id = "org.kde.plasma-pa" application.icon_name = "" application.process.id = "1015" application.process.user = "tuti" application.process.host = "archlinux" application.process.binary = "plasmashell" application.language = "pt_BR.UTF-8" window.x11.display = ":1" application.process.machine_id = "a4202c1e08d642108713437f5a73242f" application.process.session_id = "2" config.name = "pipewire-pulse.conf" cpu.max-align = "64" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.2.7" pipewire.access = "unrestricted" Client #443 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-tuti-803" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "803" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "109" object.serial = "443" client.api = "pipewire-pulse" pulse.server.type = "unix" application.icon_name = "" application.id = "org.kde.plasmashell" application.name = "" application.process.id = "1015" application.process.user = "tuti" application.process.host = "archlinux" application.process.binary = "plasmashell" application.language = "pt_BR.UTF-8" window.x11.display = ":1" application.process.machine_id = "a4202c1e08d642108713437f5a73242f" application.process.session_id = "2" config.name = "pipewire-pulse.conf" cpu.max-align = "64" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.2.7" pipewire.access = "unrestricted" Client #1576 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-tuti-803" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "803" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "93" object.serial = "1576" client.api = "pipewire-pulse" pulse.server.type = "unix" pipewire.access.portal.app_id = "org.mozilla.firefox" media.category = "Manager" pipewire.client.access = "flatpak" application.name = "Firefox" application.process.id = "2" application.process.user = "tuti" application.process.host = "archlinux" application.process.binary = "firefox-bin" application.language = "pt_BR.UTF-8" application.process.machine_id = "a4202c1e08d642108713437f5a73242f" application.process.session_id = "2" config.name = "pipewire-pulse.conf" cpu.max-align = "64" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.2.7" pipewire.access = "flatpak" pipewire.access.effective = "flatpak-manager" Client #1592 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-tuti-803" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "803" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "123" object.serial = "1592" client.api = "pipewire-pulse" pulse.server.type = "unix" pipewire.access.portal.app_id = "org.mozilla.firefox" media.category = "Manager" pipewire.client.access = "flatpak" application.icon_name = "firefox" application.name = "Firefox" application.version = "135.0" application.process.id = "2" application.process.user = "tuti" application.process.host = "archlinux" application.process.binary = "firefox-bin" application.language = "pt_BR.UTF-8" application.process.machine_id = "a4202c1e08d642108713437f5a73242f" application.process.session_id = "2" config.name = "pipewire-pulse.conf" cpu.max-align = "64" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.2.7" pipewire.access = "flatpak" pipewire.access.effective = "flatpak-manager" Client #2103 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-tuti-803" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "803" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "92" object.serial = "2103" client.api = "pipewire-pulse" pulse.server.type = "unix" application.icon_name = "" application.id = "org.kde.org_kde_powerdevil" application.name = "Sistema de gerenciamento de energia do KDE" application.process.id = "1060" application.process.user = "tuti" application.process.host = "archlinux" application.process.binary = "org_kde_powerdevil" application.language = "pt_BR.UTF-8" window.x11.display = ":1" application.process.machine_id = "a4202c1e08d642108713437f5a73242f" application.process.session_id = "2" config.name = "pipewire-pulse.conf" cpu.max-align = "64" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.2.7" pipewire.access = "unrestricted" Client #5575 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-tuti-803" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "803" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "194" object.serial = "5575" client.api = "pipewire-pulse" pulse.server.type = "unix" application.process.id = "86379" application.process.user = "tuti" application.process.host = "archlinux" application.process.binary = "pactl" application.name = "pactl" application.language = "pt_BR.UTF-8" window.x11.display = ":1" application.process.machine_id = "a4202c1e08d642108713437f5a73242f" application.process.session_id = "2" config.name = "pipewire-pulse.conf" cpu.max-align = "64" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.2.7" pipewire.access = "unrestricted" Sample #0 Name: audio-volume-change Sample Specification: s16le 2ch 48000Hz Channel Map: front-left,front-right Volume: front-left: 65536 / 100% / 0,00 dB, front-right: 65536 / 100% / 0,00 dB balance 0,00 Duration: 0,3s Size: 56,4 KiB Lazy: no Filename: n/a Properties: client.api = "pipewire-pulse" pulse.server.type = "unix" application.name = "libcanberra" application.version = "0.30" application.id = "org.freedesktop.libcanberra" application.process.id = "1015" application.process.user = "tuti" application.process.host = "archlinux" application.process.binary = "plasmashell" application.language = "pt_BR.UTF-8" window.x11.display = ":1" application.process.machine_id = "a4202c1e08d642108713437f5a73242f" application.process.session_id = "2" event.id = "audio-volume-change" event.description = "Volume Control Feedback Sound" media.role = "event" media.name = "audio-volume-change" media.filename = "/usr/share/sounds/ocean/stereo/audio-volume-change.oga" Card #50 Name: alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic Driver: alsa Owner Module: n/a Properties: api.acp.auto-port = "false" api.acp.auto-profile = "false" api.alsa.card = "0" api.alsa.card.longname = "LENOVO-82MG-IdeaPadGaming315IHU6-LNVNB161216" api.alsa.card.name = "sof-hda-dsp" api.alsa.path = "hw:0" api.alsa.split-enable = "true" api.alsa.use-acp = "true" api.dbus.ReserveDevice1 = "Audio0" api.dbus.ReserveDevice1.Priority = "-20" device.api = "alsa" device.bus = "pci" device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic" device.description = "Tiger Lake-LP Smart Sound Technology Audio Controller" device.enum.api = "udev" device.icon_name = "audio-card-analog-pci" device.name = "alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic" device.nick = "sof-hda-dsp" device.plugged.usec = "4656654" device.product.id = "0xa0c8" device.product.name = "Tiger Lake-LP Smart Sound Technology Audio Controller" device.subsystem = "sound" sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0" device.vendor.id = "0x8086" device.vendor.name = "Intel Corporation" media.class = "Audio/Device" spa.object.id = "2" factory.id = "15" client.id = "46" object.id = "50" object.serial = "50" object.path = "alsa:acp:sofhdadsp" alsa.card = "0" alsa.card_name = "sof-hda-dsp" alsa.long_card_name = "LENOVO-82MG-IdeaPadGaming315IHU6-LNVNB161216" alsa.driver_name = "snd_soc_skl_hda_dsp" alsa.mixer_name = "Realtek ALC257" alsa.components = "HDA:80862812,80860101,00100000 HDA:10ec0257,17aa38d2,00100001 cfg-dmics:2" alsa.id = "sofhdadsp" device.string = "0" Profiles: off: Desligado (sinks: 0, sources: 0, priority: 0, available: yes) HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2): Play HiFi quality Music (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2) (sinks: 4, sources: 2, priority: 10300, available: yes) HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker): Play HiFi quality Music (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker) (sinks: 4, sources: 2, priority: 10200, available: yes) pro-audio: Pro Audio (sinks: 5, sources: 3, priority: 1, available: yes) Active Profile: HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2) Ports: [Out] HDMI3: HDMI / DisplayPort 3 Output (type: HDMI, priority: 700, latency offset: 0 usec, availability group: HDMI/DP,pcm=5, not available) Properties: port.type = "hdmi" port.availability-group = "HDMI/DP,pcm=5" device.icon_name = "video-display" card.profile.port = "0" Part of profile(s): HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker), HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2) [Out] HDMI2: HDMI / DisplayPort 2 Output (type: HDMI, priority: 600, latency offset: 0 usec, availability group: HDMI/DP,pcm=4, not available) Properties: port.type = "hdmi" port.availability-group = "HDMI/DP,pcm=4" device.icon_name = "video-display" card.profile.port = "1" Part of profile(s): HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker), HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2) [Out] HDMI1: HDMI / DisplayPort 1 Output (type: HDMI, priority: 500, latency offset: 0 usec, availability group: HDMI/DP,pcm=3, not available) Properties: port.type = "hdmi" port.availability-group = "HDMI/DP,pcm=3" device.icon_name = "video-display" card.profile.port = "2" Part of profile(s): HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker), HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2) [Out] Speaker: Speaker (type: Speaker, priority: 100, latency offset: 0 usec, availability unknown) Properties: port.type = "speaker" device.icon_name = "audio-speakers" card.profile.port = "3" Part of profile(s): HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker) [In] Mic2: Headphones Stereo Microphone (type: Mic, priority: 200, latency offset: 0 usec, availability group: Mic, not available) Properties: port.type = "mic" port.availability-group = "Mic" device.icon_name = "audio-input-microphone" card.profile.port = "4" Part of profile(s): HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker), HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2) [In] Mic1: Digital Microphone (type: Mic, priority: 100, latency offset: 0 usec, availability unknown) Properties: port.type = "mic" device.icon_name = "audio-input-microphone" card.profile.port = "5" Part of profile(s): HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker), HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2) [Out] Headphones: Headphones (type: Headphones, priority: 200, latency offset: 0 usec, availability group: Headphone, available) Properties: port.type = "headphones" port.availability-group = "Headphone" device.icon_name = "audio-headphones" card.profile.port = "6" Part of profile(s): HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2)
Was the device plugged in when you ran that command?
(In reply to Nate Graham from comment #12) > Was the device plugged in when you ran that command? Yes.
To be clear, when you say there was supposed to be a headphone icon, are you talking about the widget pop-up from the System Tray, the OSD that appears when you switch devices, or both?
Created attachment 178524 [details] Both of these, but the widget is far more important due to being always visible.
Ok, then there is some confusion, because the widget does not show any device icons. The small "speaker" icon you're seeing there is not a device-specific icon; it's just a volume icon. Click on it and it'll turn into a mute icon. As such, the lack of a "headphones" icon in the widget is not a bug, so let's concentrate in this bug report on the OSD having the wrong icon.
(In reply to Nate Graham from comment #16) > Ok, then there is some confusion, because the widget does not show any > device icons. The small "speaker" icon you're seeing there is not a > device-specific icon; it's just a volume icon. Click on it and it'll turn > into a mute icon. > > As such, the lack of a "headphones" icon in the widget is not a bug, so > let's concentrate in this bug report on the OSD having the wrong icon. Ok, I'm also very confused. In Bug 496335 I requested for a headphone icon there, correct?
In Bug 496335, you requested that an icon be added to the icon theme. I replied that one already existed in the icon theme. If you were requesting that the Audio Volume widget show device icons *in general*, then you would need to open a bug report about that specifically. I'm not sure this is a great idea though, as it will expose a million bugs about device icons being wrong (like this bug report).
Should I close this bug since these speaker icons are intentional? (at least until Bug 500328 gets approved)
Fernando, can you please stop being so trigger-happy with the bug reports? There are indeed issues and areas for improvement here, but we need for each bug report to be well-scoped to be actionable. *this* bug report is now about the issue with the OSD not showing the appropriate icon *since it does show a device-specific icon, just not the right one. But bug 500328 which you've just opened contains elements of this as well as a request for something else. It takes time to untangle this mess. So let's please slow down and make sure that each bug report is well-considered, well-scoped, does not duplicate something being reported or requested in another bug report, and does not re-characterize a bug as a feature request or vice versa. Thanks
So we have discovered here that when you plug in your headphones to the 3.5mm audio jack, internally the audio device is actually changed, and this triggers an OSD, and that OSD has a symbolic icon depicting a speaker rather than a more appropriate icon depicting headphones. There are two aspects to this problem: 1. It's inconsistent that an "audio device switched" OSD is shown for this type of device setup, but not for the type of device setup where plugging something into the 3.5mm audio jack simply changes the port on the existing device. To the user, the same thing happened, yet only one of these codepaths shows an OSD. 2. The icon in the OSD is wrong. You plugged in headphones, but it shows an icon for a speaker. The first problem is fixable. We could make it show an OSD for port changes, or stop showing an OSD for device changes, or stop showing OSDs for *directly-user-initiated* device changes where the user is likely to not need the information from the OSD. I couldn't find an existing bug report about just this, so I opened one: Bug 500348. The second problem is unfortunately not fixable. When you plug something into the 3.5mm audio jack, the system has no way to know what it is. It could be a pair of headphones, or it could be a speaker, or an amplifier, or a wired-to-Bluetooth adapter, or a toaster oven. The 3.5mm audio cable does not pass data bidirectionally; there is no way for it to tell them system what kind of device it's attached to. As such, there is literally no way for the system to know that what you plugged in is a pair of headphones, and show an appropriate icon depicting headphones. So there's nothing we can do here, sorry. It would be best to interpret the speaker icon you're looking at not as a literal icon for a pair of speakers, but rather as a symbolic representation of the concepts of sound and audio, as in "your active audio device changed!" Hopefully this explanation makes sense.
Would it be possible to add a audio jack (and HDMI) as icons instead then? That would be sufficient to indicate that the user is not using the internal speakers. Perhaps keeping the two sound waves, but replacing the actual speaker part of the icon?
Anything is possible in principle. In this case it's tricky since: 1. We have no such icons 2. Even if we added them, 3rd-party icon themes would be slow to add them, and most never would 3. The icon names we use come from the audio stack; we don't actually do processing on our side, so we'd have to start doing that and then fix or live with the additional bugs we might introduce in the process. :)