Linux distros don't support newest (May 2021) Rocket Lake GPUs by default. Tested on:
- Fedora 34
- Ubuntu 20.04.2.0
- Ubuntu 21.04
Even if i915
module is loaded (lsmod | grep i915
), the graphics is still running in software mode.
This issue can be checked in the following ways:
- Only X11 could be started as Wayland requires hardware acceleration
- Check "About system" page in Gnome setup (Fedora&newest Ubuntu have Gnome by-default). "Graphics" line will display something like
llvmpipe...
instead of GPU model. - Run
glxinfo | grep -i opengl
andllvmpipe ...
string is shown for "Renderer" instead of GPU name. dmesg
will display error message of thei915
driver
$ dmesg | grep i915 -A4
[ 636.077251] i915 0000:00:02.0: Your graphics device 4c8a is not properly supported by the driver in this
kernel version. To force driver probe anyway, use i915.force_probe=4c8a
module parameter or CONFIG_DRM_I915_FORCE_PROBE=4c8a configuration option,
or (recommended) check for kernel updates.
As it is specified in the error message, a device with PID=4c8a should be added to module parameters.
Open /etc/default/grub
and add the parameter to the kernel command line:
GRUB_CMDLINE_LINUX="... quiet i915.force_probe=4c8a"
Then updat grub (legacy BIOS output file is different):
sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
- Apparently, Intel devs are not happy about this option: intel/media-driver#980
- UHD 750 - Rocket Lake IGP support – https://forums.unraid.net/topic/105034-uhd-750-rocket-lake-igp-support/
- Intel Core i5 11600K + Core i9 11900K Linux Performance Across ~400 Benchmarks – https://www.phoronix.com/scan.php?page=article&item=intel-rkl-linux&num=2
error: XDG_RUNTIME_DIR not set in the environment.
libva info: VA-API version 1.10.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_10
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.10 (libva 2.10.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 21.1.1 ()
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : VAEntrypointStats
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSliceLP
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSliceLP
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile1 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileVP9Profile3 : VAEntrypointVLD
VAProfileHEVCMain12 : VAEntrypointVLD
VAProfileHEVCMain422_10 : VAEntrypointVLD
VAProfileHEVCMain422_12 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_10 : VAEntrypointVLD
VAProfileHEVCMain444_10 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_12 : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointEncSliceLP
VAProfileHEVCSccMain10 : VAEntrypointVLD
VAProfileHEVCSccMain10 : VAEntrypointEncSliceLP
VAProfileHEVCSccMain444 : VAEntrypointVLD
VAProfileHEVCSccMain444 : VAEntrypointEncSliceLP
VAProfileAV1Profile0 : VAEntrypointVLD
VAProfileHEVCSccMain444_10 : VAEntrypointVLD
VAProfileHEVCSccMain444_10 : VAEntrypointEncSliceLP
This is what vainfo prints....
hope that helps?