| Summary: | [GTK] Gamepad events do not occur in the flatpak shell. | ||||||
|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | ChangSeok Oh <changseok> | ||||
| Component: | WebKitGTK | Assignee: | Adrian Perez <aperez> | ||||
| Status: | RESOLVED FIXED | ||||||
| Severity: | Normal | CC: | aperez, bugs-noreply, bugzilla, clopez, mcatanzaro, pgriffis, pnormand | ||||
| Priority: | P2 | ||||||
| Version: | WebKit Nightly Build | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Linux | ||||||
| See Also: | https://github.com/flatpak/flatpak/issues/7 | ||||||
| Bug Depends on: | |||||||
| Bug Blocks: | 133847 | ||||||
| Attachments: |
|
||||||
|
Description
ChangSeok Oh
2020-05-27 19:19:07 PDT
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]. |