mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-29 05:40:27 -04:00
doc: document some more device properties
Document some missed ALSA device properties. Update Bluetooth docs.
This commit is contained in:
parent
65f067347d
commit
e057b8d727
1 changed files with 82 additions and 26 deletions
|
|
@ -333,7 +333,7 @@ a sink or source.
|
||||||
If this node wants to be linked exclusively to the sink/source.
|
If this node wants to be linked exclusively to the sink/source.
|
||||||
|
|
||||||
@PAR@ node-prop node.target = <node.name|object.id>
|
@PAR@ node-prop node.target = <node.name|object.id>
|
||||||
Where this node should be linked to. This can be a node.name or an object.id of a node. This property is
|
Where this node should be linked to. This can be a node.name or an object.id of a node. This property is
|
||||||
deprecated, the target.object property should be used instead, which uses the more unique object.serial as
|
deprecated, the target.object property should be used instead, which uses the more unique object.serial as
|
||||||
a possible target.
|
a possible target.
|
||||||
|
|
||||||
|
|
@ -405,7 +405,7 @@ All properties listed below are node properties.
|
||||||
|
|
||||||
## Merger Parameters
|
## Merger Parameters
|
||||||
|
|
||||||
The merger is used as the input for a sink device node or a capture stream. It takes the various channels and merges them into a single stream for further processing.
|
The merger is used as the input for a sink device node or a capture stream. It takes the various channels and merges them into a single stream for further processing.
|
||||||
|
|
||||||
The merger will also provide the monitor ports of the input channels and can
|
The merger will also provide the monitor ports of the input channels and can
|
||||||
apply a software volume on the monitor signal.
|
apply a software volume on the monitor signal.
|
||||||
|
|
@ -506,7 +506,7 @@ with the `channelmix-upmix-method` property.
|
||||||
|
|
||||||
3. psd. The rear channels as produced from the front left and right ambient sound (the
|
3. psd. The rear channels as produced from the front left and right ambient sound (the
|
||||||
difference between the channels). A delay and optional phase shift are added to the rear signal
|
difference between the channels). A delay and optional phase shift are added to the rear signal
|
||||||
to make the sound bigger.
|
to make the sound bigger.
|
||||||
\endparblock
|
\endparblock
|
||||||
|
|
||||||
@PAR@ node-prop channelmix.lfe-cutoff = 150
|
@PAR@ node-prop channelmix.lfe-cutoff = 150
|
||||||
|
|
@ -648,6 +648,56 @@ Select reasonable port on device startup. Available for ACP devices.
|
||||||
@PAR@ device-prop api.acp.auto-profile # boolean
|
@PAR@ device-prop api.acp.auto-profile # boolean
|
||||||
Select reasonable profile on device startup. Available for ACP devices.
|
Select reasonable profile on device startup. Available for ACP devices.
|
||||||
|
|
||||||
|
@PAR@ device-prop api.alsa.use-ucm = true # boolean
|
||||||
|
\parblock
|
||||||
|
When ACP is enabled and a UCM configuration is available for a device, by
|
||||||
|
default it is used instead of the ACP profiles. This option allows you to
|
||||||
|
disable this and use the ACP profiles instead.
|
||||||
|
|
||||||
|
This option does nothing if `api.alsa.use-acp` is set to `false`.
|
||||||
|
\endparblock
|
||||||
|
|
||||||
|
@PAR@ device-prop api.alsa.soft-mixer = false # boolean
|
||||||
|
Setting this option to `true` will disable the hardware mixer for volume
|
||||||
|
control and mute. All volume handling will then use software volume and mute,
|
||||||
|
leaving the hardware mixer untouched. The hardware mixer will still be used
|
||||||
|
to mute unused audio paths in the device.
|
||||||
|
|
||||||
|
@PAR@ device-prop api.alsa.ignore-dB = false # boolean
|
||||||
|
Setting this option to `true` will ignore the decibel setting configured by
|
||||||
|
the driver. Use this when the driver reports wrong settings.
|
||||||
|
|
||||||
|
@PAR@ device-prop device.profile-set # string
|
||||||
|
This option can be used to select a custom ACP profile-set name for the
|
||||||
|
device. This can be configured in UDev rules, but it can also be specified
|
||||||
|
here. The default is to use "default.conf" unless there is a matching udev rule.
|
||||||
|
|
||||||
|
@PAR@ device-prop device.profile # string
|
||||||
|
The initial active profile name. The default is to start from the "Off"
|
||||||
|
profile and then let session manager select the best profile based on its
|
||||||
|
policy.
|
||||||
|
|
||||||
|
@PAR@ device-prop api.acp.auto-profile = true # boolean
|
||||||
|
Automatically select the best profile for the device. The session manager
|
||||||
|
usually disables this, as it handles this task instead. This can be
|
||||||
|
enabled in custom configurations without the session manager handling this.
|
||||||
|
|
||||||
|
@PAR@ device-prop api.acp.auto-port = true # boolean
|
||||||
|
Automatically select the highest priority port that is available ("port" is a
|
||||||
|
PulseAudio/ACP term, the equivalent of a "Route" in PipeWire). The session manager
|
||||||
|
usually disables this, as it handles this task instead. This can be
|
||||||
|
enabled in custom configurations without the session manager handling this.
|
||||||
|
|
||||||
|
@PAR@ device-prop api.acp.probe-rate # integer
|
||||||
|
Sets the samplerate used for probing the ALSA devices and collecting the
|
||||||
|
profiles and ports.
|
||||||
|
|
||||||
|
@PAR@ device-prop api.acp.pro-channels # integer
|
||||||
|
Sets the number of channels to use when probing the "Pro Audio" profile.
|
||||||
|
Normally, the maximum amount of channels will be used but with this setting
|
||||||
|
this can be reduced, which can make it possible to use other samplerates on
|
||||||
|
some devices.
|
||||||
|
|
||||||
## Node properties
|
## Node properties
|
||||||
|
|
||||||
@PAR@ node-prop audio.channels # integer
|
@PAR@ node-prop audio.channels # integer
|
||||||
|
|
@ -678,10 +728,12 @@ The amount of periods to use in the device. By default this is 0, which means to
|
||||||
@PAR@ node-prop api.alsa.headroom # integer
|
@PAR@ node-prop api.alsa.headroom # integer
|
||||||
The amount of extra space to keep in the ringbuffer. The default is 0. Higher values can be configured when the device read and write pointers are not accurately reported.
|
The amount of extra space to keep in the ringbuffer. The default is 0. Higher values can be configured when the device read and write pointers are not accurately reported.
|
||||||
|
|
||||||
@PAR@ node-prop api.alsa.start-delay # integer
|
@PAR@ node-prop api.alsa.start-delay = 0 # integer
|
||||||
Some devices require a startup period. The default is 0. Higher values can be set to send silence samples to the device first.
|
Some devices need some time before they can report accurate hardware pointer
|
||||||
|
positions. In those cases, an extra start delay can be added to compensate
|
||||||
|
for this startup delay. This sets the startup delay in samples.
|
||||||
|
|
||||||
@PAR@ node-prop api.alsa.disable-mmap # boolean
|
@PAR@ node-prop api.alsa.disable-mmap = false # boolean
|
||||||
Disable mmap operation of the device and use the ALSA read/write API instead. Default is false, mmap is preferred.
|
Disable mmap operation of the device and use the ALSA read/write API instead. Default is false, mmap is preferred.
|
||||||
|
|
||||||
@PAR@ node-prop api.alsa.disable-batch # boolean
|
@PAR@ node-prop api.alsa.disable-batch # boolean
|
||||||
|
|
@ -736,27 +788,32 @@ Available values: PCM, AC3, DTS, MPEG, MPEG2-AAC, EAC3, TRUEHD, DTSHD
|
||||||
The following are settings for the Bluetooth device monitor, not device or
|
The following are settings for the Bluetooth device monitor, not device or
|
||||||
node properties:
|
node properties:
|
||||||
|
|
||||||
@PAR@ monitor-prop bluez5.roles # JSON array of string
|
@PAR@ monitor-prop bluez5.roles = [ a2dp_sink a2dp_source bap_sink bap_source bap_bcast_sink bap_bcast_source hfp_hf hfp_ag ] # JSON array of string
|
||||||
\parblock
|
\parblock
|
||||||
Enabled roles (default: [ a2dp_sink a2dp_source bap_sink bap_source hfp_hf hfp_ag ])
|
Enabled roles.
|
||||||
|
|
||||||
Currently some headsets (Sony WH-1000XM3) are not working with
|
Currently some headsets (Sony WH-1000XM3) are not working with
|
||||||
both hsp_ag and hfp_ag enabled, so by default we enable only HFP.
|
both hsp_ag and hfp_ag enabled, so by default we enable only HFP.
|
||||||
|
|
||||||
Supported roles:
|
Supported roles:
|
||||||
- hsp_hs (HSP Headset),
|
- `hsp_hs` (HSP Headset),
|
||||||
- hsp_ag (HSP Audio Gateway),
|
- `hsp_ag` (HSP Audio Gateway),
|
||||||
- hfp_hf (HFP Hands-Free),
|
- `hfp_hf` (HFP Hands-Free),
|
||||||
- hfp_ag (HFP Audio Gateway)
|
- `hfp_ag` (HFP Audio Gateway)
|
||||||
- a2dp_sink (A2DP Audio Sink)
|
- `a2dp_sink` (A2DP Audio Sink)
|
||||||
- a2dp_source (A2DP Audio Source)
|
- `a2dp_source` (A2DP Audio Source)
|
||||||
- bap_sink (LE Audio Basic Audio Profile Sink)
|
- `bap_sink` (LE Audio Basic Audio Profile Sink)
|
||||||
- bap_source (LE Audio Basic Audio Profile Source)
|
- `bap_source` (LE Audio Basic Audio Profile Source)
|
||||||
|
- `bap_bcast_sink` (LE Audio Basic Audio Profile Broadcast Sink)
|
||||||
|
- `bap_bcast_source` (LE Audio Basic Audio Profile Broadcast Source)
|
||||||
\endparblock
|
\endparblock
|
||||||
|
|
||||||
@PAR@ monitor-prop bluez5.codecs # JSON array of string
|
@PAR@ monitor-prop bluez5.codecs # JSON array of string
|
||||||
Enabled A2DP codecs (default: all).
|
Enabled A2DP codecs (default: all). Possible values: `sbc`, `sbc_xq`,
|
||||||
Possible values: sbc sbc_xq aac aac_eld aptx aptx_hd aptx_ll aptx_ll_duplex faststream faststream_duplex lc3plus_h3 ldac opus_05 opus_05_51 opus_05_71 opus_05_duplex opus_05_pro opus_g lc3
|
`aac`, `aac_eld`, `aptx`, `aptx_hd`, `aptx_ll`, `aptx_ll_duplex`,
|
||||||
|
`faststream`, `faststream_duplex`, `lc3plus_h3`, `ldac`, `opus_05`,
|
||||||
|
`opus_05_51`, `opus_05_71`, `opus_05_duplex`, `opus_05_pro`, `opus_g`,
|
||||||
|
`lc3`.
|
||||||
|
|
||||||
@PAR@ monitor-prop bluez5.default.rate # integer
|
@PAR@ monitor-prop bluez5.default.rate # integer
|
||||||
Default audio rate.
|
Default audio rate.
|
||||||
|
|
@ -821,7 +878,7 @@ PipeWire Opus Pro audio profile duplex max bitrate.
|
||||||
@PAR@ monitor-prop bluez5.a2dp.opus.pro.bidi.frame-dms = 400 # integer
|
@PAR@ monitor-prop bluez5.a2dp.opus.pro.bidi.frame-dms = 400 # integer
|
||||||
PipeWire Opus Pro audio profile duplex frame duration (1/10 ms).
|
PipeWire Opus Pro audio profile duplex frame duration (1/10 ms).
|
||||||
|
|
||||||
@PAR@ monitor-prop bluez5.bcast_source.config # JSON
|
@PAR@ monitor-prop bluez5.bcast_source.config = [] # JSON
|
||||||
\parblock
|
\parblock
|
||||||
Example:
|
Example:
|
||||||
```
|
```
|
||||||
|
|
@ -849,14 +906,14 @@ bluez5.bcast_source.config = [
|
||||||
Auto-connect devices on start up. Disabled by default if
|
Auto-connect devices on start up. Disabled by default if
|
||||||
the property is not specified.
|
the property is not specified.
|
||||||
|
|
||||||
@PAR@ device-prop bluez5.hw-volume = [ PROFILE1 PROFILE2... ] # JSON array of string
|
@PAR@ device-prop bluez5.hw-volume = [ hfp_ag hsp_ag a2dp_source ] # JSON array of string
|
||||||
Profiles for which to enable hardware volume control (default: [ hfp_ag hsp_ag a2dp_source ]).
|
Profiles for which to enable hardware volume control.
|
||||||
|
|
||||||
@PAR@ device-prop bluez5.profile # string
|
@PAR@ device-prop bluez5.profile # string
|
||||||
Initial device profile. This usually has no effect as the session manager
|
Initial device profile. This usually has no effect as the session manager
|
||||||
overrides it.
|
overrides it.
|
||||||
|
|
||||||
@PAR@ device-prop bluez5.a2dp.ldac.quality # string
|
@PAR@ device-prop bluez5.a2dp.ldac.quality = "auto" # string
|
||||||
LDAC encoding quality
|
LDAC encoding quality
|
||||||
Available values:
|
Available values:
|
||||||
- auto (Adaptive Bitrate, default)
|
- auto (Adaptive Bitrate, default)
|
||||||
|
|
@ -864,7 +921,7 @@ Available values:
|
||||||
- sq (Standard Quality, 660/606kbps)
|
- sq (Standard Quality, 660/606kbps)
|
||||||
- mq (Mobile use Quality, 330/303kbps)
|
- mq (Mobile use Quality, 330/303kbps)
|
||||||
|
|
||||||
@PAR@ device-prop bluez5.a2dp.aac.bitratemode # integer
|
@PAR@ device-prop bluez5.a2dp.aac.bitratemode = 0 # integer
|
||||||
AAC variable bitrate mode.
|
AAC variable bitrate mode.
|
||||||
Available values: 0 (cbr, default), 1-5 (quality level)
|
Available values: 0 (cbr, default), 1-5 (quality level)
|
||||||
|
|
||||||
|
|
@ -874,9 +931,8 @@ PipeWire Opus Pro Audio encoding mode: audio, voip, lowdelay
|
||||||
@PAR@ device-prop bluez5.a2dp.opus.pro.bidi.application = "audio" # string
|
@PAR@ device-prop bluez5.a2dp.opus.pro.bidi.application = "audio" # string
|
||||||
PipeWire Opus Pro Audio duplex encoding mode: audio, voip, lowdelay
|
PipeWire Opus Pro Audio duplex encoding mode: audio, voip, lowdelay
|
||||||
|
|
||||||
@PAR@ device-prop bluez5.bap.cig = auto # integer, or 'auto'
|
@PAR@ device-prop bluez5.bap.cig = "auto" # integer, or 'auto'
|
||||||
Set CIG ID for BAP unicast streams of the device.
|
Set CIG ID for BAP unicast streams of the device.
|
||||||
Default: "auto" (automatic).
|
|
||||||
|
|
||||||
## Node properties
|
## Node properties
|
||||||
|
|
||||||
|
|
@ -1026,7 +1082,7 @@ For ACP, PipeWire looks for the profile configuration files under
|
||||||
|
|
||||||
- ~/.config/alsa-card-profile
|
- ~/.config/alsa-card-profile
|
||||||
- /etc/alsa-card-profile
|
- /etc/alsa-card-profile
|
||||||
- /usr/share/alsa-card-profile/mixer`.
|
- /usr/share/alsa-card-profile/mixer`.
|
||||||
|
|
||||||
The `path` and `profile-set` files are in subdirectories `paths` and `profile-sets` of these directories.
|
The `path` and `profile-set` files are in subdirectories `paths` and `profile-sets` of these directories.
|
||||||
It is possible to override individual files locally by putting a modified copy into the ACP directories under `~/.config` or `/etc`.
|
It is possible to override individual files locally by putting a modified copy into the ACP directories under `~/.config` or `/etc`.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue