Hi,
first of all: I know that a mode when no QXL device is present is "side effect" and maybe is not supported. But I don't see an opportunity to use Nvidia hardware on KVM linux guest other than via spice and spice-streaming-agent.
So, I try to make it work, but there are troubles with mouse support, screen resizing, and it seems that it is because of spice-vdagent not working. ('connection reset by peer' in spice-vdagent status output)
No mouse cursor, no mouse buttons reactions.
My config:
- Centos 8
- nvidia vGPU with proprietary driver is the only video adapter.
- spice-vdagent v.0.20 and qemu-guest-agent are installed.
- /run/spice-vdagentd/spice-vdagent-sock is present and has access mode is srw-rw-rw-.
- QEMU Tablet may be present or not, same effect.
What must be interoperability between spice vdagent socket and video driver? Is there an opportunity to use mouse with nvidia non-free driver at all?
`systemctl status spice-vdagent.socket` says:
```
● spice-vdagentd.socket - Activation socket for spice guest agent daemon
Loaded: loaded (/usr/lib/systemd/system/spice-vdagentd.socket; static; vendor preset: disabled)
Active: active (running) since Mon 2021-08-23 16:22:43 MSK; 16min ago
Listen: /run/spice-vdagentd/spice-vdagent-sock (Stream)
Tasks: 0 (limit: 36416)
Memory: 0B
CGroup: /system.slice/spice-vdagentd.socket
Aug 23 16:22:43 localhost.localdomain systemd[1]: Listening on Activation socket for spice guest agent daemon.
```
`systemctl status spice-vdagent.service` says: (error "No QXL devices found" appears when virtual video device is set to virtual VGA or cirrus too, but agent is working and mouse, screen resizing work as expected)
```
● spice-vdagentd.service - Agent daemon for Spice guests
Loaded: loaded (/etc/systemd/system/spice-vdagentd.service; indirect; vendor preset: enabled)
Active: active (running) since Mon 2021-08-23 16:22:49 MSK; 15min ago
Process: 2100 ExecStart=/usr/sbin/spice-vdagentd $SPICE_VDAGENTD_EXTRA_ARGS (code=exited, status=0/SUCCESS)
Main PID: 2102 (spice-vdagentd)
Tasks: 2 (limit: 36416)
Memory: 1.3M
CGroup: /system.slice/spice-vdagentd.service
└─2102 /usr/sbin/spice-vdagentd
Aug 23 16:22:49 localhost.localdomain systemd[1]: Starting Agent daemon for Spice guests...
Aug 23 16:22:49 localhost.localdomain systemd[1]: spice-vdagentd.service: Can't open PID file /run/spice-vdagentd/spice-vda>
Aug 23 16:22:49 localhost.localdomain systemd[1]: Started Agent daemon for Spice guests.
Aug 23 16:22:49 localhost.localdomain spice-vdagentd[2102]: opening vdagent virtio channel
Aug 23 16:22:49 localhost.localdomain spice-vdagentd[2102]: Set max clipboard: 104857600
Aug 23 16:22:49 localhost.localdomain spice-vdagentd[2102]: No QXL devices found, not generating xorg.conf
Aug 23 16:22:49 localhost.localdomain spice-vdagentd[2102]: Set max clipboard: 104857600
Aug 23 16:22:49 localhost.localdomain spice-vdagentd[2102]: No QXL devices found, not generating xorg.conf
Aug 23 16:22:49 localhost.localdomain spice-vdagentd[2102]: Error receiving data: Connection reset by peer
Aug 23 16:22:49 localhost.localdomain spice-vdagentd[2102]: closed vdagent virtio channel
```
Xorg.conf: (I commented out mouse related input in the hope that X server will somehow manage mouse but no luck)
```
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 460.73.01
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
# InputDevice "Keyboard0" "CoreKeyboard"
# InputDevice "Mouse0" "CorePointer"
EndSection
Section "Files"
EndSection
# Section "InputDevice"
# generated from default
# Identifier "Mouse0"
# Driver "mouse"
# Option "Protocol" "auto"
# Option "Device" "/dev/input/mice"
# Option "Emulate3Buttons" "no"
# Option "ZAxisMapping" "4 5"
#EndSection
#Section "InputDevice"
# generated from default
# Identifier "Keyboard0"
# Driver "kbd"
#EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BusID "PCI:7:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
```