我最近更新了我的系统,pulseaudio 现在拒绝使用我的声卡。它确实知道它存在,如下pacmd list-cards
所示:
index: 2
name: <alsa_card.pci-0000_00_1b.0>
driver: <module-alsa-card.c>
owner module: 8
properties:
alsa.card = "0"
alsa.card_name = "HDA Intel PCH"
alsa.long_card_name = "HDA Intel PCH at 0xf7210000 irq 30"
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/C216 Chipset Family High Definition Audio Controller"
device.form_factor = "internal"
device.string = "0"
device.description = "Built-in Audio"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
profiles:
input:analog-stereo: Analog Stereo Input (priority 60, available: no)
output:analog-stereo: Analog Stereo Output (priority 6000, available: no)
output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (priority 6060, available: no)
off: Off (priority 0, available: unknown)
active profile: <off>
ports:
analog-input-front-mic: Front Microphone (priority 8500, latency offset 0 usec, available: no)
properties:
device.icon_name = "audio-input-microphone"
analog-input-rear-mic: 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-lineout: Line Out (priority 9900, latency offset 0 usec, available: no)
properties:
analog-output-headphones: Headphones (priority 9000, latency offset 0 usec, available: no)
properties:
device.icon_name = "audio-headphones"
但是,对于卡上的每个端口,它都会显示available: no
.我相信这是它自动检测是否有任何东西插入插孔。这没什么问题,除非该声卡的插孔自动检测已损坏。
在过去,它只会显示为“未插入”,我可以选择输出到它。现在,pulseaudio 甚至不会为其设置接收器。pacmd list-sinks
仅显示视频卡 HDMI/DP 输出的接收器。
如何关闭插孔自动检测,或强制这些端口可用?
答案1
我找到了这个问题的解决方案:hda 驱动程序中有一个选项可以禁用 Jack 检测。我制定了一条 udev 规则来在启动前强制执行此操作:
/etc/udev/rules.d/jackdetect.rules:
ACTION=="add", SUBSYSTEM=="sound", ATTRS{chip_name}=="ALC898", ATTR{hints}="jack_detect=false"
ACTION=="add", SUBSYSTEM=="sound", ATTRS{chip_name}=="ALC898", ATTR{reconfig}="1"
您可以在 /sys/class/sound/hwC?D?/chip_name 中找到您的chip_name,或使用其他内容作为选择器...
请参阅此页面了解更多信息:https://www.kernel.org/doc/html/latest/sound/hd-audio/notes.html#hd-audio-reconfiguration
答案2
很多卡都有简介,除其他外,它决定哪些输入和输出可用。您的卡具有以下信息:
profiles:
input:analog-stereo: Analog Stereo Input (priority 60, available: no)
output:analog-stereo: Analog Stereo Output (priority 6000, available: no)
output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (priority 6060, available: no)
off: Off (priority 0, available: unknown)
当前活动的配置文件是
active profile: <off>
您可以在pavucontrol
中选择一个配置文件配置选项卡,或使用pacmd set-card-profile
.选择两个配置文件之一输出其名称应启用模拟立体声输出。