Thinkpad X1 没有 HDMI 声音输出

Thinkpad X1 没有 HDMI 声音输出

我无法通过 HDMI 将声音输出到电视上。

当我进入声音设置时,HDMI 设备没有出现。

~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CONEXANT Analog [CONEXANT Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

我不知道视频信息是否有帮助,但无论如何:

~$ sudo lshw -C video
  *-display               
       description: VGA compatible controller
       product: 2nd Generation Core Processor Family Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 09
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:46 memory:d0000000-d03fffff memory:c0000000-cfffffff ioport:5000(size=64)

有什么建议给我吗?

答案1

据我所知,您可能需要更改默认的 pulseaudio 配置。备份文件/etc/pulse/default.pa并编辑它。查找其中的部分

### Automatically load driver modules edepending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect.so
.else
### Use the static hardware detection module (for systems that lack udev/nal support)
load-module module-detect
.endif

并将其更改为(如果有必要,尝试将 hw:0,3 更改为 hw:0,7 或 hw:0,8 - 这是根据您的aplay -l输出):

### Automatically load driver modules edepending on the hardware available
#.ifexists module-udev-detect.so
#load-module module-udev-detect.so
#.else
### Use the static hardware detection module (for systems that lack udev/nal support)
#load-module module-detect
#.endif

load-module module-alsa-sink device=hw:0,3 sink_name=hdmi

然后重新启动 pulseaudio 服务器。如果它是按用户运行的,请键入 ,pulseaudio --kill然后键入pulseaudio --start。如果它作为系统服务运行,请键入sudo service pulseaudio restart。要检查这一点,请运行ps -ef | grep pulse并查看哪个用户(左列)启动了 pulseaudio 应用程序:如果它是 root,则它是系统服务,如果它是您的用户,则使用 kill 和 start 方法。在试验配置文件时,您可以使用它来运行它以pulseaudio -vvv查看调试信息。

请注意,此配置仅用于查看您是否可以让 hdmi 输出工作。在您找到要使用哪个 hw:0,# 之后,例如,如果您的 hdmi 输出与 配合使用load-module module-alsa-sink device=hw:0,7 sink_name=hdmi,请尝试取消注释 module-udev-detect/module-detect 模块的加载,以便 pulseaudio 可以检测到它现在检测到的任何内容,您最终应该得到类似这样的结果:

### Automatically load driver modules edepending on the hardware available
#.ifexists module-udev-detect.so
load-module module-udev-detect.so
.else
### Use the static hardware detection module (for systems that lack udev/nal support)
load-module module-detect
#.endif

load-module module-alsa-sink device=hw:0,7 sink_name=hdmi

我建议您使用它pavucontrol来选择/查看 pulseaudio 的输出设备。

答案2

在 X1 (2017) 上,我可以使用以下命令在 HDMI 和模拟音频输出之间切换

pactl set-card-profile 0 output:hdmi-stereo+input:analog-stereo

我可以切换回来使用

pactl set-card-profile 0 output:analog-stereo+input:analog-stereo

我在 arch wiki 中找到了这些命令https://wiki.archlinux.org/index.php/PulseAudio/Examples#Automatically_switch_audio_to_HDMI

相关内容