After the gtk port moved to flatpak SDK, any signal from gamepads is not detected by webkit. Perhaps, sandbox of flatpak shell involved but it is not sure. https://github.com/flatpak/flatpak/issues/7
Maybe Patrick could help here?
ChangSeok, can you check if patching the bubblewrap launcher like in https://bugs.webkit.org/show_bug.cgi?id=212524 would help?
Ah sorry, it might not help. If I understand the CMake option for this, the launcher is disabled when we build from the SDK: if (CMAKE_SYSTEM_NAME MATCHES "Linux" AND NOT EXISTS "/.flatpak-info") WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BUBBLEWRAP_SANDBOX PUBLIC ON) else () WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BUBBLEWRAP_SANDBOX PUBLIC OFF) endif ()
(In reply to Philippe Normand from comment #3) > Ah sorry, it might not help. If I understand the CMake option for this, the > launcher is disabled when we build from the SDK: > > if (CMAKE_SYSTEM_NAME MATCHES "Linux" AND NOT EXISTS "/.flatpak-info") > WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BUBBLEWRAP_SANDBOX PUBLIC ON) > else () > WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BUBBLEWRAP_SANDBOX PUBLIC OFF) > endif () You are right. The SDK based webkit build disables ENABLE_BUBBLEWRAP_SANDBOX. I tried to forcedly enable it in flatpak shell but I couldn't since bwrap is not available in the shell.
The following merge request makes libmanette usable inside Flatpak: https://gitlab.gnome.org/aplazas/libmanette/-/merge_requests/19 The library needs to be built passing “-Dgudev=disabled” to Meson, and libmanette will fall back to using “GFileMonitor” on ”/dev/input/*” to find supported devices, which works inside the Flatpak sandbox if the application has been configured with “--device=all”, but I suspect that “--filesystem=/dev/input:ro” might work.
(In reply to Adrian Perez from comment #5) > The following merge request makes libmanette usable inside Flatpak: > > https://gitlab.gnome.org/aplazas/libmanette/-/merge_requests/19 > > The library needs to be built passing “-Dgudev=disabled” to Meson, and > libmanette will fall back to using “GFileMonitor” on ”/dev/input/*” to > find supported devices, which works inside the Flatpak sandbox if the > application has been configured with “--device=all”, but I suspect that > “--filesystem=/dev/input:ro” might work. It turns out that we already have “--device=all” somewhere, checked with: % webkit-flatpak -c grep devices /.flatpak-info devices=dri;all; % So for *development* the only moving part missing is compiling libmanette with “-Dgudev=disabled” and then game pads should work in the MiniBrowser for development 🙌️
Created attachment 411777 [details] Patch
Committed r268721: <https://trac.webkit.org/changeset/268721> All reviewed patches have been landed. Closing bug and clearing flags on attachment 411777 [details].