进一步阅读

进一步阅读

为了看看 Raspberry Pi4+4G 是否足以作为我的主要台式机,我决定尝试一下。我买了适用于 20.04 的 64 位图像对于 Pi4,将其转储到 SD 卡上,安装了 LXQT(我喜欢的桌面),花了一个小时阅读树莓派文档(加上多次重启)尝试让我的两个显示器显示正确的分辨率,很高兴我的大多数日常应用程序都是可安装和可用的,而且我甚至在启动时为我的 /home 安装了一个外部 SSD!

完成了。让我们通过观看视频来放松一下……播放流畅,这是一个优点。但没有声音……

现在我花了将近三个小时才听到声音,我从来没有像现在这样讨厌 HDMI。我只想从耳机插孔中发出声音,但我似乎无法禁用 HDMI 音频...为什么要禁用 HDMI 音频?

  1. 我的双显示器是 1080p 显示器,我非常喜欢。但是,我的旧系统是围绕 DisplayPort 构建的……而不是 HDMI……幸运的是,一个有 DVI(主 0),另一个也有 HDMI 端口。我为每台显示器都配了连接到 RPi4 微型 HDMI 的电缆,现在两台显示器都可以在正确的分辨率下工作。但是——这很重要——两台显示器都没有声音。

  2. 反正我一天大部分时间都戴着耳机,所以不需要任何花哨的东西。即使我的显示器突然有了扬声器,它们也不会有耳机插孔。

我已经尝试了能找到的所有方法。尝试禁用 pulseaudio 并强制使用 alsa。然后我重新启用了 pulse,做了大量更改和调整,并无数次删除了我的 ~/.pulse。我已将各种选项放入我的 /boot/firmware/usercfg.txt。但我就是无法从耳机插孔中获取音频。

因此,以下是我现在得到的 /boot/firmware/usercfg.txt 内容:

# Most of the settings weren't working for both monitors until I explicitly set it for both
disable_overscan:0=1
disable_overscan:1=1
hdmi_group:0=1
hdmi_group:1=1
dtoverlay=vc4-fkms-v3d
max_framebuffers=2
gpu_mem=256
hdmi_mode:0=16
hdmi_mode:1=16
#Sound
hdmi_drive=1 # Force DVI (no audio)
hdmi_drive:0=1 # Force DVI (no audio) for display 0
hdmi_drive:1=1 # Force DVI (no audio) for display 1
hdmi_ignore_edid_audio=1
hdmi_ignore_edid_audio:0=1
hdmi_ignore_edid_audio:1=1
hdmi_force_edid_audio=0
hdmi_force_edid_audio:0=0
hdmi_force_edid_audio:1=0
dtparam=audio=on

对于 PulseAudio,对 /etc/pulse/default.pa 的更改最多:

load-module module-udev-detect tsched=0

# This next one doesn't matter, the headphone option moves around.
# If I'm lucky on reboot to land on this option matching the headphones, it still does nothing
# set-default-sink alsa_card.platform-bcm2835_audio.2 

当我打开 PulseAudio Mixer GUI 时,我可以看到三个设备(没有一个是静音的)。VLC 正在播放,蓝色条来回跳动,但没有声音。如果我禁用 HDMI,蓝色条将停止显示。如果我强制使用耳机插孔,蓝色条将停止显示。我可以在两个 HDMI 之间切换,蓝色条将继续跳动,但当我尝试将它们静音或强制使用耳机时,蓝色条将停止移动。所有这些都表明它无法通过耳机插孔播放声音。

现在到了关键时刻。拔掉显示器并重启。通过 SSH 远程登录并传输声音sudo play -n synth 14:30:00 brown... 成功了!天啊!!!![删除了解释] HDMI!!!插上显示器并重启... 没有声音...天啊!!!!

所以……我真的很沮丧,只能再找一双眼睛来检查我做错了什么。到目前为止,Pi 的其他所有功能对我来说都很好(只是屏幕撕裂比我喜欢的要多一点,但这没什么)。但我确实需要声音……

有人能帮忙吗?谢谢。

答案1

我把这个

SUBSYSTEM!="sound*", GOTO="end"
ACTION!="change", GOTO="end"
KERNEL!="card*", GOTO="end"

# remove the 'internal' sound form factor, so more descriptive
# names are used in pulseaudio for bcm... entries
ENV{SOUND_FORM_FACTOR}=="internal", ENV{SOUND_FORM_FACTOR}=""

# uncomment to ignore audio sink on HDMI1, even if present, so that
# headphones + HDMI0 audio will work in pulseaudio - temporary workaround
ATTRS{id}=="b2", ENV{PULSE_IGNORE}="1"

LABEL="end"

进入/lib/udev/rules.d/79-rpi-pulseaudio-fixes.rules

它解决了我的耳机插孔音频问题。

进一步阅读

https://ubuntu-mate.community/t/3-5mm-audio-output-not-working-on-rpi4-with-20-04/22456/5 https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=275372&start=125

答案2

为了解决这个问题。现在不要在 RPi4 上使用 64 位操作系统。

我尽可能深入地研究这个问题。我发现网上有太多帖子说要改用官方的 Raspbian,所以作为最后的手段,我无奈地改用了 32 位的 Raspbian,而且可以正常工作。尝试了 64 位的 Raspbian 测试版,但不起作用。切换回 32 位后,就可以正常工作了。64 位驱动程序显然还有很长的路要走,我不知道它们在哪里坏了。需要比我更有知识的人来深入研究它。

不幸的是,我需要 64 位才能完成我希望做的事情。所以我决定将 RPi4 用于完全不同的项目。也许我以后会回过头来再试一次。

相关内容