Debian 9下NVIDIA GTX 1050如何合并DP与HDMI音频输出?
解决Debian 9下NVIDIA GTX1050双显示器(DP+HDMI)音频同步输出问题
我来帮你搞定这个双显示器音频同时输出的问题!你之前用PulseAudio偏好设置没成功,大概率是因为没选对要合并的两个NVIDIA显卡输出设备,而是误选了主板音频。下面是具体的操作步骤:
1. 识别你的两个显卡音频输出设备
首先打开终端,运行以下命令列出所有可用的音频输出sink:
pactl list short sinks
你会看到类似这样的输出,重点找属于NVIDIA GTX1050的两个数字输出设备(通常名字里会有hdmi或dp,且包含pci-0000_01_00.1这类显卡PCI地址):
0 alsa_output.pci-0000_01_00.1.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED 1 alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1 module-alsa-card.c s16le 2ch 44100Hz SUSPENDED 2 alsa_output.pci-0000_00_1f.3.digital-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
上面的0和1就是你要的DP和HDMI输出,2是主板的数字输出,别选错了!
2. 创建虚拟组合输出设备
用pactl命令加载组合模块,把刚才找到的两个NVIDIA sink合并成一个虚拟设备。替换下面的sink1和sink2为你实际查到的设备名字(比如上面的alsa_output.pci-0000_01_00.1.hdmi-stereo和alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1):
pactl load-module module-combine-sink sink_name=dual_monitor_audio slaves=sink1,sink2 adjust_time=50000
sink_name:自定义虚拟设备的名字,方便识别slaves:指定要合并的两个输出设备adjust_time:调整音频同步延迟(单位微秒,50000=50ms,可根据实际情况微调,避免两个显示器声音不同步)
3. 设置默认输出并测试
运行下面的命令把虚拟组合设备设为默认输出:
pactl set-default-sink dual_monitor_audio
或者打开PulseAudio音量控制(pavucontrol),在「输出设备」标签里选择dual_monitor_audio作为默认设备。
现在播放一段音频,检查两个显示器是否同时出声。如果有延迟,调整adjust_time的数值再试。
4. 让设置开机自动生效
上面的设置重启后会失效,要让它永久生效,编辑PulseAudio的配置文件:
sudo nano /etc/pulse/default.pa
在文件末尾添加刚才的加载模块命令(替换成你实际的sink名字):
load-module module-combine-sink sink_name=dual_monitor_audio slaves=alsa_output.pci-0000_01_00.1.hdmi-stereo,alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1 adjust_time=50000
保存退出后,重启PulseAudio生效:
pulseaudio -k && pulseaudio --start
可能遇到的小问题
- 如果设备名字在系统更新后变化,重新运行
pactl list short sinks确认并修改配置 - 若PulseAudio版本过低(Debian9默认版本是10.0,应该没问题),可能需要升级,但Debian9是稳定版,尽量用默认包
内容的提问来源于stack exchange,提问作者Seba Vasile
相关产品推荐
相关产品推荐

