Opening this bugreport upon suggestion of devs in firstname.lastname@example.org
( full discussion and logs at https://lists.freedesktop.org/archives/spice-devel/2021-April/052351.html )
spice-vdaget is broken in F34 guests, it is not running at all or it deactivates itself
*** Bug 1948980 has been marked as a duplicate of this bug. ***
For what it's worth, I can replicate the behavior in comment 0 on F34 KDE. But even after starting it manually with `systemctl start spice-vdagentd.service`, the process seems to run but copy/paste still does not work as on F33 guests.
(Host is F34)
I've noticed similar in KDE, but not in GNOME. I just booted the final release (RC2) Workstation live image in a virt-manager VM on an F34 host, and spice-vdagentd is running in the guest and copy/paste from a terminal in the guest to gedit in the host works OK.
CCing Rex for the KDE angle here.
See upstream bug
"xdg-autostart-generator: unconditionally ignores items with X-GNOME-Autostart-Phase"
So suggestion is:
* either remove X-GNOME-Autostart-Phase
* provide systemd user service for it
(workaround) Rex how can I edit systemd unit files involved in order to let spice-vdagent work in F34 KDE Plasma?
If we could have the fix (or reasonable workaround) upstream too, that would be great!
Is there any progress on this? This bug significantly effects usage of Fedora 34 KDE in a VM, as neither the automatic resizing feature nor the clipboard sharing features work. Can we at least implement a temporary fix until the upstream bug is fixed?
not working in KDE for me. can someone work on this please.
it isn't just copy/paste that is not working for me but also the auto-cursor release is not working.
this is in the release notes for 34 and should be addressed urgently. If i knew that it was going to take this long to get it addressed i would never have upgraded to 34.
Just to be clear, spice-vdagent has two parts. According to man spice-vdagent:
> The spice guest agent for Linux consists of 2 parts, a system wide daemon spice-vdagentd and a X11 session agent spice-vdagent of which there is one per X11 session.
> spice-vdagent gets automatically started in desktop environments which honor /etc/xdg/autostart, and under gdm. And here is the relevant configuration.
(In reply to Rex Dieter from comment #6)
> So suggestion is:
> - either remove X-GNOME-Autostart-Phase
> - provide systemd user service for it
I just tested this on a fresh Fedora 34 Plasma Spin VM. Commenting out the `X-GNOME-Autostart-Phase` line in `/etc/xdg/autostart/spice-vdagent.desktop` does not fix the problem.
After rebooting the system and logging in to the KDE Wayland Session, I ran `pgrep -afx /usr/bin/spice-vdagent`, but it still wasn't running. The systemd units spice-vdagentd.service and spice-vdagentd.socket start correctly, however. On my Fedora Workstation 34 (Gnome) VM, both parts start correctly.
Please excuse my typo. There was a missing new line between lines 5 and 6.
(In reply to Maxwell G from comment #13)
> Just to be clear, spice-vdagent has two parts. According to man
> > The spice guest agent for Linux consists of 2 parts, a system wide daemon spice-vdagentd and a X11 session agent spice-vdagent of which there is one per X11 session.
> > spice-vdagent gets automatically started in desktop environments which honor /etc/xdg/autostart, and under gdm.
> And here is the relevant configuration.
Re: comment 13
Hrm, turns out systemd initiated autostart will likely not work, since this daemonizes itself, and the autogenerated service may thing the service has ended at that point.
Try changing /etc/xdg/autostart/spice-vdagent.desktop Exec= line to include -x flag
(any systemd user unit will need to run it the same way)
While on the topic, has spice-vdagent upstream been engaged on this topic? If not, maintainers, I strongly recommend you do.
In the meantime, one of our plasma users posted this to mailing list recently, this could be used as a good starting point for a systemd user unit:
To test, create file: ~/.config/systemd/user/spice-vdagent.service with contents:
Description=Spice guest session agent
Obviously, anything system-wide and/or upstreamable would not include those plasma-core dependencies here (those would be included in plasma .service files)
(In reply to Rex Dieter from comment #16)
> While on the topic, has spice-vdagent upstream been engaged on this topic?
> If not, maintainers, I strongly recommend you do.
Neither the package maintainer nor the upstream maintainers have been involved in this thread.
FEDORA-2021-05fdb1456c has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-05fdb1456c
Sad, ok. I took the liberty of importing a candidate fix and submitting the bodhi update then.
For folks who inevitably won't read the update notes :)
"Provide user spice-vdagent.service for environments that may needed (like systemdboot enabled plasma sessions). This is a prerequisite to fixing https://bugzilla.redhat.com/show_bug.cgi?id=1951580 (not a complete fix on it's own)."
*** Bug 1928446 has been marked as a duplicate of this bug. ***
FWIW, while the systemd user unit works for Plasma Xorg it may not be as effective on Plasma Wayland.
First, when adding the individual systemd user unit the user must remember to enable it themselves with "systemctl --user enable name-off-unit",
Second, when running Plasma Wyland /usr/bin/spice-vdagent -x will start via this method. However, I'm unable to copy text from a konsole window
of the host (Running Plasma Xorg) to a konsole window on the guest running Plasma Wayland. It seems to me that this may be related more towards
how the clipboard of Wayland is implemented.
Besides, the man page for spice-vdagent does say....
The spice guest agent for Linux consists of 2 parts, a system wide dae‐
mon spice-vdagentd and a X11 session agent spice-vdagent of which there
is one per X11 session.
So, it would seem that it is X11 only.
FEDORA-2021-05fdb1456c has been pushed to the Fedora 34 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-05fdb1456c`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-05fdb1456c
See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
BTW, the system-wide user unit supplied in the new build of spice-vdagent cant' work. It is a static unit without
As I mentioned, I have installed the latest spice-vdagent-0.21.0-3.fc34.
I rebooted and then logged in as a user.
/usr/bin/spice-vdagent was not running after login.
I then modified /usr/lib/systemd/user/plasma-core.target to have
[root@f34k ~]# cat /usr/lib/systemd/user/plasma-core.target
Description=KDE Plasma Workspace Core
Wants=plasma-plasmashell.service plasma-kcminit.service plasma-kded.service plasma-kcminit-phase1.service graphical-session-pre.target spice-vdagent.service
Then when the user logs in I get....
[egreshko@f34k ~]$ ps -eaf | grep spice
egreshko 3377 3213 0 18:32 ? 00:00:00 /usr/bin/spice-vdagent -x
root 3382 1 0 18:32 ? 00:00:00 /usr/sbin/spice-vdagent
re comment #22
As I mentioned in comment #20, this alone is indeed not a complete fix. It only provides the service unit.
Next step is to decide where/how best to get it started when needed:
* add service unit dependency somewhere (probably best, an example of that is comment #25 )
* enable preset to enable automatically for all users
* some better idea?
(In reply to Rex Dieter from comment #26)
> As I mentioned in comment #20, this alone is indeed not a complete fix. It
> only provides the service unit.
OK. I was under the mistaken assumption that if a package is sent to updates-testing it is actually
an attempt to fix the problem. I didn't understand that it is also meant to ensure that the work done
to this point didn't make things worse.
*** Bug 1981338 has been marked as a duplicate of this bug. ***
Posted followup to spice-devel mailing list for feedback, and request they adopt the new systemd unit,
The bodhi update has now been refreshed to add plasma-workspace build that includes systemd dependency to run spice-vdagent.service on login.
I have 2 comments.
Since the updates appeared in updates-testing I tried.
sudo dnf --refresh --enablerepo updates-testing update spice-vdagent
expecting this to pullin the needed plasma-workspace packages. It didn't. I had to use
sudo dnf --refresh --enablerepo updates-testing update spice-vdagent plasma-workspace
Second, has consideration been given to making the /usr/lib/systemd/user/spice-vdagent.service
Description=Spice guest session agent
Such that /usr/bin/spice-vdagent -x is only run in a virtual environment? I don't think it would
be need to run when running on bare metal?
FEDORA-2021-05fdb1456c has been pushed to the Fedora 34 stable repository.
If problem still persists, please make note of it in this bug report.