Since XS 7.4 suspend, resume and migrate depend on the closed-source emu-manager.
How it used to work:
During VM suspend, resume and migrate, xenopsd communicates directly with xenguest to handle reading and writing the libxc VM save record.
How it works now:
With vGPU migration, the process is more complex as there is now both a libxc save record and the vGPU emulator state. Both of these must be written (on suspend) and read (on restore) - coordinating how this happens is delegated, by xenopsd to the closed-source emu-manager process. This process is always used for suspend and resume, whether or not the VM uses vGPU. In XS 7.4 there was an option to not use emu-manager, however this was removed in XS 7.5.
- Open source emu-manager so it can be used by XCP-ng
- Reintroduce to xenopsd the option to bypass emu-manager