mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-10-29 05:40:27 -04:00 
			
		
		
		
	add udev rules so we don't rely on pulseaudio
This commit is contained in:
		
							parent
							
								
									eaf7606e3f
								
							
						
					
					
						commit
						1d7ca5bdae
					
				
					 4 changed files with 166 additions and 0 deletions
				
			
		|  | @ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Wim Taymans
						Wim Taymans