ChimeraOS / chimeraos

A Steam Big Picture based couch gaming OS
MIT License
1.67k stars 117 forks source link

Changing audio output via the Steam client is unreliable or does not work #74

Closed doodlerobot closed 2 years ago

doodlerobot commented 4 years ago

steam is showing 5 baffin HDMI/DP audio devices but unable to select HDMI as output. Whats strange is that sometimes HDMI shows up as option but still has no audio after selection.

using AMD RX 460 video card

alkazar commented 4 years ago

The audio output selection screen in the Steam client seems to be unreliable sometimes. I am not sure what is going on, some users report it works fine, and others that it doesn't.

You can try this workaround:

I will take a look if there is anything we can do to make a better workaround.

You can also try pacmd (already installed) or ponymix (needs to be installed) for switching audio output from the command line.

alkazar commented 4 years ago

Looking at the Steam log, I see this error message when attempting to change audio output: AL lib: (EE) ALCpulsePlayback_streamStateCallback: Received stream failure!

Looks like an issue with OpenAL. However, the audio output was changed for games, but not for the menu sound effects of Steam itself until after some time passed.

doodlerobot commented 4 years ago

[image: IMG_3753.jpg] attached output.txt is lspci and pacmd list-cards output. ive tried to set output 4 but still nothing. ill keep trying

On Tue, Feb 25, 2020 at 8:41 PM alkazar notifications@github.com wrote:

Looking at the Steam log, I see this error message when attempting to change audio output: AL lib: (EE) ALCpulsePlayback_streamStateCallback: Received stream failure!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/gamer-os/gamer-os/issues/74?email_source=notifications&email_token=AALVN5WHLKDATGYN7Z4YKNDREXCEFA5CNFSM4KZ5553KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM6N4QA#issuecomment-591191616, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALVN5VMDZNQ37FUEWLJBOTREXCEFANCNFSM4KZ5553A .

-- Tribes is an art, and I am a master

[gamer@gameros ~]$ lspci 00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 10h-1fh) Processor Root Complex 00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 10h-1fh) I/O Memory Management Unit 00:02.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 10h-1fh) Processor Root Port 00:04.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 10h-1fh) Processor Root Port 00:10.0 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB XHCI Controller (rev 03) 00:10.1 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB XHCI Controller (rev 03) 00:11.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 40) 00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB OHCI Controller (rev 11) 00:12.2 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB EHCI Controller (rev 11) 00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB OHCI Controller (rev 11) 00:13.2 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB EHCI Controller (rev 11) 00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 14) 00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 11) 00:14.5 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB OHCI Controller (rev 11) 00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 10h-1fh) Processor Function 0 00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 10h-1fh) Processor Function 1 00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 10h-1fh) Processor Function 2 00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 10h-1fh) Processor Function 3 00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 10h-1fh) Processor Function 4 00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 10h-1fh) Processor Function 5 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X] (rev cf) 01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X] 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06) [gamer@gameros ~]$ pacmd Welcome to PulseAudio 13.0! Use "help" for usage information.

list-cards 1 card(s) available. index: 0 name: driver: owner module: 6 properties: alsa.card = "0" alsa.card_name = "HDA ATI HDMI" alsa.long_card_name = "HDA ATI HDMI at 0xfea60000 irq 46" alsa.driver_name = "snd_hda_intel" device.bus_path = "pci-0000:01:00.1" sysfs.path = "/devices/pci0000:00/0000:00:02.0/0000:01:00.1/sound/card0" device.bus = "pci" device.vendor.id = "1002" device.vendor.name = "Advanced Micro Devices, Inc. [AMD/ATI]" device.product.id = "aae0" device.product.name = "Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X]" device.string = "0" device.description = "Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X]" module-udev-detect.discovered = "1" device.icon_name = "audio-card-pci" profiles: output:hdmi-stereo: Digital Stereo (HDMI) Output (priority 5900, available: no) output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (priority 800, available: no) output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (priority 800, available: no) output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (priority 5700, available: no) output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (priority 600, available: no) output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (priority 600, available: no) output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (priority 5700, available: no) output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (priority 600, available: no) output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (priority 600, available: no) output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (priority 5700, available: unknown) output:hdmi-stereo-extra4: Digital Stereo (HDMI 5) Output (priority 5700, available: no) output:hdmi-surround-extra4: Digital Surround 5.1 (HDMI 5) Output (priority 600, available: no) output:hdmi-surround71-extra4: Digital Surround 7.1 (HDMI 5) Output (priority 600, available: no) off: Off (priority 0, available: unknown) active profile: sinks: alsa_output.pci-0000_01_00.1.hdmi-stereo-extra3/#0: Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X] Digital Stereo (HDMI 4) sources: alsa_output.pci-0000_01_00.1.hdmi-stereo-extra3.monitor/#0: Monitor of Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X] Digital Stereo (HDMI 4) ports: hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: no) properties: device.icon_name = "video-display" hdmi-output-1: HDMI / DisplayPort 2 (priority 5800, latency offset 0 usec, available: no) properties: device.icon_name = "video-display" hdmi-output-2: HDMI / DisplayPort 3 (priority 5700, latency offset 0 usec, available: no) properties: device.icon_name = "video-display" hdmi-output-3: HDMI / DisplayPort 4 (priority 5600, latency offset 0 usec, available: yes) properties: device.icon_name = "video-display" device.product.name = "SAMSUNG" hdmi-output-4: HDMI / DisplayPort 5 (priority 5500, latency offset 0 usec, available: no) properties: device.icon_name = "video-display"

doodlerobot commented 4 years ago

sound is working again magically. did you push an update? btw thanks for the project my family and i really like our steambox for family game night.

On Wed, Feb 26, 2020 at 5:34 AM Josh Clements shadypete@gmail.com wrote:

[image: IMG_3753.jpg] attached output.txt is lspci and pacmd list-cards output. ive tried to set output 4 but still nothing. ill keep trying

On Tue, Feb 25, 2020 at 8:41 PM alkazar notifications@github.com wrote:

Looking at the Steam log, I see this error message when attempting to change audio output: AL lib: (EE) ALCpulsePlayback_streamStateCallback: Received stream failure!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/gamer-os/gamer-os/issues/74?email_source=notifications&email_token=AALVN5WHLKDATGYN7Z4YKNDREXCEFA5CNFSM4KZ5553KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM6N4QA#issuecomment-591191616, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALVN5VMDZNQ37FUEWLJBOTREXCEFANCNFSM4KZ5553A .

-- Tribes is an art, and I am a master

-- Tribes is an art, and I am a master

doodlerobot commented 4 years ago

ok this makes no sense to me but i thought i'd pass this along. sound started working when i installed the LTS kernel. I had not yet rebooted and was still running kernel 5.5. Weird and probably a coincidence but i had changed nothing config wise at that point.

anyway thanks man

On Wed, Feb 26, 2020 at 4:26 PM Josh Clements shadypete@gmail.com wrote:

sound is working again magically. did you push an update? btw thanks for the project my family and i really like our steambox for family game night.

On Wed, Feb 26, 2020 at 5:34 AM Josh Clements shadypete@gmail.com wrote:

[image: IMG_3753.jpg] attached output.txt is lspci and pacmd list-cards output. ive tried to set output 4 but still nothing. ill keep trying

On Tue, Feb 25, 2020 at 8:41 PM alkazar notifications@github.com wrote:

Looking at the Steam log, I see this error message when attempting to change audio output: AL lib: (EE) ALCpulsePlayback_streamStateCallback: Received stream failure!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/gamer-os/gamer-os/issues/74?email_source=notifications&email_token=AALVN5WHLKDATGYN7Z4YKNDREXCEFA5CNFSM4KZ5553KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM6N4QA#issuecomment-591191616, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALVN5VMDZNQ37FUEWLJBOTREXCEFANCNFSM4KZ5553A .

-- Tribes is an art, and I am a master

-- Tribes is an art, and I am a master

-- Tribes is an art, and I am a master

sharkwouter commented 4 years ago

That might explain a lot actually. Maybe this is stored in a directory which isn't writable by default.

xxMagnanimoxx commented 4 years ago

Installed GamerOs and I had no audio. I attempted the above measures to use pavucontrol but i was unsuccessful. The audio was stuck on sdif. I went into my MOBO bios and disabled the HD Audio controller. Sound instantly worked through my GPU HDMI connection.

doodlerobot commented 4 years ago

Yes I had tried that in my troubleshooting. HDMI audio device was reporting as unplugged. Thanks for feedback

On Sat, Mar 7, 2020 at 7:36 AM xxMagnanimoxx notifications@github.com wrote:

Installed GamerOs and I had no audio. I attempted the above measures to use pavucontrol but i was unsuccessful. The audio was stuck on sdif. I went into my MOBO bios and disabled the HD Audio controller. Sound instantly worked through my GPU HDMI connection.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/gamer-os/gamer-os/issues/74?email_source=notifications&email_token=AALVN5VRPUBUDIVZGCL3TBLRGI5TTA5CNFSM4KZ5553KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEODYIYI#issuecomment-596083809, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALVN5RFNLBYKXHMEX434K3RGI5TTANCNFSM4KZ5553A .

-- Tribes is an art, and I am a master

alkazar commented 4 years ago

Another option might be to install pulsemixer. It is a pretty easy to use ncurses based cli tool to change audio settings. I might just include this in a future GamerOS build by default.

alkazar commented 4 years ago

I added audio controls to Steam Buddy. This doesn't fix the root cause, but offers an alternative. I am not sure that we can fix the root cause, likely Valve will need to fix the Steam Client.

alkazar commented 4 years ago

The next release of GamerOS will also include a command-line/ncurses based audio settings program called pulsemixer installed by default which might be useful in some situations.

alkazar commented 4 years ago

Just a note, that I have been playing around with a testing build of GamerOS that includes two additional pulseaudio tools: ponymix and pulsemixer.

My own GamerOS machine would often boot without sound. I was able to fix this using pulsemixer to disable my unused sound interface and setting my hdmi interface to default.

I did also implement an audio swithcing interface into Steam Buddy, however, it doesn't work when Steam Buddy is run as a systemd service, so this will have to wait until I figure out how to fix that.

I also noticed that the Steam UI interface for switching audio DOES actually work. But you have to be extremely patient. I find I have to switch the sound interface a half-dozen or more times until the change sticks, then you have to navigate around and eventually the sound starts playing. Starting a game can also force the sound to start working again.

Batterman commented 4 years ago

Installed GamerOs and I had no audio. I attempted the above measures to use pavucontrol but i was unsuccessful. The audio was stuck on sdif. I went into my MOBO bios and disabled the HD Audio controller. Sound instantly worked through my GPU HDMI connection.

That worked for me as well!

wumbowarrior commented 3 years ago

Might be that I'm using weird hardware, but I'm having this issue as well. I grabbed an HP EliteDesk 705 G4 because it packs a good amount of power in a small form factor and it's not too expensive, but I think the hardware is having some issues.

I'm also having issues with bluetooth and games running really choppy when they ran fine on Windows. I'll try some of these suggestions and update later.

Samsagax commented 2 years ago

Does this issue still relevant? If so, please comment and we will reopen it.

BPM is being phased out in favor of Gamepadui and it works fine there. Could you please test? If it doesn't work for you, the alternative is using pulsemixer from the command line to switch outputs immediately.