Good news regarding tearing and low EmulationStation performance on Pi 4
-
@SeraphisCain said in Good news regarding tearing and low EmulationStation performance on Pi 4:
For the moment I'm using
dtoverlay=vc4-kms-v3d,noaudio
along with dtparam=audio=on to use the new video driver along with the old audio driver until things get ironed out with the new HDMI audio driver.The correct usage is dtoverlay=vc4-kms-v3d,noaudio=on
You can verify by typing aplay -l in the cmdline and the vc4hdmi devices will not be present.
-
According to this:
https://github.com/raspberrypi/linux/pull/3640#issuecomment-639053905
noaudio
andnoaudio=on
should have the same effect, since "on" is assumed if no parameter is given. -
@SeraphisCain said in Good news regarding tearing and low EmulationStation performance on Pi 4:
issuecomment
Good catch. I haven’t used the driver in awhile. For me the lack of a mixer doesn’t make it a suitable driver.
-
Yep, looks like they officially released 5.4 and the gamecon driver still doesn't work. I have no idea what the problem is but I did post the problem to them months ago in their forum and got ignored.
-
@Darksavior said in Good news regarding tearing and low EmulationStation performance on Pi 4:
I have no idea what the problem is but I did post the problem to them months ago in their forum and got ignored.
Well, it's not their driver - why would you expect them to fix it ?
You should have reported this upstream - https://github.com/marqs85/gamecon_gpio_rpi. -
@mitu Well, I don't know of these things. A simple "not our problem" would've done it.
Buzz always tells people to post problems on the forum first, so I'm always hesitant to post problems at the github. -
@Darksavior said in Good news regarding tearing and low EmulationStation performance on Pi 4:
Buzz always tells people to post problems on the forum first, so I'm always hesitant to post problems at the github.
Yes, that's the preferred approach - though in this case it's not a RetroPie issue. It looks like the module uses a call to
do_gettimeofday
, which was deprecated in the Linux kernel in preparation for the 2038-pocalypse. I'll take a look at what changes might be needed and perhaps submit a patch upstream. -
Well now that 5.4 is official, is there any way to get kodi working with this KMS driver or no?
-
@PhoenixJedi I think we just have to wait for Kodi 19 to be released.
-
@PhoenixJedi Nope, Kodi will only work with KMS in Kodi 19.
-
Now that the update is official, is the KMS driver enabled by default, or do you still have to add the line in the boot config? Is the audio fixed with the KMS driver?
-
@Beretta9 said in Good news regarding tearing and low EmulationStation performance on Pi 4:
Now that the update is official, is the KMS driver enabled by default, or do you still have to add the line in the boot config? Is the audio fixed with the KMS driver?
Not enabled by default, and the KMS driver is very much still a WIP.
-
@bluestang said in Good news regarding tearing and low EmulationStation performance on Pi 4:
It is not possible to use the BCM2835 and the vc4hdmi drivers at the same time.
That's why i think i got this tip: dtoverlay=vc4-kms-v3d-pi4,audio=off (with dtparam=audio=on and old vc4-hdmi.conf). But that indeed did not work
What is your output when you type in aplay -l in the cmd line?
i cannot check, i rolled back to the old kernel. Will try again in the near future
-
@akamming said in Good news regarding tearing and low EmulationStation performance on Pi 4:
That's why i think i got this tip: dtoverlay=vc4-kms-v3d-pi4,audio=off (with dtparam=audio=on and old vc4-hdmi.conf). But that indeed did not work
The usage is
dtoverlay=vc4-kms-v3d,noaudio
combined withdtparam=audio=on
This turns off the vc4hdmi audio driver and keeps the BCM2835 audio driver on.
If you want the vc4hmdi audio driver the usage is
dtoverlay=vc4-kms-v3d
anddtparam=audio=off
You also need to replace the old vc4hdmi.conf file with this new one https://github.com/LibreELEC/LibreELEC.tv/blob/master/projects/RPi/filesystem/usr/share/alsa/cards/vc4-hdmi.conf
I wouldn’t recommend this since this driver is very much a WIP and it lacks several features still.
-
@bluestang said in Good news regarding tearing and low EmulationStation performance on Pi 4:
The usage is
dtoverlay=vc4-kms-v3d,noaudio
combined withdtparam=audio=on
This turns off the vc4hdmi audio driver and keeps the BCM2835 audio driver on.
Aha... then i think i know here i went wrong. I used audio=off instead of noaudio. Tx! I will try again in a few days...
-
@bluestang said in Good news regarding tearing and low EmulationStation performance on Pi 4:
The usage is
dtoverlay=vc4-kms-v3d,noaudio
combined withdtparam=audio=on
Just confirmed: This fixes the hdmi audio. Tx a lot!
i saw a video on YouTube with someone claiming to overclock the ARM to 2250 on 5.4. So apparently 5.4 with the new firmware has less restrictions on overclock, but i cannot find anywhere on the internet what the new settings are... does any one know? Cause if we can boost cpu and/or gpu we might even get a better emulation performance on the pi 4....
-
So I'm still having the "jerky scrolling" issue with the KMS driver that I was having when I tested it prior to official release. Noticed it in Super Mario Bros. and Sonic 2 before official release, and Castlevania Chronicles (PS1) just now. Went back to FKMS and it's fixed. Anyone else notice issues with stuttering/jerky scrolling on KMS?
@akamming You said earlier in the thread you rolled back to the previous kernel. How did you do that? There's something I need to check in Redream on the previous kernel (and if my suspicion is correct, I'll be staying on the previous kernel).
-
@SeraphisCain said in [Good news regarding tearing and low
@akamming You said earlier in the thread you rolled back to the previous kernel. How did you do that? There's something I need to check in Redream on the previous kernel (and if my suspicion is correct, I'll be staying on the previous kernel).
I did it using these commands:
sudo apt-get update sudo apt-get install --reinstall raspberrypi-bootloader raspberrypi-kernel
(and ofcourse reverting other changes i made myself)
but that won't work anymore, cause the raspberry foundation now moved to 5.4 in the official updates as well i noticed...
-
now that it's working i did some testing. Decided to keep the kms driver. i noticed
the cons:
- omx player and kodi don't work anymore (expected), but for me that's fine.. just had to put back the setting in emulation station that it's not using omx player for the video previews, and wasn't using kodi anyway, so removed it from the system
- According to some YouTube video's i should be able to overclock the cpu more (now stable at 2100), but to me this only led to an instable system, so did not see the expected better performance here...
the pros:
- emulationstation feels much smoother. Is feels just like everything is a bit more responsive (but to be honest this can be just a feeling. I cannot measure this objectively). @SeraphisCain i did not see any stuttering/jerky scrolling….
- i was able to get some extra power from the gpu : I was able to bring my v3d_freq to 825 while keeping the pi stable. This was 750 on the old kernel/firmware.
- the combination of extra gpu overclock and kms driver lead to much better emulation performance on several emulators on which the gpu is a bottleneck :
- n64 on lr-mupen64plus-nx: no more audio stuttering in lr-mupen64plus-nx when running in 2X resolution. So now 640x480 available for all games. on old kernel a lot of games had to run on 320x240 to prevent this audio stutter
- dreamcast/atomiswave on lr-flycast: almost all games which ran on 640x480 now run 100% speed on 960x720 without frameskip (!)
- psp on ppsspp: can now run almost all games on 3x resolution (used to be 2x resolution). Still using frameskip setting auto/1 (but i also did dat on the 2x resolution on the old kernel/firmware).
Overall: very happy! big improvement in overall performance!
-
I noticed some errors on the console. Haven't noticed them before. The only change i lately did was the move to 5.4 using the kms driver. So i think it is related.
mmal: mmal_vc_component_create: failed to create component 'vc.ril.hvs' (1:ENOMEM) mmal: mmal_component_create_core: could not create component 'vc.ril.hvs' (1)
All works fine, dos anyone know what they mean and how to fix (or how they can be supressed, alle seems to work fine...)?
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.