Sounds settings lost after reboot

Bug #1256511 reported by Fish on 2013-11-30
40
This bug affects 8 people
Affects Status Importance Assigned to Milestone
PulseAudio
Fix Released
Medium
pulseaudio (Ubuntu)
Undecided
Unassigned

Bug Description

I recently upgraded from Xubuntu 13.04 to 13:10 (64-bit), and since then I have no sound when I start my PC, because it's being sent to the HDMI output (my TV). I want it to go to the Analogue output (my PC) like it used to on 13.04. I can change it using the pulse-audio Volume Control program, but my settings are lost after I reboot.

The pulse-audio Volume Control doesn't have my Analogue Output as a valid option in the Output Devices tab; it appears only after I select Analogue Stereo within the Configuration tab. I then choose it as my "fallback" device (which I think means default device?), but my changes are not saved between reboots.

After changing the output device to Analogue Stereo using the Configuration tab, I then have to change the output of the individual program using the Playback tab, since it uses the current default (HDMI).

I've tried setting my default audio device using pacmd, but it hasn't helped: my Analogue device does show up as the active sink when I run pacmd list-sinks, but it's not the selected device within the Volume Control (in the Configuration tab) so I don't get any sound unless I manually change it using the GUI.

Here's the output of some pactl commands after I start my PC - note that the Analog Stereo source is missing:

$ pactl list sources short
0 alsa_input.usb-046d_08b2-01-U0x46d0x8b2.analog-mono module-alsa-card.c s16le 1ch 44100Hz SUSPENDED
1 alsa_output.pci-0000_00_1b.0.hdmi-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz SUSPENDED

$ pactl list sinks short
0 alsa_output.pci-0000_00_1b.0.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED

After I open the pulse-audio Volume Control and select the "Analog Stereo" item from the Configuration tab, running the same commands again gives:

$ pactl list sources short
0 alsa_input.usb-046d_08b2-01-U0x46d0x8b2.analog-mono module-alsa-card.c s16le 1ch 44100Hz IDLE
1 alsa_output.pci-0000_00_1b.0.hdmi-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz IDLE
2 alsa_output.pci-0000_00_1b.0.analog-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz IDLE

$ pactl list sinks short
0 alsa_output.pci-0000_00_1b.0.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz IDLE
1 alsa_output.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz IDLE

The Analogue Stereo source is present and I can hear sound through my PC's speakers. But when I reboot my PC these settings are lost, and I have to do this over again. I wouldn't mind so much if I could fix this from the command line, but I haven't found a way to do that.

I'm not 100% certain this is a pulseaudio bug - that's just my best guess.

Thanks.

ProblemType: Bug
DistroRelease: Ubuntu 13.10
Package: pulseaudio 1:4.0-0ubuntu6
ProcVersionSignature: Ubuntu 3.11.0-13.20-generic 3.11.6
Uname: Linux 3.11.0-13-generic x86_64
ApportVersion: 2.12.5-0ubuntu2.1
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: fish 3878 F.... pulseaudio
 /dev/snd/pcmC0D3p: fish 3878 F...m pulseaudio
 /dev/snd/controlC1: fish 3878 F.... pulseaudio
 /dev/snd/pcmC1D0c: fish 3878 F...m pulseaudio
Date: Sat Nov 30 13:59:41 2013
InstallationDate: Installed on 2013-03-01 (273 days ago)
InstallationMedia: Xubuntu 12.10 "Quantal Quetzal" - Release amd64 (20121017.1)
MarkForUpload: True
SourcePackage: pulseaudio
UpgradeStatus: Upgraded to saucy on 2013-11-09 (20 days ago)
dmi.bios.date: 08/31/2012
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: V2.5
dmi.board.asset.tag: To be filled by O.E.M.
dmi.board.name: Z77A-G43 (MS-7758)
dmi.board.vendor: MSI
dmi.board.version: 1.0
dmi.chassis.asset.tag: To Be Filled By O.E.M.
dmi.chassis.type: 3
dmi.chassis.vendor: MSI
dmi.chassis.version: 1.0
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrV2.5:bd08/31/2012:svnMSI:pnMS-7758:pvr1.0:rvnMSI:rnZ77A-G43(MS-7758):rvr1.0:cvnMSI:ct3:cvr1.0:
dmi.product.name: MS-7758
dmi.product.version: 1.0
dmi.sys.vendor: MSI

Related branches

Fish (andy-aka-fish) wrote :
Raymond (superquad-vortex2) wrote :

 control.34 {
  iface CARD
  name 'Line Out Front Jack'
  value true
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }

 active profile: <output:hdmi-stereo>
 sinks:
  alsa_output.pci-0000_00_1b.0.hdmi-stereo/#0: Built-in Audio Digital Stereo (HDMI)
 sources:
  alsa_output.pci-0000_00_1b.0.hdmi-stereo.monitor/#1: Monitor of Built-in Audio Digital Stereo (HDMI)
 ports:
  analog-input-microphone-front: Front Microphone (priority 8500, latency offset 0 usec, available: no)
   properties:
    device.icon_name = "audio-input-microphone"
  analog-input-microphone-rear: Rear Microphone (priority 8200, latency offset 0 usec, available: no)
   properties:
    device.icon_name = "audio-input-microphone"
  analog-input-linein: Line In (priority 8100, latency offset 0 usec, available: no)
   properties:

  analog-output: Analog Output (priority 9900, latency offset 0 usec, available: unknown)
   properties:

  analog-output-headphones: Headphones (priority 9000, latency offset 0 usec, available: no)
   properties:
    device.icon_name = "audio-headphones"
  hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: yes)
   properties:
    device.icon_name = "video-display"
    device.product.name = "SAMSUNG"

do you mean pulseaudio select hdmi automatically even speaker is plugged into Line Out jack ?

http://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/src/modules/alsa/mixer/paths/analog-output-lineout.conf?id=ecf3ab2b5788c85c237eeb6429bd1d525b9ac0cc

https://bugs.freedesktop.org/enter_bug.cgi?product=PulseAudio

Fish (andy-aka-fish) wrote :

#2: do you mean pulseaudio select hdmi automatically even speaker is plugged into Line Out jack ?

- Yes, my Line-Out is always connected to my PC speakers, and my HDMI is always connected to my TV.

Raymond (superquad-vortex2) wrote :

ls /usr/share/pulseaudio/alsa-mixer/paths

do you have analog-output-lineout.conf in the above directory ?

if yes, you have to post pulseaudio verbose log to find out why analog-output-line-out is not selected

https://wiki.ubuntu.com/PulseAudio/Log

Fish (andy-aka-fish) wrote :

#3: continued...

If I unplug my HDMI cable and restart my PC, then the Analog Stereo (Line-Out) output is used as the default (it's the only output available).

But when I plug-in my HDMI cable and reboot, the HDMI output becomes the default again.

Fish (andy-aka-fish) wrote :

#4: No, I don't have that file.

$ ls /usr/share/pulseaudio/alsa-mixer/paths/analog-output*
/usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf
/usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common
/usr/share/pulseaudio/alsa-mixer/paths/analog-output-desktop-speaker.conf
/usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf
/usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf
/usr/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf
/usr/share/pulseaudio/alsa-mixer/paths/analog-output-speaker-always.conf
/usr/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf

Raymond (superquad-vortex2) wrote :

http://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/src/modules/alsa/mixer/paths?id=ef2810e1bea7ae4e7774d51fbcc7dd8ede52da3c

analog-output: Analog Output (priority 9900, latency offset 0 usec, available: unknown)

seem that you need to change state.plugged from unknown to yes

[Jack Line Out]
-state.plugged = unknown
+state.plugged = yes

Fish (andy-aka-fish) wrote :

#7: I tried adding those changes to /usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf, but it didn't help. If my HDMI cable is attached when I boot my PC, then that's always chosen as the default output.

Fish (andy-aka-fish) wrote :

#10: I didn't know about that file. I've just tried changing the paths-output lines within /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf to include the "analog-output-lineout" entry as shown in the diff output, but it didn't make any difference.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in pulseaudio (Ubuntu):
status: New → Confirmed
Michal Nowak (mjb-nowak) wrote :

I am experiencing the same problem.
My pc is connected to HDMI monitor with build-in speakers and also to 5.1 surround speakers. On 12.04 and 13.04 I was able to set the Analog-Output ( 5.1 speakers) as my default output device. This setting remained across reboots. Right after upgrading to 13.10 my output device was reset to HDMI/Display Port. I am still able to change the output device to Analog-Output (my speakers), and sounds works perfectly but unfortunately this setting is lost after reboot.

Settings right after reboot:
pactl list sources short
0 alsa_output.pci-0000_00_1b.0.hdmi-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
1 alsa_input.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED

pactl list sinks short
0 alsa_output.pci-0000_00_1b.0.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED

And after switching to Analog Output in Sound settings
pactl list sources short
0 alsa_output.pci-0000_00_1b.0.hdmi-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
1 alsa_input.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
3 alsa_input.pci-0000_00_1b.0.analog-stereo.2 module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
4 alsa_output.pci-0000_00_1b.0.analog-surround-51.monitor module-alsa-card.c s16le 6ch 44100Hz SUSPENDED

pactl list sinks short
0 alsa_output.pci-0000_00_1b.0.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
2 alsa_output.pci-0000_00_1b.0.analog-surround-51 module-alsa-card.c s16le 6ch 48000Hz SUSPENDED

I also have:

[Jack Line Out]
state.plugged = unknown

in /usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf

but changing it to state.plugged = yes doesn't fix the problem

Appreciate any help here,
Thanks,
Michal

Michal Nowak (mjb-nowak) wrote :

Damn, I accidentally changed the status of this bug from Confirmed to Fix Released. Could someone with sufficient permissions revert it please.

Thanks,
Michal

Changed in pulseaudio (Ubuntu):
status: Confirmed → Fix Released
Michal Nowak (mjb-nowak) wrote :

After some amount of digging I found a workaround that worked for me.

I set up the desired sound settings in Sound control panel. Then I run:
pacmd list-cards
It turned out that my card index is 0 and my output profile is: output:analog-surround-51

Then I added the:
set-card-profile 0 output:analog-surround-51
set-default-sink 2

to the bottom of my /etc/pulse/default.pa

After restarting my machine, it woke up with correct sound settings. Now I know it's just a workaround and it's a shame that settings are not saved after changing it in the Sound settings UI.

Thanks,
Michal

Fish (andy-aka-fish) on 2014-01-06
Changed in pulseaudio (Ubuntu):
status: Fix Released → Confirmed

My default audio is being sent to my HDMI output instead of my Analog output. This change happened after upgrading from Xubuntu 13.04 to 13:10 (64-bit). If I use Pavucontrol to change my settings, they are lost after I reboot. So there are 2 problems:

1. My default uses the HDMI instead of the Analog output.
2. Changing the above doesn't persist after a reboot.

The pulse-audio Volume Control doesn't have my Analogue Output as a valid option in the Output Devices tab; it appears only after I select Analogue Stereo within the Configuration tab. I then choose it as my "fallback" device (which I think means default device?), but my changes are not saved between reboots.

After changing the output device to Analogue Stereo using the Configuration tab, I then have to change the output of the individual program using the Playback tab, since it uses the current default (HDMI).

I've tried setting my default audio device using pacmd, but it hasn't helped: my Analogue device does show up as the active sink when I run pacmd list-sinks, but it's not the selected device within the Volume Control (in the Configuration tab) so I don't get any sound unless I manually change it using the GUI.

Here's the output of some pactl commands after I start my PC - note that the Analog Stereo source is missing:

$ pactl list sources short
0 alsa_input.usb-046d_08b2-01-U0x46d0x8b2.analog-mono module-alsa-card.c s16le 1ch 44100Hz SUSPENDED
1 alsa_output.pci-0000_00_1b.0.hdmi-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz SUSPENDED

$ pactl list sinks short
0 alsa_output.pci-0000_00_1b.0.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED

After I open the pulse-audio Volume Control and select the "Analog Stereo" item from the Configuration tab, running the same commands again gives:

$ pactl list sources short
0 alsa_input.usb-046d_08b2-01-U0x46d0x8b2.analog-mono module-alsa-card.c s16le 1ch 44100Hz IDLE
1 alsa_output.pci-0000_00_1b.0.hdmi-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz IDLE
2 alsa_output.pci-0000_00_1b.0.analog-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz IDLE

$ pactl list sinks short
0 alsa_output.pci-0000_00_1b.0.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz IDLE
1 alsa_output.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz IDLE

The Analogue Stereo source is present and I can hear sound through my PC's speakers. But when I reboot my PC these settings are lost, and I have to do this over again. I wouldn't mind so much if I could fix this from the command line, but I haven't found a way to do that.

I originally raised this bug on Ubuntu's Launchpad, so you might find some useful information from other users there:

https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1256511

Fish (andy-aka-fish) wrote :

I've just submitted the same bug report on freedesktop.org.

https://bugs.freedesktop.org/show_bug.cgi?id=73375

Changed in pulseaudio:
importance: Unknown → Medium
status: Unknown → Confirmed

do you mean the module-switch-on-port-available change the default sink or pulseaudio did not remember your default setting after reboot ?

(In reply to comment #1)
> do you mean the module-switch-on-port-available change the default sink or
> pulseaudio did not remember your default setting after reboot ?

Both (I think). The default sink changed after the upgrade, and when I changed it back using the pulse-audio Volume Control the new settings were lost after I rebooted.

Default sink name: alsa_output.pci-0000_00_1b.0.hdmi-stereo
Default source name: alsa_input.usb-046d_08b2-01-U0x46d0x8b2.analog-mono

post output of

pactl list sinks

do the state of your analog outputs are available and higher priority than your hdmi ?

Tom Fields (udzelem) wrote :

Same here, Kubuntu Trusty beta, when using either pavucontrol or the KDE systemsettings module.

When using the KDE systemsettings module "Multimedia", I can correctly alter the priorities of the available audio output modules (e.g. HDMI and analog), and I can change the audio profile (second tab, audio hardware settings) to analog.

However, after reboot, these settings are lost and HDMI audio is always enabled again.

The workaround from reply #15 works, by setting the default profile in /etc/pulse/default.pa.

Raymond (superquad-vortex2) wrote :

take a look at the system log

the Jack detection of the headphone and line out can be obtained when the driver is loaded, but the Jack detection of HDMI is delayed until the graphic driver query HDMI edid , extract the speaker allocation , channels and rate to eld and pass them to the audio driver

do you mean that the HDMI is always plugged after the headphone and pulseaudio ?

http://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/src?id=d389e7d37ca603417e018d2031c09256854a8810

I have a similar problem. I found this thread while trying to find out why pulseaudio isn't saving my settings on boot.

When I start Xubuntu my "Built-in Audio" profile defaults to "Analog Stereo Duplex" and I have to manually set it to "Digital Stereo (IEC958) Output". I don't use HDMI or analog, and both of these ports are unplugged. The only sound device plugged into or attached to my computer is the digital out.

When I reboot my system or restart pulse-audio, all of my pulseaudio settings are lost and I have to manually change the profile again.

I tried editing /etc/pulse/default.pa and selecting my default sink to "alsa_output.pci-0000_00_1b.0.iec958-stereo". When I restart pulseaudio using that configuration, "pactl list short sinks" no longer lists the appropriate sink, and pulseaudio defaults back to "Analog Stereo Duplex" (aka: "alsa_output.pci-0000_00_1b.0.analog-stereo").

Raymond (superquad-vortex2) wrote :

this is another side effect of module-swith-on-port-available since iec958 does not support jack detection

you need to comment the loading of this module in default.pa

and

set iec958 as default sink

file bug report if pulseaudio cannot save the default-sink setting when you select iec958 as default sink

https://bugs.freedesktop.org/enter_bug.cgi?product=PulseAudio

(In reply to comment #3)
> Default sink name: alsa_output.pci-0000_00_1b.0.hdmi-stereo
> Default source name: alsa_input.usb-046d_08b2-01-U0x46d0x8b2.analog-mono
>
> post output of
>
> pactl list sinks
>
> do the state of your analog outputs are available and higher priority than
> your hdmi ?

Below is what I get when my HDMI cable is plugged in (I usually leave it unplugged to avoid the problem).

$ pactl list sinks
Sink #0
 State: SUSPENDED
 Name: alsa_output.pci-0000_00_1b.0.hdmi-stereo
 Description: Built-in Audio Digital Stereo (HDMI)
 Driver: module-alsa-card.c
 Sample Specification: s16le 2ch 44100Hz
 Channel Map: front-left,front-right
 Owner Module: 6
 Mute: no
 Volume: 0: 45% 1: 45%
         0: -20.80 dB 1: -20.80 dB
         balance 0.00
 Base Volume: 100%
              0.00 dB
 Monitor Source: alsa_output.pci-0000_00_1b.0.hdmi-stereo.monitor
 Latency: 0 usec, configured 0 usec
 Flags: HARDWARE DECIBEL_VOLUME LATENCY SET_FORMATS
 Properties:
  alsa.resolution_bits = "16"
  device.api = "alsa"
  device.class = "sound"
  alsa.class = "generic"
  alsa.subclass = "generic-mix"
  alsa.name = "HDMI 0"
  alsa.id = "HDMI 0"
  alsa.subdevice = "0"
  alsa.subdevice_name = "subdevice #0"
  alsa.device = "3"
  alsa.card = "0"
  alsa.card_name = "HDA Intel PCH"
  alsa.long_card_name = "HDA Intel PCH at 0xf7c10000 irq 45"
  alsa.driver_name = "snd_hda_intel"
  device.bus_path = "pci-0000:00:1b.0"
  sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
  device.bus = "pci"
  device.vendor.id = "8086"
  device.vendor.name = "Intel Corporation"
  device.product.id = "1e20"
  device.product.name = "7 Series/C210 Series Chipset Family High Definition Audio Controller"
  device.form_factor = "internal"
  device.string = "hdmi:0"
  device.buffering.buffer_size = "65536"
  device.buffering.fragment_size = "32768"
  device.access_mode = "mmap+timer"
  device.profile.name = "hdmi-stereo"
  device.profile.description = "Digital Stereo (HDMI)"
  device.description = "Built-in Audio Digital Stereo (HDMI)"
  alsa.mixer_name = "Intel PantherPoint HDMI"
  alsa.components = "HDA:10ec0892,1462f758,00100302 HDA:80862806,80860101,00100000"
  module-udev-detect.discovered = "1"
  device.icon_name = "audio-card-pci"
 Ports:
  hdmi-output-0: HDMI / DisplayPort (priority: 5900, available)
 Active Port: hdmi-output-0
 Formats:
  pcm

post output of

xrandr --verbose

xrandr --help

seem have option to enable HDMI video but disable HDMI audio

Tom Fields (udzelem) wrote :

Hi Raymond,

the problem for me is not that HDMI , that no matter what I choose as a default profile in the audio settings, these changes get lost after reboot.

That this has to do with HDMI audio becoming available later in the boot process, after the other outputs have already been initialised, seems plausible to me.

In any case, that the (pulse-) audio configuration always ends up with an HDMI-only output profile after reboot is the biggest annoyance.

Tom Fields (udzelem) wrote :

Correction; first line was supposed to say:
"the problem is that no matter which profile is chosen, the settings get lost after reboot."

module-switch-on-port-available should not automatically change the card profile from analog to hdmi, and when you switch the profile with pavucontrol, that choice should be remembered... I'd like to see PulseAudio logs.

Could you do this:

1) Disable autospawning:
        echo autospawn = no >> ~/.config/pulse/client.conf

2) Stop pulseaudio:
        killall pulseaudio

3) Start pulseaudio in a terminal:
        pulseaudio -vvv

4) Set the card profile:
        pactl set-card-profile alsa_card.pci-0000_00_1b.0 output:analog-stereo

5) Stop pulseaudio with Ctrl-C and save the log output.

6) Start pulseaudio again:
        pulseaudio -vvv

7) Check the active card profile:
        pactl list cards

8) Stop pulseaudio with Ctrl-C and save the log output.

9) Attach the logs from steps 5 and 8 and the pactl output from step 7 to this bug.

Download full text (14.8 KiB)

(In reply to comment #5)
> post output of
>
> xrandr --verbose
>
>
>
> xrandr --help
>
> seem have option to enable HDMI video but disable HDMI audio

My monitor has a HDMI input and also an audio input (analogue), but I don't use them.

$ xrandr --verbose
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 32767 x 32767
VGA1 disconnected (normal left inverted right x axis y axis)
 Identifier: 0x43
 Timestamp: 17228
 Subpixel: unknown
 Clones:
 CRTCs: 0 1 2
 Transform: 1.000000 0.000000 0.000000
             0.000000 1.000000 0.000000
             0.000000 0.000000 1.000000
            filter:
HDMI1 connected 1920x1080+0+0 (0x4a) normal (normal left inverted right x axis y axis) 531mm x 298mm
 Identifier: 0x44
 Timestamp: 17228
 Subpixel: unknown
 Gamma: 1.0:1.0:1.0
 Brightness: 1.0
 Clones:
 CRTC: 0
 CRTCs: 0 1 2
 Transform: 1.000000 0.000000 0.000000
             0.000000 1.000000 0.000000
             0.000000 0.000000 1.000000
            filter:
 EDID:
  00ffffffffffff0009d1a77845540000
  2116010380351e782eba45a159559d28
  0d5054a56b80810081c08180a9c0b300
  d1c001010101023a801871382d40582c
  4500132a2100001e000000ff004d3843
  3036313533534c300a20000000fd0032
  4c1e5311000a202020202020000000fc
  0042656e5120474c32343530480a0011
 Broadcast RGB: Automatic
  supported: AutomaticFullLimited 16:235
 audio: auto
  supported: force-dvioffautoon
  1920x1080 (0x4a) 148.5MHz +HSync +VSync *current +preferred
        h: width 1920 start 2008 end 2052 total 2200 skew 0 clock 67.5KHz
        v: height 1080 start 1084 end 1089 total 1125 clock 60.0Hz
  1680x1050 (0xb3) 119.0MHz +HSync -VSync
        h: width 1680 start 1728 end 1760 total 1840 skew 0 clock 64.7KHz
        v: height 1050 start 1053 end 1059 total 1080 clock 59.9Hz
  1600x900 (0xb4) 119.0MHz -HSync +VSync
        h: width 1600 start 1696 end 1864 total 2128 skew 0 clock 55.9KHz
        v: height 900 start 901 end 904 total 932 clock 60.0Hz
  1280x1024 (0xb5) 135.0MHz +HSync +VSync
        h: width 1280 start 1296 end 1440 total 1688 skew 0 clock 80.0KHz
        v: height 1024 start 1025 end 1028 total 1066 clock 75.0Hz
  1280x1024 (0xb6) 108.0MHz +HSync +VSync
        h: width 1280 start 1328 end 1440 total 1688 skew 0 clock 64.0KHz
        v: height 1024 start 1025 end 1028 total 1066 clock 60.0Hz
  1280x800 (0xb7) 71.0MHz +HSync -VSync
        h: width 1280 start 1328 end 1360 total 1440 skew 0 clock 49.3KHz
        v: height 800 start 803 end 809 total 823 clock 59.9Hz
  1152x864 (0xb8) 108.0MHz +HSync +VSync
        h: width 1152 start 1216 end 1344 total 1600 skew 0 clock 67.5KHz
        v: height 864 start 865 end 868 total 900 clock 75.0Hz
  1280x720 (0xb9) 74.4MHz -HSync +VSync
        h: width 1280 start 1336 end 1472 total 1664 skew 0 clock 44.7KHz
        v: height 720 start 721 end 724 total 746 clock 60.0Hz
  1024x768 (0xba) 78.8MHz +HSync +VSync
        h: width 1024 start 1040 end 1136 total 1312 skew 0 clock 60.1KHz
        v: height 768 start...

Created attachment 95478
pulseaudio log output, comment 6, step 5

Created attachment 95479
pulseaudio log output, comment 6, step 8

Created attachment 95480
pactl log output, comment 6, step 7

post the output of alsa-info.sh

haswell suport multistreaming , but pulseaudio does not

you have two hdmi monitors connected to HDMI1 and HDMI2

1) Manufacturer: BNQ Model 78a7 Serial Number 21573
2) Manufacturer: SAM Model 902 Serial Number 0

HDMI1 connected 1920x1080+0+0 (0x4a) normal (normal left inverted right x axis y axis) 531mm x 298mm
 EDID:
  00ffffffffffff0009d1a77845540000
  2116010380351e782eba45a159559d28
  0d5054a56b80810081c08180a9c0b300
  d1c001010101023a801871382d40582c
  4500132a2100001e000000ff004d3843
  3036313533534c300a20000000fd0032
  4c1e5311000a202020202020000000fc
  0042656e5120474c32343530480a0011
 Broadcast RGB: Automatic
  supported: AutomaticFullLimited 16:235
 audio: auto
  supported: force-dvioffautoon

DP1 disconnected (normal left inverted right x axis y axis)
 Identifier: 0x45
 audio: auto
  supported: force-dvioffautoon

HDMI2 connected 1920x1080+0+0 (0x4a) normal (normal left inverted right x axis y axis) 160mm x 90mm
 Identifier: 0x46

 EDID:
  00ffffffffffff004c2d020900000000
  29150103805932780aee91a3544c9926
  0f5054bdef80714f81c0810081809500
  a9c0b3000101023a801871382d40582c
  4500a05a0000001e662156aa51001e30
  468f3300a05a0000001e000000fd0018
  4b0f5117000a202020202020000000fc
  0053414d53554e470a202020202001a6
  020325f14d901f041305140312202122
  07162309070783010000e2000f67030c
  001000b82d011d80d0721c1620102c25
  80a05a0000009e011d8018711c162058
  2c2500a05a0000009e011d00bc52d01e
  20b8285540a05a0000001e011d007251
  d01e206e285500a05a0000001e000000
  000000000000000000000000000000ec
 Broadcast RGB: Automatic
  supported: AutomaticFullLimited 16:235
 audio: auto
  supported: force-dvioffautoon

DP2 disconnected (normal left inverted right x axis y axis)
 audio: auto
  supported: force-dvioffautoon

Active Profile: output:hdmi-stereo
 Ports:
  analog-input-microphone-front: Front Microphone (priority: 8500, latency offset: 0 usec, not available)
   Properties:
    device.icon_name = "audio-input-microphone"
   Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-40+input:analog-stereo, output:analog-surround-41+input:analog-stereo, output:analog-surround-50+input:analog-stereo, output:analog-surround-51+input:analog-stereo, output:analog-surround-71+input:analog-stereo, output:hdmi-stereo+input:analog-stereo
  analog-input-microphone-rear: Rear Microphone (priority: 8200, latency offset: 0 usec, not available)
   Properties:
    device.icon_name = "audio-input-microphone"
   Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-40+input:analog-stereo, output:analog-surround-41+input:analog-stereo, output:analog-surround-50+input:analog-stereo, output:analog-surround-51+input:analog-stereo, output:analog-surround-71+input:analog-stereo, output:hdmi-stereo+input:analog-stereo
  analog-input-linein: Line In (priority: 8100, latency offset: 0 usec, not available)
   Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-40+input:analog-stereo, output:analog-surround-41+input:analog-stereo, output:analog-surround-50+input:analog-stereo, output:analog-surround-51+input:analog-stereo, output:analog-surround-71+input:analog-stereo, output:hdmi-stereo+input:analog-stereo
  analog-output: Analogue Output (priority: 9900, latency offset: 0 usec)
   Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-40, output:analog-surround-40+input:analog-stereo, output:analog-surround-41, output:analog-surround-41+input:analog-stereo, output:analog-surround-50, output:analog-surround-50+input:analog-stereo, output:analog-surround-51, output:analog-surround-51+input:analog-stereo, output:analog-surround-71, output:analog-surround-71+input:analog-stereo
  analog-output-headphones: Headphones (priority: 9000, latency offset: 0 usec, not available)
   Properties:
    device.icon_name = "audio-headphones"
   Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo
  hdmi-output-0: HDMI / DisplayPort (priority: 5900, latency offset: 0 usec, available)
   Properties:
    device.icon_name = "video-display"
    device.product.name = "SAMSUNG"
   Part of profile(s): output:hdmi-stereo, output:hdmi-stereo+input:analog-stereo

Ok, so module-card-restore claims to be selecting the analog profile when the card is created, but actually the hdmi profile gets selected. It might be that module-switch-on-port-available is overriding the profile choice made by module-card-restore. I believe that's not supposed to happen, so that's the first bug.

Another very weird bug is that when the analog profile is activated via pactl, the hdmi sink doesn't get removed. This was actually visible already in your initial bug description, but I didn't notice that.

I really would like to get these issues fixed by the time 6.0 is released, so I'll make this a release blocker, but I'm afraid it will take a while before I have time to properly start working on this bug.

Created attachment 95563
Output from alsa-info.sh

sudo /usr/share/alsa-base/alsa-info.sh

A newer version of alsa-info was available for installation, but I ignored it.

(In reply to comment #11)
> post the output of alsa-info.sh
> you have two hdmi monitors connected to HDMI1 and HDMI2
>

I've attached the output of alsa-info.sh.

My PC monitor is BNQ (BenQ); my TV is SAM (Samsung).

ELD seem belong to samsung monitor

 control.42 {
  iface CARD
  name 'HDMI/DP,pcm=3 Jack'
  value true
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }

 control.47 {
  iface PCM
  device 3
  name ELD
  value '100008006712000100000000000000004c2d020953414d53554e470907070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
  comment {
   access 'read volatile'
   type BYTES
   count 83
  }
 }

Are there any differnce in pulseaudio, alsa-info when

xrandr --output HDMI2 --set audio auto

xrandr --output HDMI2 --set audio on

xrandr --output HDMI2 --set audio off

Tom Fields (udzelem) wrote :

Raymond,

yes, I can switch the sound profile to "off", but then there is no audio at all.

Again, what I want is to choose a certain profile which then stays activated even after a reboot...
Instead, the profile always switches to "HDMI", no matter which different profile was selected before reboot.

i have the same problem on gentoo with module-switch-on-port-available aktivated.

you can read the details in a gentoo bug report:

https://bugs.gentoo.org/show_bug.cgi?id=493238

do you mean your DELL U2713HM is connected through DVI or VGA since it support DP and HDMI ?

CONNECTIVITY
1 Dual Link Digital Visual Interface connectors (DVI-D) with HDCP
1 DisplayPort 1.2 (DP)
1 High Definition Multimedia Interface (HDMI)
1 Video Graphics Array (VGA)

you have to post the output of alsa-info.sh and xrandr --verbose

http://www.dell.com/ed/business/p/dell-u2713hm/pd

1 Dual Link Digital Visual Interface connectors (DVI-D) with HDCP
1 DisplayPort 1.2 (DP)
1 High Definition Multimedia Interface (HDMI)
1 Video Graphics Array (VGA)

1 Audio out
DC power connector for Dell Soundbar (AX510)

Fish (andy-aka-fish) wrote :

#43:

I ran alsa-info.sh for different xrandr settings: "auto" and "on" are identical, but "off" is slightly different. I didn't notice any difference in how pulseaudio was working. See attachment.

https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1256511/comments/44

the graphic driver seem work at expected, since HDMI/DP,pcm=3 Jack return true when set audio auto / on and return false when set audio off

xrandr --output HDMI --set audio auto

xrandr --output HDMI --set audio on

control.42 {
  iface CARD
  name 'HDMI/DP,pcm=3 Jack'
  value true
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }

 control.47 {
  iface PCM
  device 3
  name ELD
  value '100008006712000100000000000000004c2d020953414d53554e470907070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
  comment {
   access 'read volatile'
   type BYTES
   count 83
  }
 }

xrandr --output HDMI --set audio off

control.42 {
  iface CARD
  name 'HDMI/DP,pcm=3 Jack'
  value false
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }

 control.47 {
  iface PCM
  device 3
  name ELD
  value ''
  comment {
   access 'read volatile'
   type BYTES
   count 0
  }
 }

Raymond (superquad-vortex2) wrote :

any pulseaudio log ?

graphic driver seem work as expected, since HDMI/DP,pcm=3 Jack return true when set audio auto / on and return false when set audio off

xrandr --output HDMI --set audio auto

xrandr --output HDMI --set audio on

control.42 {
  iface CARD
  name 'HDMI/DP,pcm=3 Jack'
  value true
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }

 control.47 {
  iface PCM
  device 3
  name ELD
  value '100008006712000100000000000000004c2d020953414d53554e470907070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
  comment {
   access 'read volatile'
   type BYTES
   count 83
  }
 }

xrandr --output HDMI --set audio off

control.42 {
  iface CARD
  name 'HDMI/DP,pcm=3 Jack'
  value false
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }

 control.47 {
  iface PCM
  device 3
  name ELD
  value ''
  comment {
   access 'read volatile'
   type BYTES
   count 0
  }
 }

Raymond (superquad-vortex2) wrote :

do mean HDMI still available when you run

 xrandr --output HDMI --set audio off

pactl list

hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: yes)
   properties:
    device.icon_name = "video-display"

Fish (andy-aka-fish) wrote :

> # 46: do mean HDMI still available when you run
> xrandr --output HDMI --set audio off

No it's not available - I meant there were no changes from the point of view of my default output. The HDMI audio was present for the "on" and "auto" settings.

Raymond (superquad-vortex2) wrote :

http://cgit.freedesktop.org/pulseaudio/pulseaudio/log/src/modules/module-switch-on-port-available.c

the function of module is to switch to hot plugged card when available,

it will change to an available port when the current port is available

do you mean that you want to let pulseaudio to use analog and the another user/application to use hdmi audio ?

Fish (andy-aka-fish) wrote :

#48
> do you mean that you want to let pulseaudio to use analog and the another user/application to use hdmi audio ?

No, I only want to use one audio output, and I'd like this to be my analog output by default. My default audio output is currently my HDMI port, and when I change it my settings are lost after I reboot. The only way I can make my analog audio output be the default is if I unplug my HDMI cable.

Fish (andy-aka-fish) wrote :

I've attached some pulseaudio logs based on the procedure from #32, but this time after setting my HDMI audio to: auto, on and off (using xrandr). The first log for each setting is from step 3, i.e. before using the pactl command (in step 4). The second log is from step 6.

Created attachment 96336
Output of "pactl list"

Created attachment 96337
Output of "pulseaudio -vvv" after killing pulseaudio, wrong profile is active

Created attachment 96338
Output of "pulseaudio -vvv" after changing the audio profile to analog and restarting pulseaudio

Hi,

I have exactly the same bug. The pulseaudio settings always fall back to a HDMI-only profile after reboot, no matter which profile/audio output I choose using pavucontrol or the KDE audio settings.

I have a Dell U2711 monitor, connected via a DisplayPort cable (which supports audio). This monitor has a sound output terminal, which I don't use and don't want to use.

To get my audio back, after every reboot I have to change back the card profile to analog audio using pavucontrol or:
pactl set-card-profile alsa_card.pci-0000_00_1b.0 output:analog-stereo

(and then change back the audio sink to the analog port if necessary, using e.g.:
 pactl move-sink-input 6 alsa_output.pci-0000_00_1b.0.analog-stereo).

I have attached the output of "pactl list", as well as the output of
"pulseaudio -vvv" before and after changing the card profile as requested by Tanu Kaskinen in Commen6 #6.

Hope this helps.

(In reply to comment #23)
> Created attachment 96337 [details]
> Output of "pulseaudio -vvv" after killing pulseaudio, wrong profile is active

After looking at this log, I think I found it, but I'm not really sure how to fix it yet.

There is some special code that should prevent switching from analog to HDMI:

    /* Try not to switch to HDMI sinks from analog when HDMI is becoming available */
    PA_IDXSET_FOREACH(sink, profile->card->sinks, idx) {
        if (!sink->active_port)
            continue;

        if (sink->active_port->available != PA_AVAILABLE_NO)
            return false;
    }

but it has stopped working on startup. The reason is this commit:

commit 0b83787d4e844f47affbc903d97b0ca69e234570
Author: David Henningsson <email address hidden>
Date: Tue Apr 16 15:17:37 2013 +0200

    alsa: Initialize ports before sinks/sources

...this causes the current profile not to have any sinks, so the code above never returns false like it should.

Okay, I wrote a patch, but haven't tested it myself, anybody who wants to test it?

http://lists.freedesktop.org/archives/pulseaudio-discuss/2014-March/020294.html

@David: Many thanks for your inivestigation and the patch!

Just now, I compiled pulseaudio 4.0 with your patch applied:

_Yes_, indeed this fixes the problem for me: The analog profile stays activated after reboot.

Would be nice if someone else could confirm this.

Best wishes.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pulseaudio - 1:4.0-0ubuntu11

---------------
pulseaudio (1:4.0-0ubuntu11) trusty; urgency=medium

  * 0105-sink-source-Initialize-port-before-fixate-hook-fixes.patch:
    Fix volume/mute not restored in some cases (LP: #1285179, LP: #1289515)
  * 0106-module-switch-on-port-available-Don-t-switch-profile.patch:
    Fix profile incorrectly switched on startup (LP: #1256511)
 -- David Henningsson <email address hidden> Fri, 04 Apr 2014 09:39:55 +0200

Changed in pulseaudio (Ubuntu):
status: Confirmed → Fix Released
Tom Fields (udzelem) wrote :

Thanks. I can confirm this fix works.

I've now committed the patch to PulseAudio git - thanks for testing!

Changed in pulseaudio:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.