Bug 1334111 - guest changes the volume of the host to maximum
Summary: guest changes the volume of the host to maximum
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: qemu
Version: 23
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Fedora Virtualization Maintainers
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-05-08 17:02 UTC by Chris Murphy
Modified: 2016-05-09 19:31 UTC (History)
17 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-05-09 19:31:03 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
screencast of problem (567.31 KB, video/webm)
2016-05-08 17:02 UTC, Chris Murphy
no flags Details
screencast of problem booting VM (1.87 MB, application/octet-stream)
2016-05-09 19:14 UTC, Chris Murphy
no flags Details

Description Chris Murphy 2016-05-08 17:02:26 UTC
Created attachment 1155093 [details]
screencast of problem

Description of problem:

Upon changing the volume inside a virt-manager or Boxes guest (Fedora 24), the host volume changes. The host volume always goes up as the guest volume is changed either up or down, up to the point where the host volume is maximum.


Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. See screencast
2.
3.

Actual results:
0:02   The host is active
0:03   The host volume is in the middle
0:08   The guest is active
0:09   The guest volume is in the middle
0:10   The guest volume is raised to high
0:13   The host is active
0:14   The host volume is no longer in the middle as previously set, it's now high.
0:17   Set the host volume to minimum
0:22   Set the guest volume to minimum
0:25   The host volume is now at maximum again

Basically what happens is every time I boot a Fedora 24 guest in virt-manager or boxes, volume goes to 80% by the time the guest boot completes, and this is really unbelievably annoying. Seriously, I'm saying fuck out loud at work everytime I'm switching between a VM and Terminal, make some idiot mistake in Terminal that results in audio warning (like backspacing too far for example) and it's just too f'n goddamn loud and I get really pissed off.

It's definitely a regression, I don't know if it's something in F24 that's punching through F23 or what.


Expected results:

Probably the guest volume should have no effect at all. Or possibly the guest volume should be relative to the host volume. But in no possible sane way does the guest alter the host's volume.




Additional info:

[chris@f23m ~]$ grep flat /etc/pulse/daemon.conf 
; flat-volumes = no


This is both on F23 and F24.

Comment 1 Chris Murphy 2016-05-08 17:04:29 UTC
journalctl -f shows nothing happening at all when the guest volume is being modified, which also means the host volume is also being modified (to maximum).

Comment 2 Cole Robinson 2016-05-08 17:52:22 UTC
Does putting 'flat-volumes = no' into ~/.config/pulse/daemon.conf make any difference? (and restarting pulseaudio, however that's done)

Check pulseaudio --dump-conf I guess to see if that setting is actually being used

Comment 3 Michael Catanzaro 2016-05-08 18:35:09 UTC
(In reply to Chris Murphy from comment #0)
> [chris@f23m ~]$ grep flat /etc/pulse/daemon.conf 
> ; flat-volumes = no

It's commented out?

Comment 4 Victor Toso 2016-05-09 06:25:48 UTC
Hi,

> Upon changing the volume inside a virt-manager or Boxes guest (Fedora 24),
> the host volume changes. The host volume always goes up as the guest volume
> is changed either up or down, up to the point where the host volume is
> maximum.

The guest volume and the application volume are supposed to be in sync. So, the volume in the guest goes to 80%, the client application playback volume will go to 80% as well.

If your client's master volume is below 80% it will now be increased to 80% due flat-volume logic.


> Steps to Reproduce:
> 1. See screencast

Most of it is expected behavior as far as I could tell.

> Actual results:
(...)
> 0:17   Set the host volume to minimum
> 0:22   Set the guest volume to minimum
> 0:25   The host volume is now at maximum again

The interesting part of this last test is that your master is 100% but gnome-boxes playback volume should be about the same volume as your guest. You can check it in GNOME under Settings > Audio > Applications, let that open while you perform your test again.
 
> Basically what happens is every time I boot a Fedora 24 guest in
> virt-manager or boxes, volume goes to 80% by the time the guest boot
> completes, and this is really unbelievably annoying. Seriously, I'm saying
> fuck out loud at work everytime I'm switching between a VM and Terminal,
> make some idiot mistake in Terminal that results in audio warning (like
> backspacing too far for example) and it's just too f'n goddamn loud and I
> get really pissed off.
> 
> It's definitely a regression, I don't know if it's something in F24 that's
> punching through F23 or what.

Ir order to improve this situation from our end (spice and spice's clients) we have now the volume synchronization feature that syncs the _Guest_ audio with _Client_ audio on connection which helps on volume jumps after you connect to the VM and after that, volume between guest and client's (like gnome-boxes) should be sync.
 
> Expected results:
> 
> Probably the guest volume should have no effect at all. Or possibly the
> guest volume should be relative to the host volume. But in no possible sane
> way does the guest alter the host's volume.

We definitely cannot ignore changes in guest's volume. Making it relative is possible but we would lose also the benefit of having 100% of clients volume when we increase to 100% the volume of the guest.

> Additional info:
> 
> [chris@f23m ~]$ grep flat /etc/pulse/daemon.conf 
> ; flat-volumes = no

As per Comment #3, this seems to be commented?

Thanks for your time in reporting this.

Comment 5 Chris Murphy 2016-05-09 19:12:13 UTC
I didn't realize ; was commenting out the setting, with ; removed flat-volumes = no does resolve the problem. However the default behavior is frankly bizarre as a design aesthetic. See this screencast where the volume changes from minimum to maximum just by booting the F24 VM, no user intervention happens at all.

Comment 6 Chris Murphy 2016-05-09 19:14:03 UTC
Created attachment 1155435 [details]
screencast of problem booting VM

Shows booting the VM on the right side screen, and the main screen has Sound settings showing at the same time. Shortly before gdm/login appears, the sound is bumped from min to max.

Comment 7 Cole Robinson 2016-05-09 19:31:03 UTC
The default behavior is entirely the result of the flat volume setting and yes I agree it's a totally disruptive and unintuitive default. There's been many discussions about changing the default, or fixing flat volumes, for example:

https://bugzilla.redhat.com/show_bug.cgi?id=1265267


Note You need to log in before you can comment on or make changes to this bug.