Open Lokito23 opened 1 week ago
I believe this might be a Qt issue; Pegasus itself doesn't do anything platform-specific as accessing /dev/input/
, it receives input through Qt and/or SDL2. It seems on EGLFS, Qt processes input depending on the input plugin you use/built Qt with, see https://doc.qt.io/qt-5/inputs-linux-device.html. If you can reproduce this with other Qt apps (eg. Qt's own demos), you could report it to the Qt devs here: https://bugreports.qt.io/browse/QTBUG
Understood, I'll test soon
It happens in Dolphin (the file explorer), and Kate too, so it seems to be QT related, however I am not sure about it being a bug.
From what I have seen, they want the user to have access to the input files, which, unless you are inside the input
group, or have changed the permissions of them, you do not have it. My guess is that it's security related.
As for asking QT to add a crash handler for this, I doubt it could work. You can still use EGLFS without input, for example on a billboard, so I think they will just say it's intended, or that it should be done application side.
The problem
If you start Pegasus using EGLFS on Linux, but don't have access to the input files (
/dev/input/
), all input stops working.The program still runs, but you lost the control over the whole computer, with the only way to stop it being to shutdown.
A solution
Detect if the user is on Linux, and if he is, detect if he has access to
/dev/input/
directory, if not, crash the program and throw an error that recommends the user to either modify the permissions on the input files, or to add themselves to the input group.