asus-linux-drivers/asus-numberpad-driver

[Bug]: Missing required packages in install script

Closed this issue · 11 comments

Describe the bug

Al instalar systemctl se produce el error

Expected behavior

Que haya soporte para wayland

Relevant log output

jorchu@fedora:~/Descargas/asus-numberpad-driver-6.4.0$ bash install_service.sh
Systemctl service

Do you want install systemctl service? [y/N]y

LAYOUT_NAME: up5401ea
CONFIG_FILE_DIR_PATH: /usr/share/asus-numberpad-driver

env var DISPLAY: :0
env var WAYLAND_DISPLAY: wayland-0
env var AUTHORITY: /run/user/1000/.mutter-Xwaylandauth.F3Z5X2
env var XDG_RUNTIME_DIR: /run/user/1000
env var DBUS_SESSION_BUS_ADDRESS: unix:path=/run/user/1000/bus
env var XDG_SESSION_TYPE: wayland

ERROR LOG FILE: /var/log/asus-numberpad-driver/error.log

Unfortunatelly you will not be able use feature: Disabling Touchpad (e.g. Fn+special key) disables NumberPad aswell, at this moment is supported only X11
Asus numberpad driver service placed
Systemctl daemon reloaded
Created symlink '/home/jorchu/.config/systemd/user/default.target.wants/asus_numberpad_driver@jorchu.service''/usr/lib/systemd/user/asus_numberpad_driver@.service'.
Asus numberpad driver service enabled
Asus numberpad driver service started

Desktop

  • Fedora 41
  • Linux fedora 6.11.8-300.fc41.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Nov 14 20:37:39 UTC 2024 x86_64 GNU/Linux

@JorchMantilla Hi, thank your for creating an issue. I do not see anything wrong. Could you please post log file /var/log/asus-numberpad-driver/error.log, runtime log journalctl -f | grep asus-numberpad-driver or journalctl -f --user-unit asus_numberpad_driver@ldrahnik.service and output of install.sh script.

Updating and loading repositories:
Repositories loaded.
Package "ibus-1.5.31~rc1-2.fc41.x86_64" is already installed.
Package "libevdev-1.13.3-1.fc41.x86_64" is already installed.
Package "curl-8.9.1-2.fc41.x86_64" is already installed.
Package "xinput-1.6.4-3.fc41.x86_64" is already installed.
Package "i2c-tools-4.3-13.fc41.x86_64" is already installed.
Package "python3-devel-3.13.0-1.fc41.x86_64" is already installed.
Package "python3-virtualenv-20.21.1-25.fc41.noarch" is already installed.
Package "libxml2-2.12.8-2.fc41.x86_64" is already installed.
Package "libxml2-2.12.8-2.fc41.i686" is already installed.
Package "libxkbcommon-devel-1.7.0-4.fc41.x86_64" is already installed.
Package "gcc-14.2.1-3.fc41.x86_64" is already installed.

Nothing to do.

groupadd: el grupo «input» ya existe
groupadd: el grupo «i2c» ya existe
groupadd: el grupo «uinput» ya existe
Added groups input, i2c, uinput, numberpad to current user
uinput module loaded
i2c-dev module loaded
uinput module added to auto loaded modules
Udev rules reloaded and triggered

Testing interface i2c-0: failed
Testing interface i2c-1: success (adr 0x15)
The detection was successful. Touchpad with NumberPad found: i2c-1

Default config will be autocreated during the first run and available for futher modifications here:
/usr/share/asus-numberpad-driver/numberpad_dev

created virtual environment CPython3.13.0.final.0-64 in 125ms
creator CPython3Posix(dest=/usr/share/asus-numberpad-driver/.env, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(extra_search_dir=/usr/share/python-wheels,download=False, pip=bundle, via=copy, app_data_dir=/home/jorchu/.local/share/virtualenv)
added seed packages: pip==24.2
activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
Requirement already satisfied: pip in /usr/share/asus-numberpad-driver/.env/lib/python3.13/site-packages (24.2)
Collecting pip
Using cached pip-24.3.1-py3-none-any.whl.metadata (3.7 kB)
Using cached pip-24.3.1-py3-none-any.whl (1.8 MB)
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 24.2
Uninstalling pip-24.2:
Successfully uninstalled pip-24.2
Successfully installed pip-24.3.1
Collecting setuptools
Using cached setuptools-75.3.0-py3-none-any.whl.metadata (6.9 kB)
Using cached setuptools-75.3.0-py3-none-any.whl (1.3 MB)
Installing collected packages: setuptools
Successfully installed setuptools-75.3.0
Collecting libevdev (from -r requirements.txt (line 1))
Using cached libevdev-0.11.tar.gz (27 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Collecting numpy (from -r requirements.txt (line 2))
Using cached numpy-2.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (62 kB)
Collecting pyinotify (from -r requirements.txt (line 3))
Using cached pyinotify-0.9.6.tar.gz (60 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Collecting python-xlib (from -r requirements.txt (line 4))
Using cached python_xlib-0.33-py2.py3-none-any.whl.metadata (6.2 kB)
Collecting smbus2 (from -r requirements.txt (line 5))
Using cached smbus2-0.5.0-py2.py3-none-any.whl.metadata (6.9 kB)
Collecting pyasyncore (from -r requirements.txt (line 6))
Using cached pyasyncore-1.0.4-py3-none-any.whl.metadata (3.7 kB)
Collecting pywayland (from -r requirements.txt (line 7))
Using cached pywayland-0.4.18.tar.gz (247 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'error'
error: subprocess-exited-with-error

× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [56 lines of output]
running dist_info
creating /tmp/pip-modern-metadata-os34hy2m/pywayland.egg-info
writing /tmp/pip-modern-metadata-os34hy2m/pywayland.egg-info/PKG-INFO
writing dependency_links to /tmp/pip-modern-metadata-os34hy2m/pywayland.egg-info/dependency_links.txt
writing entry points to /tmp/pip-modern-metadata-os34hy2m/pywayland.egg-info/entry_points.txt
writing requirements to /tmp/pip-modern-metadata-os34hy2m/pywayland.egg-info/requires.txt
writing top-level names to /tmp/pip-modern-metadata-os34hy2m/pywayland.egg-info/top_level.txt
writing manifest file '/tmp/pip-modern-metadata-os34hy2m/pywayland.egg-info/SOURCES.txt'
reading manifest file '/tmp/pip-modern-metadata-os34hy2m/pywayland.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file '/tmp/pip-modern-metadata-os34hy2m/pywayland.egg-info/SOURCES.txt'
creating '/tmp/pip-modern-metadata-os34hy2m/pywayland-0.4.18.dist-info'
Traceback (most recent call last):
File "/usr/share/asus-numberpad-driver/.env/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in
main()
~~~~^^
File "/usr/share/asus-numberpad-driver/.env/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/share/asus-numberpad-driver/.env/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 149, in prepare_metadata_for_build_wheel
return hook(metadata_directory, config_settings)
File "/tmp/pip-build-env-arpx9wh7/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 376, in prepare_metadata_for_build_wheel
self.run_setup()
~~~~~~~~~~~~~~^^
File "/tmp/pip-build-env-arpx9wh7/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 319, in run_setup
exec(code, locals())
~~~~^^^^^^^^^^^^^^^^
File "", line 175, in
File "/tmp/pip-build-env-arpx9wh7/overlay/lib/python3.13/site-packages/setuptools/init.py", line 117, in setup
return distutils.core.setup(**attrs)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/tmp/pip-build-env-arpx9wh7/overlay/lib/python3.13/site-packages/setuptools/_distutils/core.py", line 183, in setup
return run_commands(dist)
File "/tmp/pip-build-env-arpx9wh7/overlay/lib/python3.13/site-packages/setuptools/_distutils/core.py", line 199, in run_commands
dist.run_commands()
~~~~~~~~~~~~~~~~~^^
File "/tmp/pip-build-env-arpx9wh7/overlay/lib/python3.13/site-packages/setuptools/_distutils/dist.py", line 954, in run_commands
self.run_command(cmd)
~~~~~~~~~~~~~~~~^^^^^
File "/tmp/pip-build-env-arpx9wh7/overlay/lib/python3.13/site-packages/setuptools/dist.py", line 999, in run_command
super().run_command(command)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/tmp/pip-build-env-arpx9wh7/overlay/lib/python3.13/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
cmd_obj.run()
~~~~~~~~~~~^^
File "/tmp/pip-build-env-arpx9wh7/overlay/lib/python3.13/site-packages/setuptools/command/dist_info.py", line 98, in run
bdist_wheel = self.get_finalized_command('bdist_wheel')
File "/tmp/pip-build-env-arpx9wh7/overlay/lib/python3.13/site-packages/setuptools/_distutils/cmd.py", line 303, in get_finalized_command
cmd_obj.ensure_finalized()
~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/tmp/pip-build-env-arpx9wh7/overlay/lib/python3.13/site-packages/setuptools/_distutils/cmd.py", line 111, in ensure_finalized
self.finalize_options()
~~~~~~~~~~~~~~~~~~~~~^^
File "", line 78, in finalize_options
AssertionError: Specified Wayland protocol file, /usr/share/wayland/wayland.xml, does not exist please specify valid protocol file
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

NumberPad layout

The automatically recommended NumberPad layout for this laptop (ZenBook UX325EA_UX325EA) is up5401ea. Do you want to use the up5401ea layout? (The photo of the recommended NumberPad layout can be found here https://github.com/asus-linux-drivers/asus-numberpad-driver#up5401ea) [y/N]

NumberPad layout

The driver will try to find the appropriate keys for each field of the layout that can be successfully sent. Key modifiers are supported. When the appropriate key cannot be found then the field will be sent using the Unicode shortcut (usually Ctrl+Shift+U+<0-F>).

Photos of all layouts can be found here https://github.com/asus-linux-drivers/asus-numberpad-driver#layouts.

Select layout:

  1. b7402.py 3) g513.py 5) gx551.py 7) up5401ea-3145.py 9) ux433fa.py 11) Quit
  2. e210ma.py 4) g533.py 6) gx701.py 8) up5401ea.py 10) ux581l.py
    Please enter your choice
    Selected key layout: up5401ea-3145

Systemctl service

Do you want install systemctl service? [y/N]
External keyboard

This is a predefined rule for changing the configuration when an external keyboard is connected/disconnected.

The application of this rule results in the following changes if an external keyboard is connected:

  • Numlock key does not activate NumberPad (config value is set to sys_numlock_enables_numpad=0)
  • Numberpad disactivation does not disable Numlock (config value is set to numpad_disables_sys_numlock=0)

In summary when an external keyboard is connected then NumberPad activation is not linked to Numlock state and vice versa.

Do you want install the rule for external keyboard? [y/N]
Calculator app

Do you want try to install toggling script for XF86Calculator key? [y/N]
Power supply saver

By default is idle functionality disabled and may be manually enabled in config file later. Or by installing this rule can be enabled by every detected change of power supply mode to battery mode.

Idle mode is configured to be enabled after 10s of inactivity and to decrease 30% of brightness.

Do you want install the rule for idle functionality? [y/N]
Rule 80-numberpad-power-supply applied
Udev rules reloaded and triggered

Installation finished succesfully

Reboot is required. Do you want reboot now? [y/N]

@JorchMantilla Please, try install package wayland-devel.

Ok, uninstalled. After that I installed:
sudo dfn install wayland-devel.
Everything is ok.
Install again: bash install.sh
Reboot and after that it does not function.

The new log:

Updating and loading repositories:
Repositories loaded.
Package "ibus-1.5.31-1.fc41.x86_64" is already installed.
Package "libevdev-1.13.3-1.fc41.x86_64" is already installed.
Package "curl-8.9.1-2.fc41.x86_64" is already installed.
Package "xinput-1.6.4-3.fc41.x86_64" is already installed.
Package "i2c-tools-4.3-13.fc41.x86_64" is already installed.
Package "python3-devel-3.13.0-1.fc41.x86_64" is already installed.
Package "python3-virtualenv-20.21.1-25.fc41.noarch" is already installed.
Package "libxml2-2.12.8-2.fc41.x86_64" is already installed.
Package "libxml2-2.12.8-2.fc41.i686" is already installed.
Package "libxkbcommon-devel-1.7.0-4.fc41.x86_64" is already installed.
Package "gcc-14.2.1-3.fc41.x86_64" is already installed.

Nothing to do.

groupadd: el grupo «input» ya existe
groupadd: el grupo «i2c» ya existe
groupadd: el grupo «uinput» ya existe
Added groups input, i2c, uinput, numberpad to current user
uinput module loaded
i2c-dev module loaded
uinput module added to auto loaded modules
Udev rules reloaded and triggered

Testing interface i2c-0: failed
Testing interface i2c-1: success (adr 0x15)
The detection was successful. Touchpad with NumberPad found: i2c-1

Default config will be autocreated during the first run and available for futher modifications here:
/usr/share/asus-numberpad-driver/numberpad_dev

created virtual environment CPython3.13.0.final.0-64 in 138ms
creator CPython3Posix(dest=/usr/share/asus-numberpad-driver/.env, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(extra_search_dir=/usr/share/python-wheels,download=False, pip=bundle, via=copy, app_data_dir=/home/jorchu/.local/share/virtualenv)
added seed packages: pip==24.2
activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
Requirement already satisfied: pip in /usr/share/asus-numberpad-driver/.env/lib/python3.13/site-packages (24.2)
Collecting pip
Using cached pip-24.3.1-py3-none-any.whl.metadata (3.7 kB)
Using cached pip-24.3.1-py3-none-any.whl (1.8 MB)
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 24.2
Uninstalling pip-24.2:
Successfully uninstalled pip-24.2
Successfully installed pip-24.3.1
Collecting setuptools
Downloading setuptools-75.6.0-py3-none-any.whl.metadata (6.7 kB)
Downloading setuptools-75.6.0-py3-none-any.whl (1.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 17.6 MB/s eta 0:00:00
Installing collected packages: setuptools
Successfully installed setuptools-75.6.0
Collecting libevdev (from -r requirements.txt (line 1))
Using cached libevdev-0.11.tar.gz (27 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Collecting numpy (from -r requirements.txt (line 2))
Using cached numpy-2.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (62 kB)
Collecting pyinotify (from -r requirements.txt (line 3))
Using cached pyinotify-0.9.6.tar.gz (60 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Collecting python-xlib (from -r requirements.txt (line 4))
Using cached python_xlib-0.33-py2.py3-none-any.whl.metadata (6.2 kB)
Collecting smbus2 (from -r requirements.txt (line 5))
Using cached smbus2-0.5.0-py2.py3-none-any.whl.metadata (6.9 kB)
Collecting pyasyncore (from -r requirements.txt (line 6))
Using cached pyasyncore-1.0.4-py3-none-any.whl.metadata (3.7 kB)
Collecting pywayland (from -r requirements.txt (line 7))
Using cached pywayland-0.4.18.tar.gz (247 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Collecting xkbcommon<1.1 (from -r requirements.txt (line 8))
Downloading xkbcommon-1.0.1.tar.gz (79 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Installing backend dependencies: started
Installing backend dependencies: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Collecting systemd-python (from -r requirements.txt (line 9))
Downloading systemd-python-235.tar.gz (61 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'error'
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [12 lines of output]
Cannot find libsystemd or libsystemd-journal:

  Package libsystemd was not found in the pkg-config search path.
  Perhaps you should add the directory containing `libsystemd.pc'
  to the PKG_CONFIG_PATH environment variable
  Package 'libsystemd' not found
  
  Package libsystemd-journal was not found in the pkg-config search path.
  Perhaps you should add the directory containing `libsystemd-journal.pc'
  to the PKG_CONFIG_PATH environment variable
  Package 'libsystemd-journal' not found
  
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

NumberPad layout

The automatically recommended NumberPad layout for this laptop (ZenBook UX325EA_UX325EA) is up5401ea. Do you want to use the up5401ea layout? (The photo of the recommended NumberPad layout can be found here https://github.com/asus-linux-drivers/asus-numberpad-driver#up5401ea) [y/N]
Selected key layout: up5401ea

Systemctl service

Do you want install systemctl service? [y/N]
LAYOUT_NAME: up5401ea
CONFIG_FILE_DIR_PATH: /usr/share/asus-numberpad-driver

env var DISPLAY: :0
env var WAYLAND_DISPLAY: wayland-0
env var AUTHORITY: /run/user/1000/.mutter-Xwaylandauth.I29OX2
env var XDG_RUNTIME_DIR: /run/user/1000
env var DBUS_SESSION_BUS_ADDRESS: unix:path=/run/user/1000/bus
env var XDG_SESSION_TYPE: wayland

ERROR LOG FILE: /var/log/asus-numberpad-driver/error.log

Unfortunatelly you will not be able use feature: Disabling Touchpad (e.g. Fn+special key) disables NumberPad aswell, at this moment is supported only X11
Asus numberpad driver service placed
Systemctl daemon reloaded
Created symlink '/home/jorchu/.config/systemd/user/default.target.wants/asus_numberpad_driver@jorchu.service' → '/usr/lib/systemd/user/asus_numberpad_driver@.service'.
Asus numberpad driver service enabled
Asus numberpad driver service started

External keyboard

This is a predefined rule for changing the configuration when an external keyboard is connected/disconnected.

The application of this rule results in the following changes if an external keyboard is connected:

  • Numlock key does not activate NumberPad (config value is set to sys_numlock_enables_numpad=0)
  • Numberpad disactivation does not disable Numlock (config value is set to numpad_disables_sys_numlock=0)

In summary when an external keyboard is connected then NumberPad activation is not linked to Numlock state and vice versa.

Do you want install the rule for external keyboard? [y/N]
Rule 90-numberpad-external-keyboard.rules applied
Udev rules reloaded and triggered

Calculator app

Do you want try to install toggling script for XF86Calculator key? [y/N]
Detected gnome-calculator
Setting up for gnome-calculator
Toggling script for calculator app gnome-calculator has been installed.

Power supply saver

By default is idle functionality disabled and may be manually enabled in config file later. Or by installing this rule can be enabled by every detected change of power supply mode to battery mode.

Idle mode is configured to be enabled after 10s of inactivity and to decrease 30% of brightness.

Do you want install the rule for idle functionality? [y/N]
Rule 80-numberpad-power-supply applied
Udev rules reloaded and triggered

Installation finished succesfully

Reboot is required. Do you want reboot now? [y/N]

@JorchMantilla Install pkg-config libsystemd-dev aswell.

There is not a libsystemd-dev in repos.
Fedora 41

@JorchMantilla Looks like from the error log appropriate packages should be libsystemd and libsystemd-journal

No match for argument: libsystemd
No match for argument: libsystemd-journal

@JorchMantilla Try install systemd-devel

@JorchMantilla Does it work?

yes!
Thanks a lot6