Does Lakka support MESA Panfrost?

HI there,

Seeing how the Vulkan backend performs WAY better on the Pi4 than the GLES backend, I was wondering if the Panfrost MESA driver could be used on Lakka, since Panfrost supports Vulkan.

What does Lakka currently use on RG351 platforms? Maybe binary blobs from ARM holdings?

Thanks!

For the OGA/RK3326 based devices, it’s currently the binary Rockchip blobs w/4.4 kernel on Lakka 3.6.

Hopefully Lakka 4.x will support panfrost soon, though there is a PoC build available here so it’s possible (I’ve tested this myself on a RG351M and it does work with some minor audio issues): https://github.com/djselbeck/Lakka-LibreELEC/releases

Regarding PanVk it’s still very early days as it hasn’t been merged that long, so it’ll likely take some time until that’s fully cooked. At this stage just having a mainline kernel would be more of a benefit to the system overall.

Sounds like a good perspective for Lakka 4.x! Thanks for the information on what’s being currently used, etc.

What audio issues did you find with the POC mainline version?

Just a bit of crackling on some cores with alsathread

What about ALSA? Alsathread always proved to be more prone to crackle/pop/whatever, in my experience.

Didn’t test at the time, maybe someone else could test as I don’t have the RG351M anymore (now have the RG351V instead)

Yes we will enable Panfrost normally on Lakka 4.

But we have detected some issue with mupen64plus-libretro-nx libretro core, we don’t know if there are Panfrost specific ?

As far as I remember PanVK is still early to be fully compliant with Vulkan.

Also we should check Turnip Vulkan driver but it is for Adreno GPU.

1 Like

That’s VERY good to hear, I will eagerly wait for Lakka 4.x on the 351!

About mupen64, it would be too slow on OGA clones anyway I guess…

Depends on how old the core is tbh, Mupen64Plus can be okay, but Mupen64Plus-Next is harder work. With RK3326 devices you’re very much on the limit with N64, Dreamcast and PSP emulation in general, but this is why a mainline kernel and panfrost will be important for them. It wont be a magic bullet, but it might nudge a few cores/games into ‘playable’ territories. :slight_smile:

I’ve noticed similar with my old RG350 running OpenDingux Beta w/5.15 kernel and open source Etnaviv, native RA performs incredibly well for a 1Ghz MIPS device, some 16bit cores feel even better than they do currently on RG351, all very ‘toight’.

That sounds VERY interesting! So, does Lakka work with opensource ETNAVIV and 5.15 kernel on the RG280V? Does the basic crt-pi shader (no curvature) work fullspeed for GenesisPlusGX on it?

No, Lakka is LibreELEC based, so x86 and ARM only. The OpenDingux Beta is for MIPS, but it’s running mainline kernel/drivers, and the port of RA uses SDL only so normal shaders are unavailable (but you can use filters instead).

Ah! OpenDingux runs on those MIPS machines, yes, I had forgotten. How good are the filters? Any shimmering or patterns when using scanlines?

Don’t use the filters personally, so I don’t know, but the Genesis Plus GX libretro core generally flies on this beta, I played through Demons of Asteborg on mine over the holidays, smooth as butter :slight_smile:

Just bought a dirt cheap Allwinner H6 box recently to test with, and Panfrost is present with this image: https://nightly.builds.lakka.tv/members/vudiq/Lakka-4.0-devel/H6.aarch64/Lakka-H6.aarch64-4.0-devel-20211114181737-4d8ce4d-tanix-tx6.img.gz

It’s not working that well yet unfortunately (lots of graphical corruption with Mupen and Dolphin etc) but it’s good to see how it’s evolving.

Just wondered on the latest news for the OGA clones, are we stuck on 3.7.3 for a while?

Yes for now unfortunately.

No worries, appreciate the info. Totally aware it’s not an easy job this one.