Hello All,
I am posting this here instead of “Troubleshooting” because I am not at all certain that this is a bug. This may very likely just be me not fully understanding how the system works.
The end-goal here is to have an Amiberry Amiga emulation running on a pi400, using the Hardware/Full KMS driver vc4-kms-v3ed, not the vc4-fkms-v3ed Firmware driver, for sound.
I did find the previous Forum discussion, started by Lollly2997, on this precise topic and the associated v9.2 GitHub link. That post ended in Mar 2024 with the comment “…it works wonderfully kms directly hdmi set dietpi 9.2.1 and amiberry 5.6.6…”. But, I am still unable to get this operational (now on DietPi 10.3.3 and Amiberry 8.1.5).
For simplicity, I have eliminated Amiberry entirely and am now working with a pure minimal image of DietPi (“DietPi_RPi234-ARMv8-Trixie.img.xz”):
DietPi version:
G_DIETPI_VERSION_CORE=10
G_DIETPI_VERSION_SUB=3
G_DIETPI_VERSION_RC=3
G_GITBRANCH=‘master’
G_GITOWNER=‘MichaIng’
G_LIVE_PATCH_STATUS[0]=‘applied’
G_LIVE_PATCH_STATUS[1]=‘applied’
G_LIVE_PATCH_STATUS[2]=‘applied’
Distro version:
trixie 0
Kernel version:
Linux DietPi 6.12.75+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.75-1+rpt1 (2026-03-11) aarch64 GNU/Linux
Architecture:
arm64
SBC model:
RPi 400 (aarch64)
Power supply used:
5.1V 3A Raspberry Pi Foundation
SD card used:
Micro Center MicroSD
During initial boot Passwords were set, the UART disabled, Audio Enabled (and rpi-bcm-hdmi selected as Sound Card), Language/Regional Options set, NTP Mirror set, and Console font increased (to humor my optometrist).
After reboot, Network Adapters were set. At this point, in a default state with respect to sound, everything is operational:
root@DietPi:~# tail -5 /boot/firmware/config.txt
#over_voltage_min=0
#arm_freq_min=300
#core_freq_min=250
#sdram_freq_min=400
arm_64bit=1
root@DietPi:~# cat /etc/asound.conf
pcm.!default {
type hw
card 0
device 0
}
ctl.!default {
type hw
card 0
}
root@DietPi:~# ls -l /root/.asoundrc
ls: cannot access ‘/root/.asoundrc’: No such file or directory
root@DietPi:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: b1 [bcm2835 HDMI 1], device 0: bcm2835 HDMI 1 [bcm2835 HDMI 1]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 0: b1 [bcm2835 HDMI 1], device 1: bcm2835 HDMI 1 [bcm2835 HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
root@DietPi:~# aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
hw:CARD=b1,DEV=0
bcm2835 HDMI 1, bcm2835 HDMI 1
Direct hardware device without any conversions
hw:CARD=b1,DEV=1
bcm2835 HDMI 1, bcm2835 HDMI 1
Direct hardware device without any conversions
plughw:CARD=b1,DEV=0
bcm2835 HDMI 1, bcm2835 HDMI 1
Hardware device with all software conversions
plughw:CARD=b1,DEV=1
bcm2835 HDMI 1, bcm2835 HDMI 1
Hardware device with all software conversions
sysdefault:CARD=b1
bcm2835 HDMI 1, bcm2835 HDMI 1
Default Audio Device
dmix:CARD=b1,DEV=0
bcm2835 HDMI 1, bcm2835 HDMI 1
Direct sample mixing device
dmix:CARD=b1,DEV=1
bcm2835 HDMI 1, bcm2835 HDMI 1
Direct sample mixing device
root@DietPi:~# speaker-test
speaker-test 1.2.14
Playback device is default
Stream parameters are 48000Hz, S16_LE, 1 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 512 to 65536
Period size range from 512 to 65536
Periods = 4
was set period_size = 12000
was set buffer_size = 48000
0 - Front Left
Time per period = 2.010543
0 - Front Left
Time per period = 2.999979
0 - Front Left
^C
If the line dtoverlay=vc4-kms-v3d is then manually added to the end of /boot/firmware/config.txt (which is what the Amiberry installer does) and the system rebooted, the aplay outputs change radically, and sound system Errors out:
root@DietPi:~# tail -5 /boot/firmware/config.txt
#arm_freq_min=300
#core_freq_min=250
#sdram_freq_min=400
arm_64bit=1
dtoverlay=vc4-kms-v3d
root@DietPi:~# cat /etc/asound.conf
pcm.!default {
type hw
card 0
device 0
}
ctl.!default {
type hw
card 0
}
root@DietPi:~# ls -l /root/.asoundrc
ls: cannot access ‘/root/.asoundrc’: No such file or directory
root@DietPi:~# 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
root@DietPi:~# aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
sysdefault
Default Audio Device
hw:CARD=vc4hdmi0,DEV=0
vc4-hdmi-0, MAI PCM i2s-hifi-0
Direct hardware device without any conversions
plughw:CARD=vc4hdmi0,DEV=0
vc4-hdmi-0, MAI PCM i2s-hifi-0
Hardware device with all software conversions
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
dmix:CARD=vc4hdmi0,DEV=0
vc4-hdmi-0, MAI PCM i2s-hifi-0
Direct sample mixing device
hw:CARD=vc4hdmi1,DEV=0
vc4-hdmi-1, MAI PCM i2s-hifi-0
Direct hardware device without any conversions
plughw:CARD=vc4hdmi1,DEV=0
vc4-hdmi-1, MAI PCM i2s-hifi-0
Hardware device with all software conversions
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
dmix:CARD=vc4hdmi1,DEV=0
vc4-hdmi-1, MAI PCM i2s-hifi-0
Direct sample mixing device
root@DietPi:~# speaker-test
speaker-test 1.2.14
Playback device is default
Stream parameters are 48000Hz, S16_LE, 1 channels
Using 16 octaves of pink noise
Playback open error: -524,Unknown error 524
root@DietPi:~#
If /etc/asound.conf is removed (mv /etc/asound.conf /root/) and the system rebooted, there is a slight change to the aplay -L output, but the output of aplay -l and the Error resulting from speaker-test remain unchanged:
root@DietPi:~# tail -5 /boot/firmware/config.txt
#arm_freq_min=300
#core_freq_min=250
#sdram_freq_min=400
arm_64bit=1
dtoverlay=vc4-kms-v3d
root@DietPi:~# cat /etc/asound.conf
cat: /etc/asound.conf: No such file or directory
root@DietPi:~# ls -l /root/.asoundrc
ls: cannot access ‘/root/.asoundrc’: No such file or directory
root@DietPi:~# 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
root@DietPi:~# aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
default
Default Audio Device
sysdefault
Default Audio Device
hw:CARD=vc4hdmi0,DEV=0
vc4-hdmi-0, MAI PCM i2s-hifi-0
Direct hardware device without any conversions
plughw:CARD=vc4hdmi0,DEV=0
vc4-hdmi-0, MAI PCM i2s-hifi-0
Hardware device with all software conversions
default:CARD=vc4hdmi0
vc4-hdmi-0, MAI PCM i2s-hifi-0
Default Audio Device
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
dmix:CARD=vc4hdmi0,DEV=0
vc4-hdmi-0, MAI PCM i2s-hifi-0
Direct sample mixing device
hw:CARD=vc4hdmi1,DEV=0
vc4-hdmi-1, MAI PCM i2s-hifi-0
Direct hardware device without any conversions
plughw:CARD=vc4hdmi1,DEV=0
vc4-hdmi-1, MAI PCM i2s-hifi-0
Hardware device with all software conversions
default:CARD=vc4hdmi1
vc4-hdmi-1, MAI PCM i2s-hifi-0
Default Audio Device
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
dmix:CARD=vc4hdmi1,DEV=0
vc4-hdmi-1, MAI PCM i2s-hifi-0
Direct sample mixing device
root@DietPi:~# speaker-test
speaker-test 1.2.14
Playback device is default
Stream parameters are 48000Hz, S16_LE, 1 channels
Using 16 octaves of pink noise
Playback open error: -524,Unknown error 524
root@DietPi:~#
If asound.conf is put back (mv /root/asound.conf /etc/), the dtoverlay=vc4-kms-v3d line edited to dtoverlay=vc4-fkms-v3d, and the system rebooted the sound system functions and all outputs are precisely as they were “out-of-the-box”. To me, this suggests that the behind-the-scenes default is actually the Firmware/Fake KMS…
Bottom Line: I can get the Amiberry build operational by either commenting out the dtoverlay=vc4-kms-v3d or by changing it to dtoverlay=vc4-fkms-v3d, but the sound quality for the Amiga emulation is not the greatest (staticky). I also know that I can play around with the “Interpolation” Options in the Amiberry “Sound” UI to improve the quality, but I would like to be building on the best foundation (the Hardware KMS driver). Besides, it is my understanding that the Firmware KMS driver is currently considered outdated/deprecated.
What am I missing/doing wrong here, please?