media-libs/libsdl2 configured with USE flags +kms -opengl will build successfully, but will not include the KMSDRM driver. After digging around to find out why, it turns out that it requires the opengl USE flag as well. Request is to add "kms? ( opengl )" to REQUIRED_USE to avoid confusion. Reproducible: Always
Check where KMSDRM gets skipped if HAVE_OPENGL_EGL isnt set. https://github.com/libsdl-org/SDL/blob/SDL2/cmake/sdlchecks.cmake#L1332 HAVE_OPENGL_EGL set if egl.pc is available and if opengl, gles1 or gles2 is use flag enabled. https://github.com/libsdl-org/SDL/blob/SDL2/cmake/sdlchecks.cmake#L857..L874 So REQUIRED_USE+="kms? ( || ( opengl gles1 gles 2) )" would work.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99a6bc9219ba4fd187ad099660a4f453b12565df commit 99a6bc9219ba4fd187ad099660a4f453b12565df Author: James Le Cuirot <chewi@gentoo.org> AuthorDate: 2025-02-20 21:36:33 +0000 Commit: James Le Cuirot <chewi@gentoo.org> CommitDate: 2025-02-20 21:36:33 +0000 media-libs/libsdl2: Fix kms USE logic in 2.30.11 and 2.32.0 This relates to EGL, which is a bit confusing because EGL and GLES are different things, but upstream probably knows best. Closes: https://bugs.gentoo.org/949997 Signed-off-by: James Le Cuirot <chewi@gentoo.org> media-libs/libsdl2/libsdl2-2.30.11.ebuild | 1 + media-libs/libsdl2/libsdl2-2.32.0.ebuild | 1 + 2 files changed, 2 insertions(+)