xcp-ng / xenadmin

XCP-ng Center, the Windows management console for XCP-ng and XenServer. /!\ EOL-Notice /!\ Community-maintained only /!\
https://xcp-ng.org
Other
420 stars 71 forks source link

[IMPROVEMENT] XCP-ng 20.04.01 compatility issue using wine #228

Open mas1701 opened 5 months ago

mas1701 commented 5 months ago

Hi,

since XenCenter by Citrix, origin of XCP-ng Center, is the original management tool for XenServer / XCP-ng, (with XO/XOA being a re-creation pursued by Vates (and for their own benefit)), I would like to stick to the original.

Now that XCP-ng Center has a new maintainer, I wonder:

Could XCP-ng Center be made more compatible with Linux? XCP-ng in itself (the server part of it) is Linux, so I think it is strange that the management tool is Windows-only.

I have, with some success, installed XCP-ng Center on a system running Linux Mint 21.3 (Ubuntu 22.04 LTS based) with Wine 9.4 (directly from WineHQ).

I noticed the following problems:

  1. The main executable, displaying the splash screen, crashes.
  2. The XenCenterMain.exe, launched directly mostly works, as long as all dependencies are installed within the Wine prefix used.
  3. XenCenterMain.exe crashes, when switching to a VM console with graphical content. Didn't find a solution so far.
  4. I didn't try Remote Desktop using XenCenterMain.exe, because I have other tools for that.
  5. Installing additional Windows compatibility components inside of the Wine prefix can improve things a bit, but can also make everything much worse.

My question:

Would it be hard to create a Linux native port of XCP-ng Center (using Mono instead of .NET, maybe)? Or a more Wine-friendly version?

cocoon commented 5 months ago

There is already a pull request using mono here: https://github.com/xcp-ng/xenadmin/pull/225

mas1701 commented 5 months ago

There is already a pull request using mono here: #225

Thanks for the info, I hope there'll be progress on that front, since the first step was already taken.

ila-embsys commented 5 months ago

There is already a pull request using mono here: #225

That draft need more attention. At least from a maintainer to decide if that groundwork is acceptable for project roadmap.

For example, I saw in the commit history that some work was done to prepare for a dotnet upgrade in the future. I've already downgraded dotnet to the latest v4.8 that Mono supports. I guess Mono will not support further version due to existence of dotnet core. But I'm not familiar with Mono infrastructure and not sure how the things works here.

What we can do with that draft is to cherry-pick commits that fix filenames and CI for working Mono artefacts. This action will clean up the build mess and prepare the code base for reimplementing some features in a cross-platform way.

mas1701 commented 4 months ago

@ila-embsys Since we don't know if and when your pull request will lead to improved Linux compatiblity for all using the official XCP-ng Center, maybe you could create a (temporary) fork and/or a test release of your experimental Mono version? If that's an option for you. I'd really like that.

ila-embsys commented 4 months ago

maybe you could create a (temporary) fork and/or a test release of your experimental Mono version

@mas1701, see the MR https://github.com/xcp-ng/xenadmin/pull/225 update comment. That could be interesting for you.