Intel® Iris® Xe: free or non-free drivers?

Hi there everyone,

I own a Huawei Matebook D15 with Manjaro Gnome. Everything runs smooth with it, apart from GPU which is the integrated Intel® Iris® Xe. I often use Zoom app with screenshare feature, this has clearly a lag compared to Win11 environment. I’m actually using the free drivers, is it the case to switch to non-free? Are there any better drivers available, instead of the free ones?

Thanks in advance for any help!

System:
  Kernel: 5.15.38-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 11.2.0
    parameters: BOOT_IMAGE=/boot/vmlinuz-5.15-x86_64
    root=UUID=0ea234ec-4fbd-46bf-b2dd-9e6b6e2d0c20 rw quiet splash apparmor=1
    security=apparmor udev.log_priority=3
  Desktop: GNOME v: 42.1 tk: GTK v: 3.24.33 wm: gnome-shell dm: GDM v: 42.0
    Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Laptop System: HUAWEI product: BOD-WXX9 v: M1060
    serial: <superuser required>
  Mobo: HUAWEI model: BOD-WXX9-PCB v: M1060 serial: <superuser required>
    UEFI: HUAWEI v: 1.16 date: 07/14/2021
Battery:
  ID-1: BAT1 charge: 35.9 Wh (98.6%) condition: 36.4/41.6 Wh (87.6%)
    volts: 13.0 min: 11.5 model: DYNAPACK HB4692J5ECW-31 type: Li-ion
    serial: <filter> status: charging cycles: 348
  Device-1: hid-34:88:5d:43:e2:64-battery model: Bluetooth Mouse M557
    serial: N/A charge: N/A status: discharging
Memory:
  RAM: total: 15.43 GiB used: 2.08 GiB (13.5%)
  RAM Report:
    permissions: Unable to run dmidecode. Root privileges required.
CPU:
  Info: model: 11th Gen Intel Core i5-1135G7 bits: 64 type: MT MCP
    arch: Tiger Lake family: 6 model-id: 0x8C (140) stepping: 1 microcode: 0x9A
  Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
    L1: 320 KiB desc: d-4x48 KiB; i-4x32 KiB L2: 5 MiB desc: 4x1.2 MiB L3: 8 MiB
    desc: 1x8 MiB
  Speed (MHz): avg: 1006 high: 1154 min/max: 400/4200 scaling:
    driver: intel_pstate governor: powersave cores: 1: 1154 2: 1007 3: 963
    4: 576 5: 1006 6: 1061 7: 1153 8: 1128 bogomips: 38720
  Flags: 3dnowprefetch abm acpi adx aes aperfmperf apic arat
    arch_capabilities arch_perfmon art avx avx2 avx512_bitalg avx512_vbmi2
    avx512_vnni avx512_vp2intersect avx512_vpopcntdq avx512bw avx512cd
    avx512dq avx512f avx512ifma avx512vbmi avx512vl bmi1 bmi2 bts cat_l2
    cdp_l2 clflush clflushopt clwb cmov constant_tsc cpuid cpuid_fault cx16
    cx8 de ds_cpl dtes64 dtherm dts epb ept ept_ad erms est f16c flexpriority
    flush_l1d fma fpu fsgsbase fsrm fxsr gfni ht hwp hwp_act_window hwp_epp
    hwp_notify hwp_pkg_req ibpb ibrs ibrs_enhanced ida intel_pt invpcid
    invpcid_single lahf_lm lm mca mce md_clear mmx monitor movbe movdir64b
    movdiri msr mtrr nonstop_tsc nopl nx ospke pae pat pbe pcid pclmulqdq pdcm
    pdpe1gb pebs pge pku pln pni popcnt pse pse36 pts rdpid rdrand rdseed
    rdt_a rdtscp rep_good sdbg sep sha_ni smap smep split_lock_detect ss ssbd
    sse sse2 sse4_1 sse4_2 ssse3 stibp syscall tm tm2 tpr_shadow tsc
    tsc_adjust tsc_deadline_timer tsc_known_freq umip vaes vme vmx vnmi
    vpclmulqdq vpid x2apic xgetbv1 xsave xsavec xsaveopt xsaves xtopology xtpr
  Vulnerabilities:
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: spec_store_bypass
    mitigation: Speculative Store Bypass disabled via prctl and seccomp
  Type: spectre_v1
    mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 status: Vulnerable: eIBRS with unprivileged eBPF
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel TigerLake-LP GT2 [Iris Xe Graphics] vendor: QUANTA
    driver: i915 v: kernel ports: active: eDP-1 empty: HDMI-A-1 bus-ID: 00:02.0
    chip-ID: 8086:9a49 class-ID: 0300
  Device-2: Quanta ov9734_techfront_camera type: USB driver: uvcvideo
    bus-ID: 1-6:3 chip-ID: 0408:1040 class-ID: 0e02 serial: <filter>
  Display: wayland server: X.org v: 1.21.1.3 with: Xwayland v: 22.1.1
    compositor: gnome-shell driver: gpu: i915 display-ID: 0
  Monitor-1: eDP-1 model: BOE Display 0x0872 built: 2019 res: 1920x1080
    dpi: 142 gamma: 1.2 size: 344x194mm (13.54x7.64") diag: 395mm (15.5")
    ratio: 16:9 modes: 1920x1080
  OpenGL: renderer: Mesa Intel Xe Graphics (TGL GT2) v: 4.6 Mesa 22.0.3
    direct render: Yes
Audio:
  Device-1: Intel Tiger Lake-LP Smart Sound Audio vendor: QUANTA
    driver: snd_hda_intel v: kernel alternate: snd_sof_pci_intel_tgl
    bus-ID: 00:1f.3 chip-ID: 8086:a0c8 class-ID: 0403
  Sound Server-1: ALSA v: k5.15.38-1-MANJARO running: yes
  Sound Server-2: JACK v: 1.9.21 running: no
  Sound Server-3: PulseAudio v: 15.0 running: yes
  Sound Server-4: PipeWire v: 0.3.51 running: yes
Network:
  Device-1: Intel Wi-Fi 6 AX201 driver: iwlwifi v: kernel bus-ID: 00:14.3
    chip-ID: 8086:a0f0 class-ID: 0280
  IF: wlp0s20f3 state: up mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
    broadcast: <filter>
  IP v6: <filter> type: noprefixroute scope: link
  WAN IP: <filter>
Bluetooth:
  Device-1: Intel AX201 Bluetooth type: USB driver: btusb v: 0.8
    bus-ID: 1-10:4 chip-ID: 8087:0026 class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 1 state: up address: see --recommends
Logical:
  Message: No logical block device data found.
RAID:
  Message: No RAID data found.
Drives:
  Local Storage: total: 593 GiB used: 16.98 GiB (2.9%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung
    model: MZVLB512HBJQ-00000 size: 476.94 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
    rev: EXF7201Q temp: 47.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 type: USB vendor: Lexar model: USB Flash Drive
    size: 116.06 GiB block-size: physical: 512 B logical: 512 B type: SSD
    serial: <filter> rev: 1100 scheme: GPT
  Message: No optical or floppy data found.
Partition:
  ID-1: / raw-size: 125.85 GiB size: 123.31 GiB (97.99%)
    used: 10.19 GiB (8.3%) fs: ext4 dev: /dev/nvme0n1p8 maj-min: 259:8
    label: N/A uuid: 0ea234ec-4fbd-46bf-b2dd-9e6b6e2d0c20
  ID-2: /boot/efi raw-size: 200 MiB size: 196 MiB (98.00%)
    used: 62.3 MiB (31.8%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
    label: SYSTEM uuid: 2638-F155
  ID-3: /run/media/marcolongo/VTOYEFI raw-size: 32 MiB
    size: 31.7 MiB (99.18%) used: 23 MiB (72.4%) fs: vfat dev: /dev/sda2
    maj-min: 8:2 label: VTOYEFI uuid: 0922-588F
  ID-4: /run/media/marcolongo/Ventoy raw-size: 116.03 GiB
    size: 116.03 GiB (100.00%) used: 6.71 GiB (5.8%) fs: exfat dev: /dev/sda1
    maj-min: 8:1 label: Ventoy uuid: 4E21-0000
Swap:
  Alert: No swap data was found.
Unmounted:
  ID-1: /dev/nvme0n1p2 maj-min: 259:2 size: 16 MiB fs: <superuser required>
    label: N/A uuid: N/A
  ID-2: /dev/nvme0n1p3 maj-min: 259:3 size: 120 GiB fs: ntfs label: N/A
    uuid: CA0096B10096A44B
  ID-3: /dev/nvme0n1p4 maj-min: 259:4 size: 211.38 GiB fs: ntfs label: Data
    uuid: 50CE4FA9CE4F85E6
  ID-4: /dev/nvme0n1p5 maj-min: 259:5 size: 512 MiB fs: vfat label: WINPE
    uuid: FC4F-B23B
  ID-5: /dev/nvme0n1p6 maj-min: 259:6 size: 18 GiB fs: ntfs label: Onekey
    uuid: B27652427652078D
  ID-6: /dev/nvme0n1p7 maj-min: 259:7 size: 1024 MiB fs: ntfs label: WinRE
    uuid: 9E003945003925A5
USB:
  Hub-1: 1-0:1 info: Hi-speed hub with single TT ports: 12 rev: 2.0
    speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
  Device-1: 1-1:2 info: Lexar USB Flash Drive type: Mass Storage
    driver: usb-storage interfaces: 1 rev: 2.1 speed: 480 Mb/s power: 500mA
    chip-ID: 21c4:0809 class-ID: 0806 serial: <filter>
  Device-2: 1-6:3 info: Quanta ov9734_techfront_camera type: Video
    driver: uvcvideo interfaces: 2 rev: 2.0 speed: 480 Mb/s power: 500mA
    chip-ID: 0408:1040 class-ID: 0e02 serial: <filter>
  Device-3: 1-10:4 info: Intel AX201 Bluetooth type: Bluetooth driver: btusb
    interfaces: 2 rev: 2.0 speed: 12 Mb/s power: 100mA chip-ID: 8087:0026
    class-ID: e001
  Hub-2: 2-0:1 info: Super-speed hub ports: 4 rev: 3.1 speed: 10 Gb/s
    chip-ID: 1d6b:0003 class-ID: 0900
Sensors:
  System Temperatures: cpu: 50.0 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 274 Uptime: 4m wakeups: 113 Init: systemd v: 250 tool: systemctl
  Compilers: gcc: 11.2.0 clang: 13.0.1 Packages: pacman: 1124 lib: 296
  flatpak: 0 Shell: Zsh v: 5.8.1 running-in: gnome-terminal inxi: 3.3.16

No, Intel has fully open source drivers for Linux, thus no non-free drivers.

What kind of lag? Could referred to wayland or xorg. Maybe also non-existing gpu acceleration (video encoding) in zoom.

It’s not “free vs non-free” in regards to Intel Iris Xe.

Just remove the obsolete package and reboot:

sudo pamac remove xf86-video-intel

And make sure you’re not using any custom video/GPU .conf under /etc/X11/ and its subdirectories.

Hi megavolt, first of all, thanks for your kind reply.
Ok, so basically I don’t have to look for alternative drivers since I already own the best ones (free).

I had to disable Wayland in order to use screenshare on Zoom (Im using xorg). Zoom declared will fix this in the next 5.11 release. I suppose, but not sure, gpu acceleration is not present in screenshare session of Zoom, this could explain why on Win11 it performs way better. Is there a way to implement the feature or I’m forced to wait for Zoom Developers to improve the application?

Thanks winnie. I’m using the clean configuration coming from a clean installation with free drivers.

Did you remove this package though?

  1. Please read this:
    [HowTo] Provide System Information
    and press the three dots below your post and press the :pencil2: to give us more information so we can see what’s really going on.
    Now we know the symptom of the disease, but we need some more probing to know where the origin lies… :grin:
  2. An inxi --admin --verbosity=7 --filter --no-host --width would be the minimum required information for us to be able to help you. (Personally Identifiable Information like serial numbers and MAC addresses will be filtered out by the above command)
    Also, please copy-paste that output in-between 3 backticks ``` at the beginning and end of the code/text.

No, but I will follow your hint doing it. :wink:

Since I’m actually on a different PC, I can’t do it. But later I will surely follow ur steps here. I didn’t expect so much support here, many thank to everyone, guys! :beers:

No idea. If it is not implemented in zoom, then you have to wait for the devs, but if it is just a missing library, then it could be done.

It must be Gen11 - Ice Lake Platform

In general, if ffmpeg can do this, then zoom should be able to do this aswell: Hardware/QuickSync – FFmpeg
Just try some commands there to see if gpu encoding works.

Package for gpu encoding/decoding: intel-media-driver + intel-media-sdk

1 Like

Ok, then, i attached system info as requested by @Olli
And i removed the xf86-video-intel as requested by @winnie
@megavolt I tried 2 commands from there, having this output:

   ~  ffmpeg -decoders|grep qsv                                        ✔ 
ffmpeg version n5.0 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 11.2.0 (GCC)
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-shared --enable-version3
  libavutil      57. 17.100 / 57. 17.100
  libavcodec     59. 18.100 / 59. 18.100
  libavformat    59. 16.100 / 59. 16.100
  libavdevice    59.  4.100 / 59.  4.100
  libavfilter     8. 24.100 /  8. 24.100
  libswscale      6.  4.100 /  6.  4.100
  libswresample   4.  3.100 /  4.  3.100
  libpostproc    56.  3.100 / 56.  3.100
 V....D av1_qsv              AV1 video (Intel Quick Sync Video acceleration) (codec av1)
 V....D h264_qsv             H264 video (Intel Quick Sync Video acceleration) (codec h264)
 V....D hevc_qsv             HEVC video (Intel Quick Sync Video acceleration) (codec hevc)
 V....D mjpeg_qsv            MJPEG video (Intel Quick Sync Video acceleration) (codec mjpeg)
 V....D mpeg2_qsv            MPEG2VIDEO video (Intel Quick Sync Video acceleration) (codec mpeg2video)
 V....D vc1_qsv              VC1 video (Intel Quick Sync Video acceleration) (codec vc1)
 V....D vp8_qsv              VP8 video (Intel Quick Sync Video acceleration) (codec vp8)
 V....D vp9_qsv              VP9 video (Intel Quick Sync Video acceleration) (codec vp9)
    ~  ffmpeg -encoders|grep qsv                                        ✔ 
ffmpeg version n5.0 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 11.2.0 (GCC)
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-shared --enable-version3
  libavutil      57. 17.100 / 57. 17.100
  libavcodec     59. 18.100 / 59. 18.100
  libavformat    59. 16.100 / 59. 16.100
  libavdevice    59.  4.100 / 59.  4.100
  libavfilter     8. 24.100 /  8. 24.100
  libswscale      6.  4.100 /  6.  4.100
  libswresample   4.  3.100 /  4.  3.100
  libpostproc    56.  3.100 / 56.  3.100
 V..... h264_qsv             H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration) (codec h264)
 V..... hevc_qsv             HEVC (Intel Quick Sync Video acceleration) (codec hevc)
 V..... mjpeg_qsv            MJPEG (Intel Quick Sync Video acceleration) (codec mjpeg)
 V..... mpeg2_qsv            MPEG-2 video (Intel Quick Sync Video acceleration) (codec mpeg2video)
 V..... vp9_qsv              VP9 video (Intel Quick Sync Video acceleration) (codec vp9)

your problem isn’t the graphics-driver. the problem is the governor setting that forces the pc to powersave and turns it into a lame duck.

driver: intel_pstate governor: powersave

below to a similar discussion how to optimize the behaviour:

Did you notice any difference with Zoom after applying all the above changes?

This output says nothing about whether it works. In fact, I get the same output :wink: You must de/encode some videos to see it.

That could be a problem, but even if in powersave mode, it acts like in conservative mode: It clocks up if needed but tend to clock down as soon as possible.

I see, so what’s the procedure to check? I’m not a video maker, is there any test to perform?

Did you notice any difference with Zoom after applying all the above changes?

Me neither… maybe try handbrake and choose the qsv encoder. I have no intel hardware here which can use it, but I use nvenc. Maybe it detects the correct codec itself. :man_shrugging:

grafik

After removing xf86-video-intel I noticed no difference in the screenshare quality using Zoom.

Will do and let you know, thanks.

Then even though you’ve done things to better your system overall (removing the inferior driver, installing the media driver / SDK, and rebooting), it seems this is likely a specific “Zoom on Linux” issue?