A suggestion on how to proceed:
To enable the “full” hardware capabilities, you need xe
/i915
hardware acceleration in X11. It’s hard to say exactly what features are in which driver. For more information, see the original “Merge Acceptance Plan” from the 6.6 kernel here:
https://www.kernel.org/doc/html/v6.6/gpu/rfc/xe.html
Do the following steps:
[1] Load the drivers (or make sure, they are loaded) by
modprobe xe i915
in dom0
terminal.
[2] Check again by
lsmod | grep -e xe -e i915
This should show both modules loaded with some bindings.
[3] Now make sure you load the xe module as the primary driver. It is not always detected. (See e.g. qubes issue 8561 here – marmarek’s final comment: sys-gui-gpu on 13th gen Intel ends in black screen after boot. · Issue #8561 · QubesOS/qubes-issues · GitHub ) It means you need to force probing for this module by pci device id. You can find this id by running lspci
lspci -nn | grep VGA
in the dom0
terminal. It’s the tupel in square brackets. The first id is the vendor id, the second is a device id. You need the second, the graphic device id. Intel lists it on their website as 7d55
for the Ultra 7 155H. The above command should give you the same id.
Now edit /etc/default/grub
in the dom0
terminal; add xe.force_probe=7d55
at the end of the line starting with GRUB_CMD_LINUX
inside the quotes. Update the grub configuration by issuing
sudo grub2-mkconfig -o $(sudo find /boot -iname "*.cfg")
in dom0
terminal. This essentially tries to update the file it finds as a valid cfg file. You could do this step by step with “more” control:
sudo find /boot -iname "*.cfg"
and then
sudo grub2-mkconfig -o FILENAME_YOU_FOUND_WITH_FULL_PATH
The inclusive command version should be save, as grub2-mkconfig
will fail if there is no valid cfg file. Once that’s done, do some sync
inside the dom0
terminal (I know, it’s pretty paranoid, but I’ve gotten so used to it – it’s second nature now).
[4] Try rebooting.
[4.1] If startup hangs, you can edit grub by pressing e
, edit the kernel line with the typo and save with f10
.
[4.2] If not, you are good to go and check inside the dom0
terminal:
lsmod | grep xe
xe
should now be the primary module, sometimes as a single bind, sometimes in conjunction with i915
. If both xe
and i915
drivers are present, xe
should be referenced first. Like this:
xe 3526656 0
drm_ttm_helper 16384 1 xe
gpu_sched 65536 1 xe
drm_suballoc_helper 16384 1 xe
drm_gpuvm 45056 1 xe
drm_exec 12288 2 drm_gpuvm,xe
i915 5054464 4
i2c_algo_bit 20480 2 xe,i915
drm_buddy 28672 2 xe,i915
ttm 114688 3 drm_ttm_helper,xe,i915
drm_display_helper 299008 2 xe,i915
cec 98304 3 drm_display_helper,xe,i915
video 81920 2 xe,i915
[5] Check X11 logs in the dom0
terminal, which should contain some DRI loading info messages with iris references:
cat /var/log/Xorg.0.log | grep iris
It should output something like this (with different timestamps):
[30.074] (II) modeset(0): [DRI2] DRI driver: iris
[30.332] (II) AIGLX: Loaded and initialized iris
You should now be able to watch YouTube (embedded) videos even with ambient mode enabled, and LibreOffice applications should render much faster. (Over here they do.)