Hello @hvm,
Can you give the output of xl dmesg
in XCP-ng and of dmesg
in the guest that has the issues ?
I have the impression that something is going wrong with reserved regions related to the SATA controller.
Hello @hvm,
Can you give the output of xl dmesg
in XCP-ng and of dmesg
in the guest that has the issues ?
I have the impression that something is going wrong with reserved regions related to the SATA controller.
Hello @steff22 ,
Tested with another PC with Xcp-ng 8.3 and everything worked immediately. So think it must be Asrock rack B650D4U3-2L2Q bios related or ipmi trying to use the same gpu.
What are the specs of the hardware where it works ?
Hello @miltador ,
If I understand correctly, your VM has this setup :
The catch is that the physical Intel iGPU can only display on real physical screens (and thus not in Xen Orchestra).
So the Ubuntu desktop will display on the Cirrus display (which is the one you see in Xen Orchestra) and only it as you have no other display (otherwise, Ubuntu would show you multiples screens).
That doesn't prevent Ubuntu from using the Intel GPU, just that it's not used for display.
Depending on what you are looking for, you can make Ubuntu use the Intel GPU by :
Hello @hvm,
Can you give the output of xl dmesg
in XCP-ng and of dmesg
in the guest that has the issues ?
I have the impression that something is going wrong with reserved regions related to the SATA controller.
@wolfmon You have this documentation https://xenbits.xen.org/docs/unstable/man/xl.1.html
But be careful, most operations of xl are not officially supported in XCP-ng.
@kevdog you can get xenstore with the xen
package on AUR (will be promoted to [extra] repo in the future)
https://aur.archlinux.org/packages/xen
it shouldn't cause issues for boot (at worst, it will add a new non-default Xen boot entry, that shouldn't be used)
@Nux rebuilding the dom0 kernel is quite tricky, and I am not sure it is going to help your usecase, if you really want, you may want to look on xcp-ng-rpms and the related linux rpm
Regarding nested Hyper-V in Xen, gen2 support was considered in the past, but it never got fully implemented, see https://lore.kernel.org/xen-devel/20191130115737.15752-1-liuwe@microsoft.com/
and https://lore.kernel.org/xen-devel/20190923100931.29670-1-liuwe@microsoft.com/ for related discussion on the Xen mailing list.
So as it is now, Xen in Hyper-V gen2 vm is not supported.
Only gen1 is supported on a best-effort basis.
Gen1 use realistic-behaving emulated devices, thus there is no Hyper-V specific driver that may improve performance.
@Nux It's something you can try, but due to the way Hyper-V gen2 works, even if we add drivers in dom0 kernel, I highly doubt they will work.
Regarding gen1 drivers, you don't need specific ones as Hyper-V emulates traditionnal hardware that drivers currently exist in dom0 kernel.
@jasonnix depends on what PV driver you want to implement.
But such place would be the Xen MiniOS repo (tiny PV kernel project that serves as a base for Unikraft among others) : http://xenbits.xen.org/gitweb/?p=mini-os.git;a=tree
Also give a look at https://wiki.xenproject.org/wiki/Unikernels
Only Hyper-V gen1 can work (documented in https://docs.xcp-ng.org/guides/xcpng-in-a-vm/#nested-xcp-ng-using-microsoft-hyper-v-windows-10---windows-server-2016, not recommended for production).
Hyper-V gen2 interface doesn't use a PCI-like interface (like virtio (kvm) and vmware does) therefore, Hyper-V paravirtualized devices are probably not usable within Xen Dom0 (which only supports PCI devices, like what we have on real hardware), so probably not usable by XCP-ng.
@jasonnix Unikraft is a framework to build a unikernel using usual application code, or with the elf loader, compatible regular linux programs.
Xen only allows you to start virtual machine where you still need some kind of operating system to do something relevant (like using network or storage).
Usually, we use a regular operating system on top of that (Linux distro, Windows, ...).
But what unikraft gives you a kernel, that "makes" a operating system with absolute bare essential (pv drivers, scheduler, memory allocator, ...) and you have the application fused in.
Without unikraft, you will have to basically implement a Xen pv kernel yourself.