I would like to use input-leap as a server on a GNOME Wayland Fedora Workstation 39, and as a client on a GNOME-Wayland Fedora Silverblue 39 workstation, as well as as a client on a macos installation.
[2023-11-14T08:10:06] INFO: starting server
[2023-11-14T08:10:06] INFO: config file: /tmp/InputLeap.bnGzFW
[2023-11-14T08:10:06] INFO: log level: INFO
[2023-11-14T08:10:06] FATAL: An error occurred: Missing libportal InputCapture portal support
[2023-11-14T08:10:07] ERROR: process exited with error code: 1
[2023-11-14T08:10:07] INFO: detected process not running, auto restarting
Then i logged out and started input-leap, and that was enough to get a session working between fedora and mac os
I then performed the same steps on the silverblue client (in a toolbox), but the copy linked doesn’t have an aarch64 build, so i guess ill have to sit on my hands for that one. @ofourdan would you be willing to add an aarch64 build to your copr? anything I could do to help?
So I’ve installed input-leap and libportal from @ofourdan’s COPR repo and when I configure it and try to start the server I gets asked to allow reading input and click the Share button but then gnome-shell crashes.
Is @ofourdan’s COPR repo already out of date with Fedora 39?
Yeah, Neal has updated input-leap in Fedora (rawhide and F39) to enable EI support, best is to use the “official” input-leap package from Fedora instead of my build in copr.
The official package doesn’t work for me either in F39.
The solution shared by @bennyp works (but I had to install avahi-compat-libdns_sd also)
Do some of you know if input-leap can be started without having the wayland error message to close, and/or having the capture input to manually turn on?
Developer/maintainer of Input Leap here. I recently made a change to the GUI, which removes the Wayland error, and replaces it with an info message instead, just to keep our issue tracker tidy.
What I may do is add a compile-time option, so it can be disabled. But currently, it’ll only display the message when the QPA platformType is matched to wayland, and doesn’t show the message when running under X11.
The InputCapture authorization hasn’t changed yet, but we are aware.
Note to inform people: Sway/wlroots-based WMs are not supported by our Wayland backend. I can’t see this changing.
For those following along from home, today I build input-leap from git with the following:
1. `libportal`'s InputCapture portal stuff was merged but has not yet been release, so we need to clone and build the latest libportal.
~/Developer
❯ git clone git@github.com:flatpak/libportal.git
~/Developer took 2s
❯ cd libportal
libportal on main [?] is 📦 v0.7.1
❯ pip install jinja2 pygments typogrify
libportal on main [?] is 📦 v0.7.1 took 7s
❯ meson _build
libportal on main [?] is 📦 v0.7.1 took 35s
❯ ninja -C _build
ninja: Entering directory `_build'
[31/31] Generating doc/libportal-doc with a custom command
WARNING: Unknown namespace Gtk
use [class@Gtk.FileChooserNative] instead of [method@Portal.open_file].
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
libportal on main [?] is 📦 v0.7.1
❯ cd _build
libportal/_build on main [?] via C v13.2.1-gcc
❯ sudo meson install
ninja: Entering directory `/home/bennyp/Developer/libportal/_build'
ninja: no work to do.
Installing libportal/portal-enums.h to /usr/local/include/libportal
Installing libportal/libportal.so.1.0.0 to /usr/local/lib64
Installing libportal/Xdp-1.0.gir to /usr/local/share/gir-1.0
Installing libportal/Xdp-1.0.typelib to /usr/local/lib64/girepository-1.0
Installing libportal/libportal.vapi to /usr/local/share/vala/vapi
Installing /home/bennyp/Developer/libportal/_build/doc/libportal-1/libportal.html to /usr/local/share/doc/libportal-1
Installing /home/bennyp/Developer/libportal/_build/doc/libportal-1/classes_hierarchy.html to /usr/local/share/doc/libportal-1
...
Installing /home/bennyp/Developer/libportal/_build/doc/libportal-1/favicon-128x128.png to /usr/local/share/doc/libportal-1
Installing /home/bennyp/Developer/libportal/libportal/portal.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/portal-helpers.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/account.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/background.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/camera.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/dynamic-launcher.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/email.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/filechooser.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/inhibit.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/inputcapture.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/inputcapture-zone.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/inputcapture-pointerbarrier.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/location.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/notification.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/openuri.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/parent.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/print.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/remote.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/screenshot.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/session.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/spawn.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/trash.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/types.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/updates.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/libportal/wallpaper.h to /usr/local/include/libportal
Installing /home/bennyp/Developer/libportal/_build/meson-private/libportal.pc to /usr/local/lib64/pkgconfig
Installing /home/bennyp/Developer/libportal/_build/meson-private/libportal.deps to /usr/local/share/vala/vapi
Installing symlink pointing to libportal.so.1.0.0 to /usr/local/lib64/libportal.so.1
Installing symlink pointing to libportal.so.1 to /usr/local/lib64/libportal.so
2. Then we'll need to get the latest input-leap sources
libportal/_build on main [?] via C v13.2.1-gcc took 6m42s
❯ cd ~/Developer
~/Developer
❯ rm -rf input-leap/ && git clone git@github.com:input-leap/input-leap && cd input-leap
input-leap on master via △ v3.27.7
❯ git submodule update --init --recursive
3. turn on libei support
input-leap on master [$] via △ v3.27.7
❯ sed -ir 's/INPUTLEAP_BUILD_LIBEI\(.*\)OFF/INPUTLEAP_BUILD_LIBEI\1ON/' CMakeLists.txt
4. install and build
input-leap on master [$!?] via △ v3.27.7 took 4s
❯ ./clean_build.sh
/usr/bin/ninja
Starting Input Leap Debug build in 'build'...
-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Full InputLeap version string is '2.4.0-release-release'
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.9.5")
-- Looking for include file sys/socket.h
-- Looking for include file sys/socket.h - found
-- Looking for include file sys/utsname.h
-- Looking for include file sys/utsname.h - found
-- Looking for getpwuid_r
-- Looking for getpwuid_r - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found CURL: /usr/lib64/libcurl.so (found version "8.2.1")
-- Checking for module 'avahi-compat-libdns_sd'
-- Found avahi-compat-libdns_sd, version 0.8
-- Checking for modules 'x11;xext;xrandr;xinerama;xtst;xi'
-- Found x11, version 1.8.7
-- Found xext, version 1.3.5
-- Found xrandr, version 1.5.4
-- Found xinerama, version 1.1.5
-- Found xtst, version 1.2.4
-- Found xi, version 1.8.1
-- Checking for modules 'ice;sm'
-- Found ice, version 1.0.10
-- Found sm, version 1.2.3
-- Checking for module 'libei-1.0 >= 0.99.1'
-- Found libei-1.0 , version 1.2.0
-- Checking for module 'xkbcommon'
-- Found xkbcommon, version 1.6.0
-- Checking for modules 'glib-2.0;gio-2.0'
-- Found glib-2.0, version 2.78.3
-- Found gio-2.0, version 2.78.3
-- Checking for module 'libportal'
-- Found libportal, version 0.7.1
-- Looking for xdp_session_connect_to_eis
-- Looking for xdp_session_connect_to_eis - found
-- Looking for xdp_input_capture_session_connect_to_eis
-- Looking for xdp_input_capture_session_connect_to_eis - found
-- Performing Test HAVE_LIBPORTAL_OUTPUT_NONE
-- Performing Test HAVE_LIBPORTAL_OUTPUT_NONE - Success
-- Looking for include file dns_sd.h
-- Looking for include file dns_sd.h - found
-- Configuring directory /home/bennyp/Developer/input-leap/build/rpm
-- Configuring file input-leap.spec
-- Using Qt 5
-- Configuring done (3.7s)
-- Generating done (0.1s)
-- Build files have been written to: /home/bennyp/Developer/input-leap/build
[254/254] Linking CXX executable bin/input-leap
Build completed successfully
input-leap on master [$!?] via △ v3.27.7 took 1m24s
❯ sudo cmake --install build
-- Install configuration: "Debug"
-- Installing: /usr/local/bin/input-leap-flatpak
-- Installing: /usr/local/share/man/man1/input-leapc.1
-- Installing: /usr/local/share/man/man1/input-leaps.1
-- Installing: /usr/local/share/metainfo/io.github.input_leap.InputLeap.appdata.xml
-- Installing: /usr/local/share/icons/hicolor/scalable/apps/io.github.input_leap.InputLeap.svg
-- Installing: /usr/local/share/applications/io.github.input_leap.InputLeap.desktop
-- Installing: /usr/local/bin/input-leapc
-- Set runtime path of "/usr/local/bin/input-leapc" to ""
-- Installing: /usr/local/bin/input-leaps
-- Set runtime path of "/usr/local/bin/input-leaps" to ""
-- Installing: /usr/local/bin/input-leap
-- Set runtime path of "/usr/local/bin/input-leap" to ""