Il giorno gio 10 nov 2022 alle ore 07:18 Frediano Ziglio <freddy77@xxxxxxxxx> ha scritto: > > Il giorno gio 10 nov 2022 alle ore 03:14 let-me-use-copy-and-paste > <let-me-use-copy-and-paste@xxxxxxxxx> ha scritto: > > > > > > > I installed Alpine Linux 3.16 virtual machine edition on QEMU/KVM using Virt-Manager. I installed XFCE on it. I wanted to enable copy-and-paste, so I tried to install spice-vdagent on it, but it kept crashing. I checked the output using the "-x" parameter, and basically, it crashed due to the lack of /dev/uinput. The screenshot is at https://i.imgur.com/9WKaVG8.png > > > > > > > > > > I do not know Linux much, so I am not sure if /dev/uinput is not present due to the settings of the virtual machine or because I have not installed something on Alpine Linux. I tried the standard edition of Alpine, and right after the installation, /dev/uinput was not present. > > > > > > > > > > In case that Alpine Linux indeed does not support /dev/uinput, can't the spice service run anyway? All I want is text copy-and-paste between the host and the guest, and does that feature need /dev/uinput? > > > > > > > > Hi, > > > > try to add "-f -u /dev/null" to the parameters (that is > > > > "--fake-uinput --uinput-device /dev/null"). > > > > > > > > Frediano > > > > > > > > > In Alpine Linux, if I install the "spice-vdagent" package, there seem to be two executables: spice-vdagentd and spice-vdagent. I ran spice-vdagentd with "-x -d -d -f -u /dev/null" and this time, it did not crash. But as soon as I ran "spice-vdagent -x -d", the virtual machine's mouse stopped working. With the debug messages from spice-vdagentd, I knew that the daemon was receiving the mouse pointer movements and button clicks, but somehow the XFCE desktop did not get it, so I could not do things like clicking a window. Keyboard was working, though. Also, probably copy-and-paste also would work, because in the debug message from spice-vdagent, it seemed to have received the event, when I copied some text on the host OS. How can I fix this mouse not moving problem? > > > > > I suspected the mouse could have some issues. To implement client > mouse the agent is getting the mouse movements and using /dev/uinput > to send that back to the guest. The issue is that the spice-server in > this case is not forwarding the mouse events to Qemu (but to the > agent). I'll need to have a look at the code, maybe there's a > combination you can use server mouse (that does not need the agent) > having the agent running to support other features. > You need to pass "agent-mouse=off" to Qemu, see https://people.freedesktop.org/~teuf/spice-doc/html/ch03.html or "qemu-system-x86_64 --help". > > > Also, there is another problem. It seems that after running "spice-vdagentd -x -f -u /dev/null", any subsequent execution of it fails with "Fatal could not create the server socket /run/spice-vdagentd/spice-agent-sock: Error binding to address (GUnixSocketAddress): No such file or directory. Rebooting the guest OS did not solve the problem. Here is the screenshot: https://i.imgur.com/pKtD8BH.png > > > > > Probably simple, either there the file > /run/spice-vdagentd/spice-agent-sock is present or the directory was > deleted for some reason. > Try mkdir -p /run/spice-vdagentd before launching the daemon. Not sure who deletes the directory (if that's the problem). > > > Luckily, I had created a snapshot right after installing Alpine Linux and XFCE, so I can revert it and keep testing. If there is anything more I can do, please let me know. > > > > If there currently is no way to solve this problem, can't the agent be updated so that it would not crash when /dev/uinput is not present, and continue to do what it can do without /dev/uinput? I mean, all I want is copy-and-paste, and I am not sure why that cannot function without /dev/uinput. > > The agent is not crashing, it exists refusing to work. As said above > I'll have a look. > Frediano