Xspice is an X server and Spice server in one. It consists of a wrapper script for executing Xorg with the right parameters and environment variables, a module names spiceqxl_drv.so implementing three drivers: a video mostly code identical to the guest qxl X driver, and keyboard and mouse reading from the spice inputs channel.
Xspice allows regular X connections, while a spice client provides the keyboard and mouse and video output.
Spice client disconnections don't impact X client connections.
Xserver's select loop is reused to service spice client sockets and the qxl driver is reused together with some of the qemu qxl device code