























@the-k I will try that, thanks.
I also added some investigation findings and it really seems that DSigner is using wrong keyboard file and cannot be configured otherwise.
Lately I experience a problem while signing (login to slovensko.sk works fine). Maybe a month or two ago signing worked.
Here is a PasteBin with the DSigner error + VirtualKeyboard crash stack trace: https://pastebin.com/a0nUvJLh
Is anyone else experiencing similar problems?
EDIT: I did a little research and it seems that DSigner invokes /opt/eidklient/VitualKeyboard - which is a bin file.
When I tried to make a wrapper similar to eidklient around it (injecting LD_LIBRARY_PATH=/opt/eidklient/lib/patched:/usr/lib), it started working. However, eid client file signature check then fails. So it's not a permanent solution.
DSigner must be somehow forced to use the /usr/lib/eID_klient/VirtualKeyboard or otherwise inject LD_LIBRARY_PATH.
@tukusejssirs It's not the app that doesn't support Wayland, it's the bundled Qt. In order to support Wayland, system Qt has to be used. The executables have runpath set to $ORIGIN/lib, which causes the executables to search for the libraries in lib subdirectory. By setting LD_LIBRARY_PATH=/usr/lib, we instruct the executables to use system libraries instead, if available. If a library isn't available in /usr/lib, then it falls back to lib subdirectory. So, no further LD_LIBRARY_PATH modification is required. I've been using the app in Wayland-only environment with QT_QPA_PLATFORM=wayland just fine. Make sure to follow https://wiki.archlinux.org/title/Wayland#Qt.
/usr/lib/eID_klient is necessary because that's where D.Launcher looks for VirtualKeyboard and the shared objects.
@the-k, unless you know of a reason to keep it as it is, I think we could remove the following code if we update the wrapper script and set LD_LIBRARY_PATH to include `${pkgdir}/opt/eidklient/lib'.
Therefore, this can be safely removed:
# Symlink executable
# It seems this is unnecessary (however it's done like this in the upstream package)
#ln -s /usr/bin/eID_Client "${pkgdir}/usr/bin/VirtualKeyboard"
install -dm755 "${pkgdir}/usr/lib/eID_klient"
ln -s /usr/bin/eID_Client "${pkgdir}/usr/lib/eID_klient/VirtualKeyboard"
for lib in "${srcdir}"/squashfs-root/lib/lib{CardAPI,botan,pkcs11_,crypto,ssl}*; do
ln -s "/opt/${_pkgname}/lib/${lib##*/}" "${pkgdir}/usr/lib/eID_klient/"
done
The following is the wrapper script I use. Note that I have added QT_QPA_PLATFORM='xcb', because the app does not support QT_QPA_PLATFORM='wayland' (my default). I have no idea if it could cause others issues, however, I cannot run the app without it (not sure if it is caused by Wayland or NVIDIA). Maybe someone knows how to check if QT_QPA_PLATFORM='xcb' is required or not.
# Custom wrapper script
cat << EOF > "${pkgdir}/opt/bin/eidklient"
#!/bin/bash
export LD_LIBRARY_PATH='/usr/lib:${pkgdir}/opt/eidklient/lib'
export QT_QPA_PLATFORM_PLUGIN_PATH='/usr/lib/qt/plugins'
QT_QPA_PLATFORM='xcb' ${pkgdir}/opt/eidklient/eID_Client "\$@"
EOF
chmod a+x "${pkgdir}/opt/bin/eidklient"
Thanks for maintaining the package!
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。
I also can login to slovensko.sk but cant sign messages with eid - fails with