Here is the procedure I followed, that a colleague also tested (not saying it’s error-proof, but you know).
Installing Qubes OS 4.3.1 on a Dell XPS 14 with Intel Panther Lake / Xe graphics
TL;DR
The working path was not nomodeset, and it was not blacklisting xe. Those options were useful only for emergency console access. The internal panel worked once the Intel xe KMS path was allowed to load, but both the installer UI and the installed LightDM/Xorg session needed software-rendering workarounds.
Major fixes that succeeded:
-
Boot the graphical installer with Mesa forced to llvmpipe:
inst.graphical plymouth.enable=0 systemd.setenv=LIBGL_ALWAYS_SOFTWARE=true systemd.setenv=GALLIUM_DRIVER=llvmpipe systemd.setenv=MESA_LOADER_DRIVER_OVERRIDE=llvmpipePut this on the installer Linux/kernel line, the
module2 ... vmlinuz ...line. -
Keep
**xe**enabled. Do not usenomodesetorrd.driver.blacklist=xefor the final system. The kernel log showed thatxewas loading DMC/GuC/HuC/GSC firmware and creatingxedrmfb; the remaining failures were userspace rendering / startup-path problems. -
If Qubes first-boot configuration does not start, start it manually from dom0:
sudo systemctl set-default graphical.target sudo systemctl stop lightdm.service sudo systemctl reset-failed initial-setup.service initial-setup-reconfiguration.service lightdm.service sudo systemctl enable initial-setup.service sudo systemctl enable initial-setup-reconfiguration.service sudo systemctl start initial-setup-reconfiguration.service -
Fix Dell/UEFI booting by adding
**efi=attr=uc**to the Xen line in/boot/grub2/grub.cfg, and recreate the EFI redirect/fallback files. The relevant line is themultiboot2 ... xen.gz ... ucode=scan ...line. -
If
**sys-net**causes a panic, boot with**qubes.skip_autostart**, detach PCI devices, then reattach carefully. ``` -
If normal graphical boot freezes after LUKS, disable Xorg glamor for the Intel modesetting driver and force LightDM into software rendering. The two files that stabilized the installed GUI were:
/etc/X11/xorg.conf.d/20-xps14-xe-software.conf /etc/systemd/system/lightdm.service.d/10-software-rendering.conf -
Current unresolved/fragile area: USB. Selecting the installer option to use
sys-netfor both networking and USB does not necessarily produce a visiblesys-usbin Global Config. That is expected in the merged mode, and there is a Qubes 4.3 issue where GUI/device tooling can assume the USB VM is namedsys-usbwhile the merged setup usessys-net. Treat USB controller passthrough as a separate, high-risk step, especially on laptops where input devices can be USB-attached.
Hardware and starting point
The machine was a Dell XPS 14-class system with Intel Panther Lake graphics. The working Qubes-side logs showed:
00:02.0 VGA compatible controller [0300]: Intel Corporation Panther Lake [Intel Graphics] [8086:b080]
00:14.3 Network controller [0280]: Intel Corporation [8086:e440]
The dom0 kernel log eventually showed the important graphics milestone:
xe 0000:00:02.0: [drm] Finished loading DMC firmware i915/xe3lpd_dmc.bin
xe 0000:00:02.0: [drm] Tile0: GT0: Using GuC firmware from xe/ptl_guc_70.bin
xe 0000:00:02.0: [drm] Tile0: GT1: Using HuC firmware from xe/ptl_huc.bin
xe 0000:00:02.0: [drm] Tile0: GT1: Using GSC firmware from xe/ptl_gsc_1.bin
[drm] Initialized xe 1.1.0 for 0000:00:02.0 on minor 0
fbcon: xedrmfb (fb0) is primary device
xe 0000:00:02.0: [drm] fb0: xedrmfb frame buffer device
mei_gsc_proxy ... bound 0000:00:02.0
That was the key diagnostic result: the kernel display path was not dead. xe and the firmware path were good enough to provide a framebuffer. The installer and desktop failures were higher up the stack.
Sources and background
The workaround relies on documented behavior from several components:
- Qubes documents
efi=attr=ucas a Dell/UEFI-style workaround that must be added to Xen parameters in some post-install boot failures. The docs also describe EFI redirect/fallback repair patterns. Qubes UEFI troubleshooting - Anaconda supports
inst.graphicaland other installer boot options. The text-mode path has side effects, so I avoided it for the final reinstall once the graphical path was made usable. Anaconda boot options - Mesa documents
LIBGL_ALWAYS_SOFTWARE=true;GALLIUM_DRIVER=llvmpipeselects the LLVM software rasterizer path in Gallium/Mesa. Mesa environment variables - systemd supports
systemd.setenv=on the kernel command line, which is how the installer environment variables were injected early enough for Anaconda. systemd kernel command line - The Xorg
modesettingdriver defaults to glamor acceleration, and it supportsOption "AccelMethod" "none"andOption "PageFlip" "false". modesetting(4) - Qubes documents
qubes.skip_autostartspecifically for cases where an autostarting qube or PCI device crashes the system. Qubes autostart troubleshooting - Qubes documents PCI passthrough, the
dom0:00_14.3style of device naming, and theno-strict-reset/permissivestyle of workarounds. Qubes PCI devices qvm-device man page - Qubes documents the installer option to use
sys-netfor both networking and USB devices. Qubes installation guide - Qubes documents that USB proxying needs
qubes-usb-proxyand that USB qubes can lock you out if your keyboard is on the controller being moved. USB devices USB qubes - There is a Qubes 4.3 issue for the merged
sys-net+USB mode where tooling expects a VM namedsys-usbwhile the USB VM is actuallysys-net. Qubes issue #10131
References
[qubes-uefi]: https://doc.qubes-os.org/en/latest/user/troubleshooting/uefi-troubleshooting.html
[anaconda-boot]: https://anaconda-installer.readthedocs.io/en/latest/user-guide/boot-options.html
[mesa-env]: https://docs.mesa3d.org/envvars.html
[systemd-kcmdline]: https://www.freedesktop.org/software/systemd/man/latest/kernel-command-line.html
[modesetting]: https://manpages.debian.org/unstable/xserver-xorg-core/modesetting.4.en.html
[qubes-autostart]: https://doc.qubes-os.org/en/latest/user/troubleshooting/autostart-troubleshooting.html
[qubes-pci]: https://doc.qubes-os.org/en/latest/user/how-to-guides/how-to-use-pci-devices.html
[qvm-device]: https://dev.qubes-os.org/projects/core-admin-client/en/latest/manpages/qvm-device.html
[qubes-install]: https://doc.qubes-os.org/en/latest/user/downloading-installing-upgrading/installation-guide.html
[qubes-usb-devices]: https://doc.qubes-os.org/en/latest/user/how-to-guides/how-to-use-usb-devices.html
[qubes-usb-qubes]: https://doc.qubes-os.org/en/latest/user/advanced-topics/usb-qubes.html
[qubes-10131]: https://github.com/QubesOS/qubes-issues/issues/10131