xcp icon indicating copy to clipboard operation
xcp copied to clipboard

Enable support for spice

Open hoerup opened this issue 5 years ago • 34 comments

Xen&qemu has supported the SPICE protocol for a while, so it would be nice to see this feature enabled in XCP

https://wiki.xenproject.org/wiki/SPICE_support_in_Xen

hoerup avatar Apr 29 '19 11:04 hoerup

Hmm this will require probably XAPI modification and more. We'll investigate. If you have more input on this, feel free to share :+1:

Also what's your use case for SPICE?

olivierlambert avatar Apr 29 '19 14:04 olivierlambert

Any update on this? As for my use case, I access VMs with my laptop a lot because the laptop is not very powerful, and SPICE's USB redirection, audio, and advanced video features would make this like ESXi's VMRC tool which I am a big fan of.

parkerahelms avatar Mar 14 '20 16:03 parkerahelms

No support for SPICE yet and for now you're only the second person to ask for it and the first to provide the use case (thanks for that by the way), so it's not a high priority right now. Contributions from the community would be considered for inclusion, of course.

stormi avatar Mar 20 '20 10:03 stormi

+1 for this.

Spice would bring xcp-ng users one step closer to achieving a fully working, guest OS agnostic open-source vdi solution.

sotiris-bos avatar Apr 28 '20 06:04 sotiris-bos

+10 for this. WANSEC is willing to provide some funding to see this feature included.

tejinashi avatar Sep 05 '20 03:09 tejinashi

Okay let me try to estimate the load (therefore the cost) needed to do that.

olivierlambert avatar Sep 05 '20 08:09 olivierlambert

Hi Oliver, Yes please. SPICE looks incredible. Not many people know about it yet but it is quite neat.

-Robert

--

Robert T. Smith Chief Executive Officer [email protected]

WANSecurity Inc. 9393 W. 110th St. Area 51, STE 500, Overland Park, KS 66210 USA | T +1 213 785 7800 x100 | F +1 213 785 7804 JPN | T +81 3 4590 9044 x100 | F +81 3 4590 9045

wansec.com | Facebook | Instagram | Twitter | LinkedIn

On Sep 5, 2020, at 5:44 PM, Olivier Lambert [email protected] wrote:

 Okay let me try to estimate the load (therefore the cost) needed to do that.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

tejinashi avatar Sep 05 '20 10:09 tejinashi

So in "plain" Xen it might be relatively easy to do, but then we need to expose it through XAPI, which will be more difficult. I'm working on getting an estimation on the work needed.

olivierlambert avatar Sep 07 '20 12:09 olivierlambert

Hi Oliver, any update on this?

I'm guessing not many people are asking for this. Did you get a chance to check out the performance of spice?

I've been reading some articles which are suggesting it might not be the best way to go overall.

-Robert

On Sep 7, 2020, at 7:23 AM, Olivier Lambert [email protected] wrote:

So in "plain" Xen it might be relatively easy to do, but then we need to expose it through XAPI, which will be more difficult. I'm working on getting an estimation on the work needed.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/xcp-ng/xcp/issues/178#issuecomment-688290350, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABVN6KXW2MLHQYCFWVSGL5DSETGC3ANCNFSM4HJCTF6A.

tejinashi avatar Dec 24 '20 20:12 tejinashi

Sorry, we didn't get time to work on estimates, but it's in the "To estimate" checklist I have internally. If SPICE isn't the best way, what else you can suggest?

olivierlambert avatar Dec 25 '20 18:12 olivierlambert

I am trying to find some time to look into this and test some things myself.

I read some articles by some Japanese guys associated with Fujitsu that have some very interesting talks. Still studying.

I hope you're doing well!

-Robert

On Dec 25, 2020, at 12:13 PM, Olivier Lambert [email protected] wrote:

Sorry, we didn't get time to work on estimates, but it's in the "To estimate" checklist I have internally. If SPICE isn't the best way, what else you can suggest?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/xcp-ng/xcp/issues/178#issuecomment-751278402, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABVN6KRBJUJQN2GXVBXW7R3SWTI3PANCNFSM4HJCTF6A.

tejinashi avatar Dec 25 '20 18:12 tejinashi

Keep us posted then 👍 And thanks, I'm fine 😄

olivierlambert avatar Dec 25 '20 18:12 olivierlambert

My use case for SPICE is that it has USB redirection that actually works for the devices that I want to redirect. As opposed to RDP-based redirection.

lmamane avatar Mar 19 '22 13:03 lmamane

Hi, I also want to chime in on Spice support. I am using it extensively with KVM/LibVirt VMs and it is much faster than VNC based desktops. Other advantages are OpenGL support (with virgl), audio redirection and USB redirection.

Forza-tng avatar Oct 09 '22 12:10 Forza-tng

USB redirection is the killer feature that keeps me on ESXi despite them dropping hardware support for stuff all the time. Spice would fix that at least on windows and Linux clients. Not yet implemented on OSX.

highlyfunctional avatar Nov 14 '22 21:11 highlyfunctional

Can you explain a bit more about this?

olivierlambert avatar Nov 14 '22 21:11 olivierlambert

Can you explain a bit more about this?

Spice USB Redirection lets you plug any USB device in the client device and have the host recognize it as it was plugged in locally.

sotiris-bos avatar Nov 15 '22 12:11 sotiris-bos

For my particular use case I develop software for industrial controllers. I have a suite of Windows VMs with various programming software from the likes of Siemens and Allen. Bradley for example. I can connect to the ESXi server from anywhere and then pass either a USB programming lead or USB to Ethernet up to the VM from the computer I’m sat in front of. This allows me to have loads of different Windows installs for all the permutations of software I need. Also the hypervisor is doing all the heavy lifting, so the batteries on my laptop last ages.

highlyfunctional avatar Nov 15 '22 13:11 highlyfunctional

The problem is, that currently XOA is the official way to maintain XCP-ng. AFAIK it's not possible to reach USB devices through a webbrowser, so it's something for a local running client/software. Like it's done with Virtualbox, VMware workstation...

nagilum99 avatar Nov 15 '22 13:11 nagilum99

The problem is, that currently XOA is the official way to maintain XCP-ng. AFAIK it's not possible to reach USB devices through a webbrowser, so it's something for a local running client/software. Like it's done with Virtualbox, VMware workstation...

XOA has nothing to do with it, the webpage just uses a VNC client to connect to a VNC server. You can use a different VNC client to do that, as you can use a spice client to connect to spice servers on other virtualization products.

sotiris-bos avatar Nov 15 '22 14:11 sotiris-bos

Can you explain a bit more about this?

Spice USB Redirection lets you plug any USB device in the client device and have the host recognize it as it was plugged in locally.

More specifically, you can plug a USB device in your local computer/client and have the guest vm see it as a locally connected device.

Forza-tng avatar Nov 15 '22 14:11 Forza-tng

XOA has nothing to do with it, the webpage just uses a VNC client to connect to a VNC server. You can use a different VNC client to do that, as you can use a spice client to connect to spice servers on other virtualization products. I see. It makes scenarios more complex, as you would have XOA for management and a local client for spice... It would then make sense to adjust the (unsupported) XCP-ng center compatible to keep serviceability somehow.

nagilum99 avatar Nov 15 '22 14:11 nagilum99

Most of the work is to plug Spice in XAPI/Xenopsd and then expose it on a port so any client can use it.

That will be relatively simple to add Spice support then inside XO or XO Lite, that will replace XCP-ng Center anyway :)

olivierlambert avatar Nov 15 '22 15:11 olivierlambert

I see. It makes scenarios more complex, as you would have XOA for management and a local client for spice...

VMs have to not only be managed, but also used. Using the VM only through a web browser / XOA would be a very very poor user experience. Concretely the VM will usually be used through some remote access method like SSH, VNC, Spice, Remote Desktop, X11-over-TCP, ... Spice has some advantages, such as concretely well-working USB redirections.

lmamane avatar Nov 15 '22 15:11 lmamane

Most hypervisors seem to concentrate on server VMs as the target market and hosted desktop as a secondary goal, though that used to be Citrix's core business, so you'd think that's a feature they would like. I'm new to XCP-NG so I don't fully understand the relationship with Citrix. Anyway USB redirection is a killer feature for hosted desktop I think, through Spice or some other method..

highlyfunctional avatar Nov 15 '22 18:11 highlyfunctional

+1 for that Feature

I have a similar UseCase with the Industrial Automation Problem like @highlyfunctional You often need separate Installs so VMs are incredibly useful. Each Software needs a own VM as it either pulls some strange things or the Manufacturer is quick to close a support request as soon as you have some other Software installed. Also you often run into the Requirement for ancient Software. If I have to have WinXP im very happy to be able to just put the minimal Amount of Files into the VM.

At the same Time I have FreeBSD VMs and Linux VMs not only for testing but for everything that’s possible to do outside of Windows. Having a Lot of Power in these VMs without sitting next to the Machine is really helpful and with SPICE I could reduce my local Machines completely to ThinClients.

VNC lacks Performance & Features and RDP is really annoying (with Linux-Clients) in my Experience. I have as much of my Software running on Servers so I’m more flexible with the Devices in Front of me and Things happen way quicker despite Virtualization as long as it’s not done in Windows… — xcp-ng is pretty nice so far. XO light is hopefully not Node.js based.

PVC-C avatar Apr 13 '23 14:04 PVC-C

Can you explain a bit more about this?

Spice USB Redirection lets you plug any USB device in the client device and have the host recognize it as it was plugged in locally.

More specifically, you can plug a USB device in your local computer/client and have the guest vm see it as a locally connected device.

Really really need this feature as well!

isadon avatar Oct 29 '23 18:10 isadon

There is USB passthrough already. Also, I'm not sure it could work exactly the same vs KVM, since the security model is vastly different. This -at least- requires some investigation.

olivierlambert avatar Oct 29 '23 21:10 olivierlambert

There is USB passthrough already

You mean from a client to a guest? Xcp-ng only supports USB pass through from host to guest, not from a user to a guest, doesn't it?

Forza-tng avatar Oct 29 '23 21:10 Forza-tng

There is USB passthrough already. Also, I'm not sure it could work exactly the same vs KVM, since the security model is vastly different. This -at least- requires some investigation.

I don't think what is being requested in this issue is standard USB passthrough from host to guest. I would like to be able to use a client (RDP/VNC or ideally an XCP-NG specific application) and do USB passthrough from my client machine to the guest which is on the xcp-ng host.

isadon avatar Oct 29 '23 21:10 isadon