Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No Sound in Pi 5 with Batocera 40 for Arzopa Portable Monitor A1 #12286

Open
codyng opened this issue Aug 16, 2024 · 3 comments
Open

No Sound in Pi 5 with Batocera 40 for Arzopa Portable Monitor A1 #12286

codyng opened this issue Aug 16, 2024 · 3 comments
Labels
requires upstream fix needs to be fixed upstream from the source code. RPI Raspberry Pi

Comments

@codyng
Copy link

codyng commented Aug 16, 2024

Batocera build version

40-dev

Your architecture

Raspberry Pi 5

Your Graphic Processor Unit(s) (GPU)

Raspberry Pi 5 onboard

Issue description

I have no audio. It only has Auto and Dummy Output in the AUDIO OUTPUT setting, and it has only AUTO, VC4-HDMI-0PRO AUDIO and VC4-HDMI-1PRO AUDIO. But still no sound even I selected them.

Detailed reproduction steps

First of all, the boot went no signal after the Splash screen. I then tried to use vc4-fkms-v3d, it solved the problem but no sound. The booting screen has a bit flickering and it could not find the sound hardware when I typed aplay -l. "no soundcards found..."

Then I decided to keep using vc4-kms-v3d but first of all I need to solve the blank screen issue.

I tried so many times and finally solved it by adding hdmi_force_hotplug=1 to config.txt and adding video=HDMI-A-1:1920x1080@60D to cmdline.txt.

I was happy but now it had no sound. The aplay -l command gave me the correct sound hardware:

card 0: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

I also tried to enter Kodi and select HDMI sound (default it selected Pipewire server). Kodi then had sound. I even tried to set passthrough and no luck.

Details of any attempts to fix this yourself

I tried to set audio.device=hdmi, audio.device=0,3, audio.device=0,4, etc... but no luck
I tried to add snd-bcm2835.enable_compat_alsa=1 snd_bcm2835.enable_hdmi=1 snd_bcm2835.enable_headphones=1 to cmdline.txt but no luck
I tried to add below to config.txt but no luck:

dtparam=audio=on
dtparam=i2c_arm=on
dtparam=spi=on
dtparam=i2s=on

Details of any modifications you have made to Batocera.

Adding hdmi_force_hotplug=1 to config.txt and adding video=HDMI-A-1:1920x1080@60D to cmdline.txt

Logs and data

$ pw-top:

S   28      0      0    ---     ---   ---   ---     0                  Dummy-Driver
S   29      0      0    ---     ---   ---   ---     0                  Freewheel-Driver
R   32   2048  48000  72.1us   3.3us  0.00  0.00    0     F32P 2 48000 auto_null
R   49   4096  44100   4.7us  62.2us  0.00  0.00    0    S16LE 2 44100  + alsa_playback.emulationstation
S   36      0      0    ---     ---   ---   ---     0                  Midi-Bridge

$ batocera-audio list:

auto auto
auto_null Dummy Output

$ batocera-audio get:
auto

$ batocera-audio list-profiles:

auto auto
pro-audio@alsa_card._sys_devices_platform_soc_107c701400.hdmi_sound_card0 vc4-hdmi-0 Pro Audio
pro-audio@alsa_card._sys_devices_platform_soc_107c706400.hdmi_sound_card1 vc4-hdmi-1 Pro Audio

$ batocera-audio get-profile:
(empty)

$ aplay -l:

**** List of PLAYBACK Hardware Devices ****
card 0: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

$ aplay -L:

null
    Discard all samples (playback) or generate zero samples (capture)
sysdefault
    Default Audio Device
oss
    Open Sound System
pipewire
    PipeWire Sound Server
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
default
    Default ALSA Output (currently PipeWire Media Server)
sysdefault:CARD=vc4hdmi0
    vc4-hdmi-0, MAI PCM i2s-hifi-0
    Default Audio Device
hdmi:CARD=vc4hdmi0,DEV=0
    vc4-hdmi-0, MAI PCM i2s-hifi-0
    HDMI Audio Output
sysdefault:CARD=vc4hdmi1
    vc4-hdmi-1, MAI PCM i2s-hifi-0
    Default Audio Device
hdmi:CARD=vc4hdmi1,DEV=0
    vc4-hdmi-1, MAI PCM i2s-hifi-0
    HDMI Audio Output

$ lsmod | grep -i snd:

snd_seq_dummy          12288  0
snd_hrtimer            12288  1
snd_seq                81920  7 snd_seq_dummy
snd_seq_device         16384  1 snd_seq
snd_soc_hdmi_codec     20480  2
snd_soc_core          286720  2 vc4,snd_soc_hdmi_codec
snd_compress           16384  1 snd_soc_core
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_pcm               139264  4 snd_soc_hdmi_codec,snd_compress,snd_soc_core,snd_pcm_dmaengine
snd_timer              36864  3 snd_seq,snd_hrtimer,snd_pcm
snd                   110592  13 snd_seq,snd_seq_device,snd_soc_hdmi_codec,snd_timer,snd_compress,snd_soc_core,snd_pcm

$ lspci -k:

00:00.0 PCI bridge: Broadcom Inc. and subsidiaries Device 2712 (rev 21)
	Kernel driver in use: pcieport
01:00.0 Ethernet controller: Device 1de4:0001
	Kernel driver in use: rp1

$ dmesg | grep -i snd:
(Empty)

$ pactl list cards:

Card #39
	Name: alsa_card._sys_devices_platform_soc_107c701400.hdmi_sound_card0
	Driver: alsa
	Owner Module: n/a
	Properties:
		api.acp.auto-port = "false"
		api.acp.auto-profile = "false"
		api.alsa.card = "0"
		api.alsa.card.longname = "vc4-hdmi-0"
		api.alsa.card.name = "vc4-hdmi-0"
		api.alsa.path = "hw:0"
		api.alsa.use-acp = "true"
		device.api = "alsa"
		device.bus_path = "/sys/devices/platform/soc/107c701400.hdmi/sound/card0"
		device.description = "Built-in Audio"
		device.enum.api = "udev"
		device.form_factor = "internal"
		device.icon_name = "audio-card-analog"
		device.name = "alsa_card._sys_devices_platform_soc_107c701400.hdmi_sound_card0"
		device.nick = "vc4-hdmi-0"
		device.plugged.usec = "3973882"
		device.subsystem = "sound"
		sysfs.path = "/devices/platform/soc/107c701400.hdmi/sound/card0"
		media.class = "Audio/Device"
		factory.id = "14"
		client.id = "34"
		object.id = "39"
		object.serial = "39"
		object.path = "alsa:pcm:0"
		alsa.card = "0"
		alsa.card_name = "vc4-hdmi-0"
		alsa.long_card_name = "vc4-hdmi-0"
		alsa.driver_name = "vc4"
		device.string = "0"
	Profiles:
		off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
		output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5900, available: no)
		pro-audio: Pro Audio (sinks: 1, sources: 0, priority: 1, available: yes)
	Active Profile: pro-audio
	Ports:
		hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, availability group: Legacy 1, not available)
			Properties:
				port.type = "hdmi"
				port.availability-group = "Legacy 1"
				device.icon_name = "video-display"
				card.profile.port = "0"
				device.product.name = "ARZOPA"
			Part of profile(s): output:hdmi-stereo

Card #40
	Name: alsa_card._sys_devices_platform_soc_107c706400.hdmi_sound_card1
	Driver: alsa
	Owner Module: n/a
	Properties:
		api.acp.auto-port = "false"
		api.acp.auto-profile = "false"
		api.alsa.card = "1"
		api.alsa.card.longname = "vc4-hdmi-1"
		api.alsa.card.name = "vc4-hdmi-1"
		api.alsa.path = "hw:1"
		api.alsa.use-acp = "true"
		device.api = "alsa"
		device.bus_path = "/sys/devices/platform/soc/107c706400.hdmi/sound/card1"
		device.description = "Built-in Audio"
		device.enum.api = "udev"
		device.form_factor = "internal"
		device.icon_name = "audio-card-analog"
		device.name = "alsa_card._sys_devices_platform_soc_107c706400.hdmi_sound_card1"
		device.nick = "vc4-hdmi-1"
		device.plugged.usec = "3975574"
		device.subsystem = "sound"
		sysfs.path = "/devices/platform/soc/107c706400.hdmi/sound/card1"
		media.class = "Audio/Device"
		factory.id = "14"
		client.id = "34"
		object.id = "40"
		object.serial = "40"
		object.path = "alsa:pcm:1"
		alsa.card = "1"
		alsa.card_name = "vc4-hdmi-1"
		alsa.long_card_name = "vc4-hdmi-1"
		alsa.driver_name = "vc4"
		device.string = "1"
	Profiles:
		off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
		pro-audio: Pro Audio (sinks: 1, sources: 0, priority: 1, available: yes)
	Active Profile: off

$ pactl list sinks:

Sink #32
	State: RUNNING
	Name: auto_null
	Description: Dummy Output
	Driver: PipeWire
	Sample Specification: float32le 2ch 48000Hz
	Channel Map: front-left,front-right
	Owner Module: 4294967295
	Mute: no
	Volume: front-left: 43909 /  67% / -10.44 dB,   front-right: 43909 /  67% / -10.44 dB
	        balance 0.00
	Base Volume: 65536 / 100% / 0.00 dB
	Monitor Source: auto_null.monitor
	Latency: 0 usec, configured 0 usec
	Flags: DECIBEL_VOLUME LATENCY 
	Properties:
		node.name = "auto_null"
		device.description = "Dummy Output"
		audio.rate = "48000"
		audio.channels = "2"
		audio.position = "FL,FR"
		media.class = "Audio/Sink"
		factory.name = "support.null-audio-sink"
		node.virtual = "true"
		monitor.channel-volumes = "true"
		factory.id = "18"
		clock.quantum-limit = "8192"
		client.id = "31"
		node.driver = "true"
		factory.mode = "merge"
		audio.adapt.follower = ""
		library.name = "audioconvert/libspa-audioconvert"
		object.id = "32"
		object.serial = "32"
	Formats:
		pcm

$ pw-cli ls:

	id 0, type PipeWire:Interface:Core/4
 		object.serial = "0"
 		core.name = "pipewire-0"
	id 1, type PipeWire:Interface:Module/3
 		object.serial = "1"
 		module.name = "libpipewire-module-rt"
	id 2, type PipeWire:Interface:Module/3
 		object.serial = "2"
 		module.name = "libpipewire-module-protocol-native"
	id 3, type PipeWire:Interface:Module/3
 		object.serial = "3"
 		module.name = "libpipewire-module-profiler"
	id 4, type PipeWire:Interface:Profiler/3
 		object.serial = "4"
	id 5, type PipeWire:Interface:Module/3
 		object.serial = "5"
 		module.name = "libpipewire-module-metadata"
	id 6, type PipeWire:Interface:Factory/3
 		object.serial = "6"
 		module.id = "5"
 		factory.name = "metadata"
 		factory.type.name = "PipeWire:Interface:Metadata"
 		factory.type.version = "3"
	id 7, type PipeWire:Interface:Module/3
 		object.serial = "7"
 		module.name = "libpipewire-module-spa-device-factory"
	id 8, type PipeWire:Interface:Factory/3
 		object.serial = "8"
 		module.id = "7"
 		factory.name = "spa-device-factory"
 		factory.type.name = "PipeWire:Interface:Device"
 		factory.type.version = "3"
	id 9, type PipeWire:Interface:Module/3
 		object.serial = "9"
 		module.name = "libpipewire-module-spa-node-factory"
	id 10, type PipeWire:Interface:Factory/3
 		object.serial = "10"
 		module.id = "9"
 		factory.name = "spa-node-factory"
 		factory.type.name = "PipeWire:Interface:Node"
 		factory.type.version = "3"
	id 11, type PipeWire:Interface:Module/3
 		object.serial = "11"
 		module.name = "libpipewire-module-client-node"
	id 12, type PipeWire:Interface:Factory/3
 		object.serial = "12"
 		module.id = "11"
 		factory.name = "client-node"
 		factory.type.name = "PipeWire:Interface:ClientNode"
 		factory.type.version = "5"
	id 13, type PipeWire:Interface:Module/3
 		object.serial = "13"
 		module.name = "libpipewire-module-client-device"
	id 14, type PipeWire:Interface:Factory/3
 		object.serial = "14"
 		module.id = "13"
 		factory.name = "client-device"
 		factory.type.name = "Spa:Pointer:Interface:Device"
 		factory.type.version = "0"
	id 15, type PipeWire:Interface:Module/3
 		object.serial = "15"
 		module.name = "libpipewire-module-portal"
	id 16, type PipeWire:Interface:Module/3
 		object.serial = "16"
 		module.name = "libpipewire-module-access"
	id 17, type PipeWire:Interface:Module/3
 		object.serial = "17"
 		module.name = "libpipewire-module-adapter"
	id 18, type PipeWire:Interface:Factory/3
 		object.serial = "18"
 		module.id = "17"
 		factory.name = "adapter"
 		factory.type.name = "PipeWire:Interface:Node"
 		factory.type.version = "3"
	id 19, type PipeWire:Interface:Module/3
 		object.serial = "19"
 		module.name = "libpipewire-module-link-factory"
	id 20, type PipeWire:Interface:Factory/3
 		object.serial = "20"
 		module.id = "19"
 		factory.name = "link-factory"
 		factory.type.name = "PipeWire:Interface:Link"
 		factory.type.version = "3"
	id 21, type PipeWire:Interface:Module/3
 		object.serial = "21"
 		module.name = "libpipewire-module-session-manager"
	id 22, type PipeWire:Interface:Factory/3
 		object.serial = "22"
 		module.id = "21"
 		factory.name = "client-endpoint"
 		factory.type.name = "PipeWire:Interface:ClientEndpoint"
 		factory.type.version = "0"
	id 23, type PipeWire:Interface:Factory/3
 		object.serial = "23"
 		module.id = "21"
 		factory.name = "client-session"
 		factory.type.name = "PipeWire:Interface:ClientSession"
 		factory.type.version = "0"
	id 24, type PipeWire:Interface:Factory/3
 		object.serial = "24"
 		module.id = "21"
 		factory.name = "session"
 		factory.type.name = "PipeWire:Interface:Session"
 		factory.type.version = "0"
	id 25, type PipeWire:Interface:Factory/3
 		object.serial = "25"
 		module.id = "21"
 		factory.name = "endpoint"
 		factory.type.name = "PipeWire:Interface:Endpoint"
 		factory.type.version = "0"
	id 26, type PipeWire:Interface:Factory/3
 		object.serial = "26"
 		module.id = "21"
 		factory.name = "endpoint-stream"
 		factory.type.name = "PipeWire:Interface:EndpointStream"
 		factory.type.version = "0"
	id 27, type PipeWire:Interface:Factory/3
 		object.serial = "27"
 		module.id = "21"
 		factory.name = "endpoint-link"
 		factory.type.name = "PipeWire:Interface:EndpointLink"
 		factory.type.version = "0"
	id 28, type PipeWire:Interface:Node/3
 		object.serial = "28"
 		factory.id = "10"
 		priority.driver = "20000"
 		node.name = "Dummy-Driver"
	id 29, type PipeWire:Interface:Node/3
 		object.serial = "29"
 		factory.id = "10"
 		priority.driver = "19000"
 		node.name = "Freewheel-Driver"
	id 30, type PipeWire:Interface:Metadata/3
 		object.serial = "30"
 		metadata.name = "settings"
	id 31, type PipeWire:Interface:Client/3
 		object.serial = "31"
 		module.id = "2"
 		pipewire.protocol = "protocol-native"
 		pipewire.sec.pid = "720"
 		pipewire.sec.uid = "0"
 		pipewire.sec.gid = "0"
 		pipewire.sec.socket = "pipewire-0"
 		pipewire.access = "unrestricted"
 		application.name = "pipewire"
	id 32, type PipeWire:Interface:Node/3
 		object.serial = "32"
 		factory.id = "18"
 		client.id = "31"
 		node.description = "Dummy Output"
 		node.name = "auto_null"
 		media.class = "Audio/Sink"
	id 33, type PipeWire:Interface:Client/3
 		object.serial = "33"
 		module.id = "2"
 		pipewire.protocol = "protocol-native"
 		pipewire.sec.pid = "718"
 		pipewire.sec.uid = "0"
 		pipewire.sec.gid = "0"
 		pipewire.sec.socket = "pipewire-0"
 		pipewire.access = "unrestricted"
 		application.name = "WirePlumber"
	id 34, type PipeWire:Interface:Client/3
 		object.serial = "34"
 		module.id = "2"
 		pipewire.protocol = "protocol-native"
 		pipewire.sec.pid = "718"
 		pipewire.sec.uid = "0"
 		pipewire.sec.gid = "0"
 		pipewire.sec.socket = "pipewire-0"
 		pipewire.access = "unrestricted"
 		application.name = "WirePlumber [export]"
	id 35, type PipeWire:Interface:Metadata/3
 		factory.id = "6"
 		module.id = "5"
 		metadata.name = "default"
 		client.id = "33"
 		object.serial = "35"
	id 36, type PipeWire:Interface:Node/3
 		object.serial = "45"
 		factory.id = "10"
 		client.id = "34"
 		priority.driver = "1"
 		node.name = "Midi-Bridge"
 		media.class = "Midi/Bridge"
	id 37, type PipeWire:Interface:Metadata/3
 		metadata.name = "route-settings"
 		factory.id = "6"
 		module.id = "5"
 		client.id = "33"
 		object.serial = "37"
	id 38, type PipeWire:Interface:Metadata/3
 		metadata.name = "sm-objects"
 		factory.id = "6"
 		module.id = "5"
 		client.id = "33"
 		object.serial = "38"
	id 39, type PipeWire:Interface:Device/3
 		object.serial = "39"
 		factory.id = "14"
 		client.id = "34"
 		device.api = "alsa"
 		device.description = "Built-in Audio"
 		device.name = "alsa_card._sys_devices_platform_soc_107c701400.hdmi_sound_card0"
 		device.nick = "vc4-hdmi-0"
 		media.class = "Audio/Device"
	id 40, type PipeWire:Interface:Device/3
 		object.serial = "40"
 		factory.id = "14"
 		client.id = "34"
 		device.api = "alsa"
 		device.description = "Built-in Audio"
 		device.name = "alsa_card._sys_devices_platform_soc_107c706400.hdmi_sound_card1"
 		device.nick = "vc4-hdmi-1"
 		media.class = "Audio/Device"
	id 41, type PipeWire:Interface:Port/3
 		object.serial = "41"
 		object.path = "auto_null:playback_0"
 		format.dsp = "32 bit float mono audio"
 		node.id = "32"
 		audio.channel = "FL"
 		port.id = "0"
 		port.name = "playback_FL"
 		port.direction = "in"
 		port.alias = "Dummy Output:playback_FL"
	id 42, type PipeWire:Interface:Port/3
 		object.serial = "42"
 		object.path = "auto_null:monitor_0"
 		format.dsp = "32 bit float mono audio"
 		node.id = "32"
 		audio.channel = "FL"
 		port.id = "0"
 		port.name = "monitor_FL"
 		port.direction = "out"
 		port.monitor = "true"
 		port.alias = "Dummy Output:monitor_FL"
	id 43, type PipeWire:Interface:Port/3
 		object.serial = "43"
 		object.path = "auto_null:playback_1"
 		format.dsp = "32 bit float mono audio"
 		node.id = "32"
 		audio.channel = "FR"
 		port.id = "1"
 		port.name = "playback_FR"
 		port.direction = "in"
 		port.alias = "Dummy Output:playback_FR"
	id 44, type PipeWire:Interface:Port/3
 		object.serial = "44"
 		object.path = "auto_null:monitor_1"
 		format.dsp = "32 bit float mono audio"
 		node.id = "32"
 		audio.channel = "FR"
 		port.id = "1"
 		port.name = "monitor_FR"
 		port.direction = "out"
 		port.monitor = "true"
 		port.alias = "Dummy Output:monitor_FR"
	id 45, type PipeWire:Interface:Port/3
 		object.serial = "46"
 		object.path = "alsa:seq:default:client_14:playback_0"
 		format.dsp = "8 bit raw midi"
 		node.id = "36"
 		port.id = "0"
 		port.name = "Midi Through:(playback_0) Midi Through Port-0"
 		port.direction = "in"
 		port.physical = "true"
 		port.terminal = "true"
 		port.alias = "Midi Through:Midi Through Port-0"
	id 46, type PipeWire:Interface:Port/3
 		object.serial = "47"
 		object.path = "alsa:seq:default:client_14:capture_0"
 		format.dsp = "8 bit raw midi"
 		node.id = "36"
 		port.id = "0"
 		port.name = "Midi Through:(capture_0) Midi Through Port-0"
 		port.direction = "out"
 		port.physical = "true"
 		port.terminal = "true"
 		port.alias = "Midi Through:Midi Through Port-0"
	id 47, type PipeWire:Interface:Port/3
 		object.serial = "226"
 		object.path = "alsa_playback.emulationstation:output_0"
 		format.dsp = "32 bit float mono audio"
 		node.id = "49"
 		audio.channel = "FL"
 		port.id = "0"
 		port.name = "output_FL"
 		port.direction = "out"
 		port.alias = "ALSA Playback [emulationstation]:output_FL"
	id 48, type PipeWire:Interface:Client/3
 		object.serial = "223"
 		module.id = "2"
 		pipewire.protocol = "protocol-native"
 		pipewire.sec.pid = "720"
 		pipewire.sec.uid = "0"
 		pipewire.sec.gid = "0"
 		pipewire.sec.socket = "pipewire-0"
 		pipewire.access = "unrestricted"
 		application.name = "EmulationStation"
	id 49, type PipeWire:Interface:Node/3
 		object.serial = "225"
 		factory.id = "8"
 		client.id = "53"
 		application.name = "PipeWire ALSA [emulationstation]"
 		node.description = "ALSA Playback [emulationstation]"
 		node.name = "alsa_playback.emulationstation"
 		media.class = "Stream/Output/Audio"
 		media.type = "Audio"
 		media.category = "Playback"
	id 50, type PipeWire:Interface:Link/3
 		object.serial = "228"
 		factory.id = "20"
 		client.id = "33"
 		link.output.port = "47"
 		link.input.port = "41"
 		link.output.node = "49"
 		link.input.node = "32"
	id 51, type PipeWire:Interface:Port/3
 		object.serial = "227"
 		object.path = "alsa_playback.emulationstation:output_1"
 		format.dsp = "32 bit float mono audio"
 		node.id = "49"
 		audio.channel = "FR"
 		port.id = "1"
 		port.name = "output_FR"
 		port.direction = "out"
 		port.alias = "ALSA Playback [emulationstation]:output_FR"
	id 52, type PipeWire:Interface:Link/3
 		object.serial = "229"
 		factory.id = "20"
 		client.id = "33"
 		link.output.port = "51"
 		link.input.port = "43"
 		link.output.node = "49"
 		link.input.node = "32"
	id 53, type PipeWire:Interface:Client/3
 		object.serial = "224"
 		module.id = "2"
 		pipewire.protocol = "protocol-native"
 		pipewire.sec.pid = "7040"
 		pipewire.sec.uid = "0"
 		pipewire.sec.gid = "0"
 		pipewire.sec.socket = "pipewire-0"
 		pipewire.access = "unrestricted"
 		application.name = "PipeWire ALSA [emulationstation]"
	id 54, type PipeWire:Interface:Client/3
 		object.serial = "255"
 		module.id = "2"
 		pipewire.protocol = "protocol-native"
 		pipewire.sec.pid = "9213"
 		pipewire.sec.uid = "0"
 		pipewire.sec.gid = "0"
 		pipewire.sec.socket = "pipewire-0"
 		pipewire.access = "unrestricted"
 		application.name = "pw-cli"

$ alsactl init:

alsa-lib main.c:1554:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -2
Found hardware: "vc4-hdmi" "" "" "" ""
Hardware is initialized using a generic method
alsa-lib main.c:1554:(snd_use_case_mgr_open) error: failed to import hw:1 use case configuration -2
Found hardware: "vc4-hdmi" "" "" "" ""
Hardware is initialized using a generic method

Below is the content of cmdline.txt:

console=tty3 video=HDMI-A-1:1920x1080@60D loglevel=3 elevator=deadline vt.global_cursor_default=0 logo.nologo dev=LABEL=BATOCERA rootwait fastboot noswap

Below is the content of config.txt:

#------------------------------------
# Original Default Batocera for Pi5
#------------------------------------
arm_boost=1
arm_64bit=1
kernel=boot/linux
initramfs boot/initrd.lz4
dtoverlay=vc4-kms-v3d,cma-512

# Fixed the issue of vc4-kms-v3d with my Arzopa portable monitor
hdmi_force_hotplug=1

# Enable bluetooth
dtparam=krnbt=on

[Overclock]
over_voltage_delta=50000
arm_freq=2900
gpu_freq=950

Below is the batocera.conf (Audio Part only):

# ------------ C - Audio ------------ #

## Set the audio device
## Use "batocera-audio list" to see available devices.
audio.device=auto
#audio.device=alsa_card._sys_devices_platform_soc_107c701400.hdmi_sound_card0
#audio.device=0,4
#audio.device="hw:0,4"
#audio.device=hdmi
#audio.output=hdmi

## Set system volume (0-100)
audio.volume=70
## Set max volume for boost sound (100-150)
audio.volume.boost=100
## Enable or disable system sounds in ES (0,1)
audio.bgmusic=1

I am using Raspberry Pi 5 + Batocera (V40o 2024/07/31 14:27), connected to Arzopa portable monitor (A1 model), with mini HDMI (I think most portable monitors are with mini HDMI).

The audio and video are fine if I connected to TV or my 32" LG monitor with HDMI.

Your help is greatly appreciated.

Best Regards, and thank you.

@Tovarichtch Tovarichtch added the RPI Raspberry Pi label Aug 16, 2024
@dmanlfc
Copy link
Collaborator

dmanlfc commented Aug 18, 2024

Your displays EDID is suggesting it cannot do audio, hence no selectable HDMI audio option.
Other people have seen this with the RPi5 also, see here: https://forums.raspberrypi.com/viewtopic.php?t=358917

This is an upstream problem, not a Batocera bug by the looks of it.

@dmanlfc dmanlfc added the requires upstream fix needs to be fixed upstream from the source code. label Aug 18, 2024
@codyng
Copy link
Author

codyng commented Aug 19, 2024

Thanks for answering me. I think many OS may have this issue with different new or old monitors....
With the same Pi 5 board, I have also tried to install LinkageOS 21 (https://konstakang.com/devices/rpi5/) but with the below TV/PC monitor results:

LG 32" UltraFine UHD 4K Ergo IPS Monitor: Fine (with both video and audio)
Arzopa Portable Monitor A1: No video signal...
Sony Bravia TV (seems 2020 model): No video signal...

But I used Pi 4, all are fine.

@dmanlfc
Copy link
Collaborator

dmanlfc commented Aug 20, 2024

As per the link I provided. You can manually get the EDID & then use that with your RPi5. Read through the thread.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
requires upstream fix needs to be fixed upstream from the source code. RPI Raspberry Pi
Projects
None yet
Development

No branches or pull requests

3 participants