通过 HDMI 使用音频而不使用 xrandr 在其上显示

Use audio over HDMI without displaying over it with xrandr

我的办公桌上有 2 个显示器通过显示端口连接,我有一个 电视通过 hdmi 连接。

我正在寻找一种方法来通过我的 hdmi 端口使用音频而不在电视上显示。 问题是我的电视连接到放大器,放大器连接到我的电脑。

电视 -> 功放 -> 电脑

我希望能够在我的电视应该被禁用时将我的音频传输到放大器。它是 YAMAHA RX-V775 并且启用了 HMID-passthrough。

我尝试了不同的 xrandr-commands 来使它正常工作,但我无法在不在电视上显示的情况下使音频正常工作(不需要打开电视,只需通过 xrandr 启用)。

这是我当前的命令:

  xrandr --output DP-0 --off --output DP-1 --off --output HDMI-0 --off --output DP-2 --primary --mode 2560x1440 --pos 1080x240 --rotate normal --output DP-3 --off --output DP-4 --off --output DP-5 --mode 1920x1080 --pos 0x0 --rotate left 

我尝试了以下但没有成功:

  xrandr --output DP-0 --off --output DP-1 --off --output HDMI-0 --set "audio" on  --output DP-2 --primary --mode 2560x1440 --pos 1080x240 --rotate normal --output DP-3 --off --output DP-4 --off --output DP-5 --mode 1920x1080 --pos 0x0 --rotate left

这有效,但我在电视上显示:

  xrandr --output DP-0 --off --output DP-1 --off --output HDMI-0 --auto --set "audio" on  --output DP-2 --primary --mode 2560x1440 --pos 1080x240 --rotate normal --output DP-3 --off --output DP-4 --off --output DP-5 --mode 1920x1080 --pos 0x0 --rotate left

当 hmdi 关闭时 xrandr --output HDMI-0 --off,我能够在 pavuctl 中看到 hdmi 条目 ,但是统计信息 (未插电),(不可用)

我在两台显示器上的分辨率不同(1440p 和 1080p),这使得在不从较低分辨率升级到较高分辨率的情况下很难镜像它们,因为无法为 1080p 选择所需的模式 (1440p)-监视器。这会导致图像质量不佳。

所以我的问题是:是否可以在显示器关闭时使用 hdmi 端口播放音频?

在网上找了半天,找到了解决这个问题的方法。 如前所述,当禁用通过 HDMI 连接的显示器时,音频将无法工作。此外,我不想将我的屏幕扩展到另一个显示器,因为我只想在我的办公桌上工作,同时通过 hdmi 使用音频。

解决方案是简单地 运行 一个 xrand 命令,它将在电视上镜像我的主屏幕。即使电视已关闭,这也是可能的。棘手的部分是,xrand 可能难以添加自定义分辨率,尤其是在使用 nvidia gpu 和驱动程序时。这是工作命令:

xrandr --output DP-0 --off --output DP-1 --off --output HDMI-0 --mode 1920x1080 --pos 1080x170 --rotate normal --output DP-2 --primary --mode 2560x1440 --pos 1080x170 --rotate normal --output DP-3 --off --output DP-4 --off --output DP-5 --mode 1920x1080 --pos 0x0 --rotate left

我只是通过镜像屏幕的 nvidia-settings 让它工作。我将配置合并到 xorg.conf。之后arandr可以用来导出当前的setup命令。