Add pegasus frontend - #21
Conversation
|
Hi Jecaro – yes this is the same error I received when compiling pegasus. I was made aware of this patch which is for KMS https://github.com/mmatyas/pegasus-frontend/tree/master/etc/rpi4 Although it says rpi4 it might still be relevant for rpi3. I have tried adding the patch but I'm unable to build, and unsure where I'm going wrong due to my experience with nixos. I was also told to start pegasus with the following command: |
|
Indeed it doesn't build. Adding this overlay: (final: prev: {
pegasus-frontend = prev.pegasus-frontend.overrideAttrs (old: {
patches = [ "${old.src}/etc/rpi4/kms_launch_fix.diff" ];
});
})the configuration fails with: One private header from Qt is missing. These headers are not supposed to be used by programs AFAIK. That looks like a serious hack. Now why is it not found? That could be because nix doesn't make them available, or put them in a non standard path. Another idea could be that for some reason, egl support is not included in nixos Qt. In which case one must override the Qt libs derivation to fix that. |
|
Some information from the pegasus-fe dev here: That is indeed a private Qt header, and the patch is a hacky workaround, yes. On the Raspberry Pi 4 to launch games I had to access the EGL context, but Qt doesn't provide public interface for it, hence the patch. |
|
Hello there! I'm the pegasus-fe dev. If you're on Pi 3, you might not need this patch at all. It is for the KMS video driver that the Pi 4 used when it came out. Before, the Raspberries used the (I think proprietary) Broadcom driver, which didn't have the window handling issue the patch fixes. It's been a few years though, I think there's like 3 different kinds of video drivers by now; not sure which one is on the device. Now I'm not familiar with the project, so I'll write in general here. Your issue is
This usually happens when the dependencies, like X11 shared libraries are missing (or you're not running an X11 program on top of X11). You can find the necessary dependencies here: https://doc.qt.io/archives/qt-5.15/linux-requirements.html. You can also |
|
Thanks for the details @mmatyas This is the output I get trying to start pegasus with the command suggested by @moonbit5 We don't run X11. We use the KMS driver, so it is likely that we need this patch as well. Now why that header is not found? This is what we need to find out. Looking at the output with |
|
Ok. I have patched Anyway, it still crashes with a similar error. Looking at the logs, I can see our version of Qt has those three So we're left with those two options:
I still think it would be a shame to run X11, because the emulators run fine with KMS, and KMS is much lighter. But that could be tried anyway for a quick way to evaluate how usable the frontend is on our device. |
Draft PR to trying to make
pegasus-frontendwork. The configuration builds fine however pegasus fails to starts with:It looks like it works fine on raspbian. Then there is no reason it cannot work on
circuix. One needs to dig in the compilation options and the command they use to run it.