xcp-ng / xcp-ng-org

XCP-ng org website
69 stars 92 forks source link

Docs Troubleshooting - Set XCP-ng Resolution #255

Open lethedata opened 7 months ago

lethedata commented 7 months ago

On some monitors an "Input Signal Out Of Range" error occurs a bit after the grub menu due to resolution issues. The fix is simply requiring vga kernel parameters be changed for both xen and dom0.

For xcp-ng version 8.2 and below, only following the steps in Citrix Article CTX226191 are required.

For xcp-ng v8.3b, modprobe.blacklist=i915 parameter needs to be added to dom0 along with the above fixes as the module is no longer blacklisted by default.

I'm planning to make a PR to the troubleshooting documentation in order to fully document and explain the above process along with how to do it temporarily at boot (mainly needed for installations) but I'm not sure when I'll get to it at this time so figured I'd get the information posted here if anyone wants to write it up.

lethedata commented 6 months ago

I ran into this issue again however the fix didn't work. This system booted with UEFI which uses Graphics Output Protocol rather than VGA so the above parameters don't work.[^1] When Xen boots with efi, it relies on a configuration file or a bootloader; focusing on the bootloader, it provides the device tree to Xen.[^2] From here Xen appears to do it's own mode switch (using the vesafb driver I think) which would explain why GRUB2 gfxmode, gfxpayload, and the terminal_input/output settings weren't working. The vesafb driver doesn't seem to have any configuration options but I don't fully understand the code (or C for that matter) so could be wrong.

Digging around, I found a commit which modifies xen's vga=current to work with GRUB2's set gfxpayload=keep parameter however it doesn't appear until Xen's 4.17 series so xcp-ng 8.3 (4.13.5) doesn't have it.[^3] If Wikipedia is half right this will be available in the next major xcp-ng release 9.

Due to setting xcp-ng resolution only working for BIOS/Legacy mode, I think it might be best to leave it out of the docs until UEFI is supported in order to provide a fully documented solution for both install types. It also doesn't appear to be a super common issue so not really urgent.

[^1]: UEFI Spec Graphics Output Protocol [^2]: Xen EFI Documentation [^3]: x86/boot: make "vga=current" work with graphics modes

stormi commented 6 months ago

Xen 4.17 is coming to XCP-ng 8.3, so maybe this will help.