mirror of
https://gitlab.freedesktop.org/pipewire/pipewire
synced 2024-10-14 11:53:16 +00:00
add udev rules so we don't rely on pulseaudio
This commit is contained in:
parent
eaf7606e3f
commit
1d7ca5bdae
|
@ -128,3 +128,6 @@ option('pw-cat',
|
|||
description: 'Build pw-cat/pw-play/pw-record',
|
||||
type: 'boolean',
|
||||
value: true)
|
||||
option('udevrulesdir',
|
||||
type : 'string',
|
||||
description : 'Directory for udev rules (defaults to /lib/udev/rules.d)')
|
||||
|
|
|
@ -10,6 +10,12 @@ spa_inc = include_directories('include')
|
|||
subdir('include')
|
||||
|
||||
if get_option('spa-plugins')
|
||||
udevrulesdir = get_option('udevrulesdir')
|
||||
if udevrulesdir == ''
|
||||
# absolute path, otherwise meson prepends the prefix
|
||||
udevrulesdir = '/lib/udev/rules.d'
|
||||
endif
|
||||
|
||||
# common dependencies
|
||||
if get_option('alsa') or get_option('v4l2')
|
||||
libudev_dep = dependency('libudev')
|
||||
|
|
147
spa/plugins/alsa/90-pipewire-alsa.rules
Normal file
147
spa/plugins/alsa/90-pipewire-alsa.rules
Normal file
|
@ -0,0 +1,147 @@
|
|||
# do not edit this file, it will be overwritten on update
|
||||
|
||||
# This file is part of PipeWire adapted from PulseAudio.
|
||||
#
|
||||
# PulseAudio is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License as
|
||||
# published by the Free Software Foundation; either version 2.1 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# PulseAudio is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
SUBSYSTEM!="sound", GOTO="pulseaudio_end"
|
||||
ACTION!="change", GOTO="pulseaudio_end"
|
||||
KERNEL!="card*", GOTO="pulseaudio_end"
|
||||
SUBSYSTEMS=="usb", GOTO="pulseaudio_check_usb"
|
||||
SUBSYSTEMS=="firewire", GOTO="pulseaudio_firewire_quirk"
|
||||
|
||||
SUBSYSTEMS=="platform", DRIVERS=="thinkpad_acpi", ENV{PULSE_IGNORE}="1"
|
||||
|
||||
# Force enable speaker and internal mic for some laptops
|
||||
# This should only be necessary for kernels 3.3, 3.4 and 3.5 (as they are lacking the phantom jack kctls).
|
||||
# Acer AOA150
|
||||
ATTRS{subsystem_vendor}=="0x1025", ATTRS{subsystem_device}=="0x015b", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Acer Aspire 4810TZ
|
||||
ATTRS{subsystem_vendor}=="0x1025", ATTRS{subsystem_device}=="0x022a", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Packard bell dot m/a
|
||||
ATTRS{subsystem_vendor}=="0x1025", ATTRS{subsystem_device}=="0x028c", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Acer Aspire 1810TZ
|
||||
ATTRS{subsystem_vendor}=="0x1025", ATTRS{subsystem_device}=="0x029b", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Acer AOD260 and AO532h
|
||||
ATTRS{subsystem_vendor}=="0x1025", ATTRS{subsystem_device}=="0x0349", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Dell MXC051
|
||||
ATTRS{subsystem_vendor}=="0x1028", ATTRS{subsystem_device}=="0x01b5", ENV{PULSE_PROFILE_SET}="force-speaker.conf"
|
||||
# Dell Inspiron 6400 and E1505
|
||||
ATTRS{subsystem_vendor}=="0x1028", ATTRS{subsystem_device}=="0x01bd", ENV{PULSE_PROFILE_SET}="force-speaker.conf"
|
||||
# Dell Latitude D620
|
||||
ATTRS{subsystem_vendor}=="0x1028", ATTRS{subsystem_device}=="0x01c2", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Dell Latitude D820
|
||||
ATTRS{subsystem_vendor}=="0x1028", ATTRS{subsystem_device}=="0x01cc", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Dell Latitude D520
|
||||
ATTRS{subsystem_vendor}=="0x1028", ATTRS{subsystem_device}=="0x01d4", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Dell Latitude D420
|
||||
ATTRS{subsystem_vendor}=="0x1028", ATTRS{subsystem_device}=="0x01d6", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Dell Inspiron 1525
|
||||
ATTRS{subsystem_vendor}=="0x1028", ATTRS{subsystem_device}=="0x022f", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Dell Inspiron 1011
|
||||
ATTRS{subsystem_vendor}=="0x1028", ATTRS{subsystem_device}=="0x02f4", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Dell XPS 14 (L401X)
|
||||
ATTRS{subsystem_vendor}=="0x1028", ATTRS{subsystem_device}=="0x0468", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Dell XPS 15 (L501X)
|
||||
ATTRS{subsystem_vendor}=="0x1028", ATTRS{subsystem_device}=="0x046e", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Dell XPS 15 (L502X)
|
||||
ATTRS{subsystem_vendor}=="0x1028", ATTRS{subsystem_device}=="0x050e", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Dell Inspiron 3420
|
||||
ATTRS{subsystem_vendor}=="0x1028", ATTRS{subsystem_device}=="0x0553", ENV{PULSE_PROFILE_SET}="force-speaker.conf"
|
||||
# Dell Inspiron 3520
|
||||
ATTRS{subsystem_vendor}=="0x1028", ATTRS{subsystem_device}=="0x0555", ENV{PULSE_PROFILE_SET}="force-speaker.conf"
|
||||
# Dell Vostro 2420
|
||||
ATTRS{subsystem_vendor}=="0x1028", ATTRS{subsystem_device}=="0x0556", ENV{PULSE_PROFILE_SET}="force-speaker.conf"
|
||||
# Dell Vostro 2520
|
||||
ATTRS{subsystem_vendor}=="0x1028", ATTRS{subsystem_device}=="0x0558", ENV{PULSE_PROFILE_SET}="force-speaker.conf"
|
||||
# Dell Inspiron One 2020
|
||||
ATTRS{subsystem_vendor}=="0x1028", ATTRS{subsystem_device}=="0x0579", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Asus 904HA (1000H)
|
||||
ATTRS{subsystem_vendor}=="0x1043", ATTRS{subsystem_device}=="0x831a", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Asus T101MT
|
||||
ATTRS{subsystem_vendor}=="0x1043", ATTRS{subsystem_device}=="0x83ce", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Sony Vaio VGN-SR21M
|
||||
ATTRS{subsystem_vendor}=="0x104d", ATTRS{subsystem_device}=="0x9033", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Sony Vaio VPC-W115XG
|
||||
ATTRS{subsystem_vendor}=="0x104d", ATTRS{subsystem_device}=="0x9064", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Fujitsu Lifebook S7110
|
||||
ATTRS{subsystem_vendor}=="0x10cf", ATTRS{subsystem_device}=="0x1397", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Fujitsu Lifebook A530
|
||||
ATTRS{subsystem_vendor}=="0x10cf", ATTRS{subsystem_device}=="0x1531", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Toshiba A200
|
||||
ATTRS{subsystem_vendor}=="0x1179", ATTRS{subsystem_device}=="0xff00", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# MSI X360
|
||||
ATTRS{subsystem_vendor}=="0x1462", ATTRS{subsystem_device}=="0x1053", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"
|
||||
# Lenovo 3000 Y410
|
||||
ATTRS{subsystem_vendor}=="0x17aa", ATTRS{subsystem_device}=="0x384e", ENV{PULSE_PROFILE_SET}="force-speaker.conf"
|
||||
|
||||
GOTO="pulseaudio_end"
|
||||
|
||||
LABEL="pulseaudio_check_usb"
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="1978", ENV{PULSE_PROFILE_SET}="native-instruments-audio8dj.conf"
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="0839", ENV{PULSE_PROFILE_SET}="native-instruments-audio4dj.conf"
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="baff", ENV{PULSE_PROFILE_SET}="native-instruments-traktorkontrol-s4.conf"
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="4711", ENV{PULSE_PROFILE_SET}="native-instruments-korecontroller.conf"
|
||||
|
||||
# This ID 17cc:041c is verified for the older Audio 2 DJ model (pre-2014 ish).
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="041c", ENV{PULSE_PROFILE_SET}="native-instruments-traktor-audio2.conf"
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="041d", ENV{PULSE_PROFILE_SET}="native-instruments-traktor-audio2.conf"
|
||||
|
||||
# There appear to be two IDs in use for Traktor Audio 6 (or maybe 17cc:1011
|
||||
# is just incorrect - 17cc:1010 has been verified to be correct at least
|
||||
# for some hardware).
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="1010", ENV{PULSE_PROFILE_SET}="native-instruments-traktor-audio6.conf"
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="1011", ENV{PULSE_PROFILE_SET}="native-instruments-traktor-audio6.conf"
|
||||
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="1021", ENV{PULSE_PROFILE_SET}="native-instruments-traktor-audio10.conf"
|
||||
ATTRS{idVendor}=="0763", ATTRS{idProduct}=="2012", ENV{PULSE_PROFILE_SET}="maudio-fasttrack-pro.conf"
|
||||
ATTRS{idVendor}=="045e", ATTRS{idProduct}=="02bb", ENV{PULSE_PROFILE_SET}="kinect-audio.conf"
|
||||
ATTRS{idVendor}=="041e", ATTRS{idProduct}=="322c", ENV{PULSE_PROFILE_SET}="sb-omni-surround-5.1.conf"
|
||||
ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="4014", ENV{PULSE_PROFILE_SET}="dell-dock-tb16-usb-audio.conf"
|
||||
|
||||
|
||||
# ID 1038:12ad is for the 2018 refresh of the Arctis 7.
|
||||
# ID 1038:1294 is for Arctis Pro Wireless (which works with the Arctis 7 configuration).
|
||||
ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1260", ENV{PULSE_PROFILE_SET}="usb-gaming-headset.conf"
|
||||
ATTRS{idVendor}=="1038", ATTRS{idProduct}=="12ad", ENV{PULSE_PROFILE_SET}="usb-gaming-headset.conf"
|
||||
ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1294", ENV{PULSE_PROFILE_SET}="usb-gaming-headset.conf"
|
||||
ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1730", ENV{PULSE_PROFILE_SET}="usb-gaming-headset.conf"
|
||||
# Lucidsound LS31
|
||||
ATTRS{idVendor}=="2f12", ATTRS{idProduct}=="0109", ENV{PULSE_PROFILE_SET}="usb-gaming-headset.conf"
|
||||
# ID 9886:002c is for the Astro A50 Gen4
|
||||
ATTRS{idVendor}=="9886", ATTRS{idProduct}=="002c", ENV{PULSE_PROFILE_SET}="usb-gaming-headset.conf"
|
||||
|
||||
# ID 1038:1250 is for the Arctis 5
|
||||
# ID 1037:12aa is for the Arctis 5 2019
|
||||
# ID 1038:1252 is for the Arctis Pro 2019 edition
|
||||
ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1250", ENV{PULSE_PROFILE_SET}="steelseries-arctis-common-usb-audio.conf"
|
||||
ATTRS{idVendor}=="1038", ATTRS{idProduct}=="12aa", ENV{PULSE_PROFILE_SET}="steelseries-arctis-common-usb-audio.conf"
|
||||
ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1252", ENV{PULSE_PROFILE_SET}="steelseries-arctis-common-usb-audio.conf"
|
||||
|
||||
ATTRS{idVendor}=="147a", ATTRS{idProduct}=="e055", ENV{PULSE_PROFILE_SET}="cmedia-high-speed-true-hdaudio.conf"
|
||||
|
||||
GOTO="pulseaudio_end"
|
||||
|
||||
LABEL="pulseaudio_firewire_quirk"
|
||||
|
||||
# Focusrite Saffire Pro 10/26 i/o has a quirk to disappear from IEEE 1394 bus when losing connections.
|
||||
# https://bugzilla.kernel.org/show_bug.cgi?id=199365
|
||||
ENV{ID_VENDOR_ID}=="0x00130e", ENV{ID_MODEL_ID}=="0x000003", ENV{PULSE_IGNORE}="1"
|
||||
# Both of Saffire Pro 10 i/o and Liquid Saffire 56 have the same ID_MODEL_ID
|
||||
# (0x000006), but Liquid Saffire 56 doesn't suffer from the problem, so we
|
||||
# can't use ID_MODEL_ID to identify the problematic card. ID_MODEL works
|
||||
# better here.
|
||||
ENV{ID_VENDOR_ID}=="0x00130e", ENV{ID_MODEL}=="Pro10IO" ENV{PULSE_IGNORE}="1"
|
||||
|
||||
LABEL="pulseaudio_end"
|
|
@ -21,3 +21,13 @@ spa_alsa = shared_library(
|
|||
install : true,
|
||||
install_dir : join_paths(spa_plugindir, 'alsa')
|
||||
)
|
||||
|
||||
alsa_udevrules = [
|
||||
'90-pipewire-alsa.rules',
|
||||
]
|
||||
|
||||
if libudev_dep.found()
|
||||
install_data(alsa_udevrules,
|
||||
install_dir : udevrulesdir,
|
||||
)
|
||||
endif
|
||||
|
|
Loading…
Reference in a new issue