Bug 1415366

Summary: Cannot change game playback target anymore
Product: [Fedora] Fedora Reporter: Stanislav Kontar <skontar>
Component: pavucontrolAssignee: Lennart Poettering <lpoetter>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 25CC: belegdol, lpoetter, travneff
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-01-21 09:22:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Stanislav Kontar 2017-01-21 08:33:30 UTC
Description of problem:
I have recently updated from Fedora 23 to Fedora 25. I have two audio outputs, "HDA NVidia Digital Stereo (HDMI 4)" and "Built-in Audio Analog Surround 5.1". 
When I start the game "X-COM Enemy Within" from Steam, it creates two playback streams "game.x86_64: Playback Stream" and "game.x86_64: Simple DirectMedia Layer".
I cannot move "game.x86_64: Playback Stream" between the outputs. However, when it starts, it can use either, depending what is the default at the time. Just cannot switch. I also do not get any error message. It also worked fine on Fedora 23. It works for the other stream from the same application.

Version-Release number of selected component (if applicable):
pavucontrol-3.0-6.fc24.x86_64

How reproducible:
Every time.

Steps to Reproduce:
1. Start "X-COM Enemy Within"
2. Start pavucontrol
3. Try to change target output of "game.x86_64: Playback Stream" to the other one

Actual results:
Target output does not change, no error message.

Expected results:
Target output changes, or, at least I get an error message to know why it cannot change.

Additional info:
Worked fine on fully updated Fedora 23.

Comment 1 Stanislav Kontar 2017-01-21 09:22:24 UTC
Never mind, I have figured it out. Still not sure why it worked on Fedora 23 though.

First I have found that problem is in Pulse Audio:

~ $ pacmd list-sink-inputs | grep -E '(index|application.name =)'
    index: 12
		application.name = "mplayer"
    index: 14
		application.name = "game.x86_64"
~ $ pacmd list-sinks | grep -E '(index|mixer_name)'
  * index: 0
		alsa.mixer_name = "Nvidia GPU 60 HDMI/DP"
    index: 1
		alsa.mixer_name = "Realtek ALC892"
~ $ pacmd move-sink-input 14 1
Moved failed.

Then I have found that there is a DONT_MOVE flag.

~ $ pacmd list-sink-inputs | grep -E '(index|application.name =|flags)'
    index: 12
	flags: 
		application.name = "mplayer"
    index: 14
	flags: DONT_MOVE START_CORKED 
		application.name = "game.x86_64"

Then it was just matter of web search and correct configuration for OpenAL in ~/.alsoftrc

[pulse] 
allow-moves=yes