Forum Replies Created
-
AuthorPosts
-
jnkoParticipantSuccess! With replaced libnxdidmi.so library, remote control works as it is supposed to. Mouse and keyboard input is working again with plain Wayland/KDE Kwin.
Thanks a lot for fixing this bug!
Unfortunately, I might have found one or two new bugs. But I need to test this thoroughly again—maybe it was my own fault.
Anyway thanks a lot!
jnkoParticipantI did not update to current NX version , both server and client are at 9.7.3
– Installed debug library
– Restartednxserver /usr/NX/bin/nxserver --startup
– connected from client to server
– moved mouse and pressed some keys without success
– disconnected the client
– “Take logs” on client
– “Take logs” on server
– Time difference between client/server is due to Europe/Berlin and UTC
jnkoParticipantForgot to mention:
# ls -la /usr/NX/lib/libnxdimi* -rw-r--r-- 1 root root 678488 Jun 25 17:43 /usr/NX/lib/libnxdimi.so -rwxr-xr-x 1 root root 586528 Jun 15 16:27 /usr/NX/lib/libnxdimi.so.ORIG*
jnkoParticipantOk I managed to download the debug library by changing the URL from …”libnxdimi.%E2%80%A6″ to …”libnxdimi.so” – the linux default “Shared Objects”-Library extension.
I created the logs as requested in the second post from you.
Please review attached logs and hopefully have a solution.
As a side note: Since this is a simple test machine I could you send an ssh-key in order to access the machine – if you want to do so. Hopefully we will be able to find a solution. More and more Linux Desktops are equipped with dual monitor and in case of Laptops even with dual GPU.
jnkoParticipantI setup a fresh debian machine with two graphic cards and the issue is the same – no mouse/keyboard
Btw: I would like to check with the debug library, but unfortunately the link to the “libnxdimi.so” you sent to me does not seem to work. I will be redirected to the default NoMachine homepage.
jnkoParticipantI loaded the uinput kernel module at boot (and I can confirm that it has been loaded) before nxserver starts but that makes no difference at all to me. So rebooting does not helps in any way nor loading uinput module. Is there anything I can do or test? Currently I’ve separated the hardware and OS into a pure testing system so there is nothing I could destroy in order to test something. Due to fs-snapshots I even can revert within seconds.
By the way the arch forums article you referenced is round about 10 years old so I think it does not count anymore.
In the meantime I will test some other distros like debian, ubuntu, redhat/fedora, whatever. Perhaps I can figure out some more informations.
jnkoParticipantIn the meantime I was able to find the reason – not the solution.
I have a multi-GPU machine. One GPU just for the display part, the other GPU for Encoding/Compute parts.
Keyboard/Mouse works when just one GPU is installed. as soon as the second GPU comes to play keyboard/mouse stops working. I guess we need to find a way to make NoMachine ignore the second GPU
jnkoParticipantHere they are.
Yes, I already tried the “Grab Keyboard/Mouse” options with no effect / no input
jnkoParticipantOn Arch x64 everything works fine with that patched package. Thanks a lot!
jnkoParticipant/usr/NX/bin/nxserver –version
NoMachine – Version 6.8.1Linux l 5.3.6-arch1-1-ARCH #1 SMP PREEMPT Fri Oct 11 18:28:05 UTC 2019 x86_64 GNU/Linux
tar.gz packages are fine (at least for me)
jnkoParticipantUups, sorry. Was too fast on my last post.
As already stated by brugi this workaround is only a half fix.
It will work when no session is active, e.g. with sddm login manager, but NOT when a session has alreeady been started. In this case we’ll get the error from first post.
jnkoParticipantThe workaround works fine for Archlinux.
Thanks a lot!
jnkoParticipantI’ve written a small few-liner which shows which PID has how man entries in ‘ipcs -m’
It turns out that plasmashell is using the most resources so far
l@l ~> ./shmleak
#shm:353 CMD:/bin/plasmashell (pid:576)
#shm:52 CMD:/usr/bin/x11vnc -localhost -display :0 -auth /home/l/.Xauthority -ncache_cr -noxinerama -noncache -repeat -usepw -once -nevershared (pid:4474)
#shm:2 CMD:/usr/NX/bin/nxnode.bin (pid:881)
#shm:1 CMD:/usr/bin/python3 /bin/onboard (pid:804)
#shm:1 CMD:/usr/lib/kscreenlocker_greet –graceTime 5000 –ksldfd 30 (pid:18400)Thanks brotech for the time and all the kindly information and hints. I guessed that NoMachine is not the root of those problems but didn’t know how to track them down. I’ve learned much, thank you!
For anyone who wants to use my small script:
#!/bin/bash
#
# Show which Program and PID is using how much entries in kernel.shmmni
#
ownpid=$$
cntpid=ipcs -m -p | awk '{print $3}' | tail -n +4 | sort -n | uniq -c | awk '{print $1"_"$2}' | sort -rn
for p in $cntpid; do
num=echo $p | cut -d_ -f1
pid=echo $p | cut -d_ -f2
cmd=ps -o command $pid | tail -n +2
if [ ! -z “$pid” ]; then
if [ “$ownpid” -ne “$pid” ]; then
echo “#shm:$num CMD:$cmd (pid:$pid)”
fi
fi
done
jnkoParticipantThanks for explanation.
Here’s the output from ipcs -m attached
root@l ~# ipcs -m
—— Shared Memory Segments ——–
key shmid owner perms bytes nattch status
0x00000000 1563983872 l 777 3200 2
0x00000000 1564016641 l 777 2880000 2
0x00000000 1564049410 l 777 2048 2
…. and 4000 more lines of this. See attachment.root@l ~# df -k /dev/shm
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 4084020 66760 4017260 2% /dev/shmroot@l ~# ipcs -lm
—— Shared Memory Limits ——–
max number of segments = 4096
max seg size (kbytes) = 18014398509465599
max total shared memory (kbytes) = 18014398509481980
min seg size (bytes) = 1Another hint, whenever this happens, VLC (VideoLANClient) fails to playback too with error:
main error: video output creation failed
main error: failed to create video output
xcb_x11 error: shared memory allocation error: No space left on deviceWhile the same content in mplayer works.
Now there are exactly 4096 lines output of ‘ipcs -m’ and ‘max number of segments = 4096’
I bet it would run a little bit longe if I would increase ‘kernel.shmmni = 4096’ but this would just delay the error at all. Any idea how to identify that process that leaks shm memory? Just watch the output of ‘ipcs -m’ while running the usual apps?
Attachments:
-
AuthorPosts
