mickelson / sfml-pi

SFML on Linux without X11 using DRM/KMS (or dispmanx on RPi0-3)
Other
62 stars 26 forks source link

GCW0/RG350 (OpenDingux) - Trying to make the DRM/KMS backend work #25

Open gameblabla opened 1 year ago

gameblabla commented 1 year ago

Hello, i've been trying to make this work on the RG-350 but it always fails at https://github.com/mickelson/sfml-pi/blob/754ed8fee142276608043cc08ba6fe92da5355a6/src/SFML/Window/Unix/DRM/DRMContext.cpp#L467

with that function returning -22. "Failed to set mode: Invalid argument" I attempted to get this working by putting

drmSetMaster(my_drm.fd);

above it but no dice sadly.

For some context, the device i'm working on has a modern linux kernel with OpenGLES 1.1/2.0 available using the open source etnaviv engine. I was able to run other games (including with and without gl4es) on it and setting up an EGL context but usually i would do it with SDL2. And that's confusing to me because the DRM code that you use looks very similar to the fix used for rRootage (see screen.c) : https://github.com/plrguez/rRootage-for-Handhelds/commit/96605a66e30ccd7f2e2bfab07d0cb00aa3bcc0c2

Any insight would be helpful xox Here are the changes i've done so far : https://github.com/gameblabla/sfml-pi/commit/b3dfc6433e128d2821c257e9d91d6400217f60b6

And the minimal sfml example project that i'm using for testing https://github.com/gameblabla/sfml_example_drm_test