Seems PA is getting the correct active port: $ pactl list sinks Sink #0 State: SUSPENDED Name: sink.primary Description: Droid sink primary Driver: module-droid-card.c Sample Specification: s16le 2ch 44100Hz Channel Map: front-left,front-right Owner Module: 4 Mute: no Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB balance 0.00 Base Volume: 65536 / 100% / 0.00 dB Monitor Source: sink.primary.monitor Latency: 0 usec, configured 0 usec Flags: HARDWARE DECIBEL_VOLUME LATENCY Properties: device.description = "Droid sink primary" device.class = "sound" device.form_factor = "internal" droid.hw_module = "primary" device.icon_name = "audio-card" Ports: output-earpiece: Output to earpiece (priority: 200) output-speaker: Output to speaker (priority: 300) output-wired_headset: Output to wired headset (priority: 400, not available) output-wired_headphone: Output to wired headphone (priority: 400, not available) output-bluetooth_sco: Output to bluetooth sco (priority: 100) output-sco_headset: Output to sco headset (priority: 100) output-sco_carkit: Output to sco carkit (priority: 100) output-aux_digital: Output to aux digital (priority: 100) output-analog_dock_headset: Output to analog dock headset (priority: 100) output-digital_dock_headset: Output to digital dock headset (priority: 100) output-fm_tx: Output to fm tx (priority: 200) output-speaker+wired_headphone: Output to speaker+wired headphone (priority: 100) output-parking: Parking port (priority: 50) Active Port: output-speaker Formats: pcm Sink #1 State: SUSPENDED Name: sink.fake.sco Description: Null Output Driver: module-null-sink.c Sample Specification: s16le 1ch 8000Hz Channel Map: mono Owner Module: 5 Mute: no Volume: mono: 65536 / 100% / 0.00 dB balance 0.00 Base Volume: 65536 / 100% / 0.00 dB Monitor Source: sink.fake.sco.monitor Latency: 0 usec, configured 0 usec Flags: DECIBEL_VOLUME LATENCY Properties: device.description = "Null Output" device.class = "abstract" device.icon_name = "audio-card" Formats: pcm Then plugging in a headphone goes to: $ pactl list sinks Sink #0 State: SUSPENDED Name: sink.primary Description: Droid sink primary Driver: module-droid-card.c Sample Specification: s16le 2ch 44100Hz Channel Map: front-left,front-right Owner Module: 4 Mute: no Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB balance 0.00 Base Volume: 65536 / 100% / 0.00 dB Monitor Source: sink.primary.monitor Latency: 0 usec, configured 0 usec Flags: HARDWARE DECIBEL_VOLUME LATENCY Properties: device.description = "Droid sink primary" device.class = "sound" device.form_factor = "internal" droid.hw_module = "primary" device.icon_name = "audio-card" Ports: output-earpiece: Output to earpiece (priority: 200) output-speaker: Output to speaker (priority: 300) output-wired_headset: Output to wired headset (priority: 400, not available) output-wired_headphone: Output to wired headphone (priority: 400, available) output-bluetooth_sco: Output to bluetooth sco (priority: 100) output-sco_headset: Output to sco headset (priority: 100) output-sco_carkit: Output to sco carkit (priority: 100) output-aux_digital: Output to aux digital (priority: 100) output-analog_dock_headset: Output to analog dock headset (priority: 100) output-digital_dock_headset: Output to digital dock headset (priority: 100) output-fm_tx: Output to fm tx (priority: 200) output-speaker+wired_headphone: Output to speaker+wired headphone (priority: 100) output-parking: Parking port (priority: 50) Active Port: output-wired_headphone Formats: pcm Sink #1 State: SUSPENDED Name: sink.fake.sco Description: Null Output Driver: module-null-sink.c Sample Specification: s16le 1ch 8000Hz Channel Map: mono Owner Module: 5 Mute: no Volume: mono: 65536 / 100% / 0.00 dB balance 0.00 Base Volume: 65536 / 100% / 0.00 dB Monitor Source: sink.fake.sco.monitor Latency: 0 usec, configured 0 usec Flags: DECIBEL_VOLUME LATENCY Properties: device.description = "Null Output" device.class = "abstract" device.icon_name = "audio-card" Formats: pcm