I hacked my way through this over the course of a few days and I know what is happening. Following is a description intended to make it easier for the Fyde OS developers to create a fix if they decide to do so.
Bug report ==>
FydeOS installer fails to boot on ASUS UEFI (black screen → immediate reboot)
Hardware: ASUS laptop (UEFI mode).
Comparison: Same installer USB boots fine on an older System76 laptop.
What happens
- Selecting the FydeOS USB on the ASUS shows a black screen for ~1–2 seconds, then the firmware restarts the boot process (loop).
- No splash, no GRUB menu, no errors on screen.
What works (control experiment)
- If I replace the installer’s \EFI\BOOT\BOOTX64.EFI with systemd-boot and put a minimal loader entry that boots the kernel directly (EFI-stub) from ROOT-A, the same ASUS boots the installer successfully.
- So the kernel, partitions, and filesystem are fine ; the failure is strictly in the EFI bootloader stage .
Likely root cause (GRUB ↔ ASUS GOP init)
- The installer’s BOOTX64.EFI appears to be a GRUB-based EFI shim that initializes gfxterm via efi_gop/efi_uga.
- On this ASUS firmware, that GRUB image fails during graphics/console init (no usable GOP mode or mode-switch issue), resulting in a blank screen and firmware watchdog reboot before any menu is rendered.
- Because swapping to systemd-boot (which uses simple UEFI LoadImage/StartImage with a text console) fixes it, the problem is very likely GRUB’s video path on this firmware, not media layout or the kernel.
Note: ESP size/layout does not cause this black-screen-reset. (I also tested with a larger ESP; behavior unchanged until GRUB was replaced.)
Repro steps (what you can try to validate)
- Use the standard FydeOS installer USB on an ASUS UEFI laptop with Secure Boot off.
- Observe: black screen → reboot loop.
- Replace \EFI\BOOT\BOOTX64.EFI on the USB with systemd-bootx64.efi, and copy the installer kernel to \vmlinuz (and \initramfs.img if available) add:
\loader\loader.conf -> default fydeos
\loader\entries\fydeos.conf:
title FydeOS (installer)
linux \vmlinuz
initrd \initramfs.img (if present)
options root=<UUID|PARTUUID of ROOT-A> rw rootwait cros_debug loglevel=7
- Observe: ASUS now boots the installer → confirms the GRUB image is the incompatibility.
What would fix this in the official installer
Any one of these would make ASUS-class firmware happy:
- Ship a “text-only” GRUB EFI as the default BOOTX64.EFI
- Build GRUB without gfxterm (or set GRUB_TERMINAL_OUTPUT=console), avoid forcing GOP mode switches.
- Include only the minimal modules needed (part_gpt, fat, ext2, normal, configfile, search*, linux, test, echo).
- Ensure fallback to plain console if GOP init fails.
- Ship a systemd-boot (or direct EFI-stub kernel) path as default/fallback
- For the installer USB, place a kernel + (optional) initramfs on the ESP and a loader/entries/*.conf.
- This bypasses GRUB entirely on firmware that’s sensitive to gfxterm/GOP.
- Offer a boot-option switch (“Text mode bootloader”)
- Let users toggle between the current GRUB build and a text-only/systemd-boot path if GOP init fails.
Why this matters
- Some OEM UEFI implementations (ASUS being common) are picky with GRUB’s graphics initialization.
- A plain UEFI text path (systemd-boot or text-mode GRUB) dramatically improves compatibility without touching the ChromeOS-style A/B layout or kernel.
Additional notes
If a person wants to make this work in the meantime, see this script which can modify a FydeOS install so that it will boot with systemd-boot. Note that this is for testing purposes only. Not responsible for any unexpected outcomes or undesirable consequences. Always review a script before running it.
To use the script:
- Create an install USB
- Also create a Linux distro that can be booted from a separate USB. Copy the fix script to it.
- Run the fix script against the Fyde OS installer USB.
- Boot from the USB and install FydeOS
- Reboot after installation into the bootable Linux distro.
- Run the fix script against the installed Fyde OS drive.
Note that major updates to Fyde OS (anything that would cause a switch between A / B partitions) would require re-running the fix script.
This is for testing purposes only!
Having said that, I am quite happy to say my Asus now runs FydeOS, with caveats.