Many problems with the i915 module since 4.1

I use the same computer since version 4.0
No hardware changes.

I reinstalled Qubes with the latest version, 4.1 in May.

Since then, many problems, like :

  • Random freeze of firefox and chrome, on Fedora and Debian.
  • No more screen on the laptop (see photo report here )
  • Battery out of order
  • Impossible to resize “Files 3.38.x” on Debian and “Files 41.5” on Fedora. No problem for the different programs (libreoffice, audacity, digikam, calibre…) nor for thunar in dom0
  • non-exhaustive list…

Many of these problems are listed here and the culprit would be i915. But why, for me, only on 4.1, when QubesOS was running like clockwork with 4.0 ?


  • I’m looking for what parameter to add in /etc/modprobe.d/i915.conf that could, already, improve the display problem?

I have tried :
options i915 enable_rpc=1 (without success)
then :
options i915 enable_fbc=1 (it worked once and since this morning again white screen on the laptop) (I just realized that the parameter is back to its initial value -1 ? )

I’m looking in vain for a doc of the i915 module with the different options and their uses. Not a fan of testing them all one by one.

Here is some material if you have ideas to help me:

[sad@dom0 ~]$ lsmod
Module                  Size  Used by
binfmt_misc            28672  1
loop                   40960  16
vfat                   24576  1
fat                    86016  1 vfat
snd_hda_codec_hdmi     77824  1
snd_hda_codec_realtek   163840  1
snd_hda_codec_generic   102400  1 snd_hda_codec_realtek
ledtrig_audio          16384  1 snd_hda_codec_generic
ee1004                 20480  0
iTCO_wdt               16384  0
snd_hda_intel          57344  4
intel_rapl_msr         20480  0
intel_pmc_bxt          16384  1 iTCO_wdt
iTCO_vendor_support    16384  1 iTCO_wdt
mei_hdcp               24576  0
snd_intel_dspcfg       28672  1 snd_hda_intel
snd_intel_sdw_acpi     20480  1 snd_intel_dspcfg
intel_rapl_common      32768  1 intel_rapl_msr
snd_hda_codec         176128  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
snd_hda_core          110592  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
iwlwifi               397312  0
snd_hwdep              16384  1 snd_hda_codec
intel_powerclamp       20480  0
snd_seq                94208  0
snd_seq_device         16384  1 snd_seq
snd_pcm               143360  4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
cfg80211             1064960  1 iwlwifi
i2c_i801               36864  0
r8169                 106496  0
snd_timer              49152  2 snd_seq,snd_pcm
i2c_smbus              20480  1 i2c_i801
joydev                 28672  0
pcspkr                 16384  0
rfkill                 32768  2 cfg80211
snd                   118784  18 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm
soundcore              16384  1 snd
mei_me                 45056  1
mei                   155648  3 mei_hdcp,mei_me
intel_pch_thermal      20480  0
wmi                    36864  0
fuse                  180224  1
xenfs                  16384  1
ip_tables              36864  0
dm_thin_pool           94208  130
dm_persistent_data    110592  1 dm_thin_pool
dm_bio_prison          24576  1 dm_thin_pool
dm_crypt               61440  1
trusted                40960  1 dm_crypt
asn1_encoder           16384  1 trusted
crct10dif_pclmul       16384  1
i915                 3256320  5
crc32_pclmul           16384  0
rtsx_pci_sdmmc         32768  0
crc32c_intel           24576  4
mmc_core              204800  1 rtsx_pci_sdmmc
i2c_algo_bit           16384  1 i915
ttm                    86016  1 i915
ghash_clmulni_intel    16384  0
xhci_pci               20480  0
xhci_pci_renesas       20480  1 xhci_pci
drm_kms_helper        323584  1 i915
rtsx_pci              114688  1 rtsx_pci_sdmmc
nvme                   53248  3
serio_raw              20480  0
nvme_core             143360  4 nvme
cec                    61440  2 drm_kms_helper,i915
xhci_hcd              344064  1 xhci_pci
drm                   655360  6 drm_kms_helper,i915,ttm
video                  57344  1 i915
xen_acpi_processor     20480  0
xen_privcmd            28672  289 xenfs
xen_pciback            90112  1
xen_blkback            53248  64
xen_gntalloc           20480  7
xen_gntdev             45056  38
xen_evtchn             16384  52
uinput                 20480  0
[sad@dom0 ~]$ modinfo i915 | grep '^parm:'
parm:           modeset:Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console preference [default]) (int)
parm:           enable_dc:Enable power-saving display C-states. (-1=auto [default]; 0=disable; 1=up to DC5; 2=up to DC6; 3=up to DC5 with DC3CO; 4=up to DC6 with DC3CO) (int)
parm:           enable_fbc:Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int)
parm:           lvds_channel_mode:Specify LVDS channel mode (0=probe BIOS [default], 1=single-channel, 2=dual-channel) (int)
parm:           panel_use_ssc:Use Spread Spectrum Clock with panels [LVDS/eDP] (default: auto from VBT) (int)
parm:           vbt_sdvo_panel_type:Override/Ignore selection of SDVO panel mode in the VBT (-2=ignore, -1=auto [default], index in VBT BIOS table) (int)
parm:           reset:Attempt GPU resets (0=disabled, 1=full gpu reset, 2=engine reset [default]) (uint)
parm:           vbt_firmware:Load VBT from specified file under /lib/firmware (charp)
parm:           error_capture:Record the GPU state following a hang. This information in /sys/class/drm/card<N>/error is vital for triaging and debugging hangs. (bool)
parm:           enable_hangcheck:Periodically check GPU activity for detecting hangs. WARNING: Disabling this can cause system wide hangs. (default: true) (bool)
parm:           enable_psr:Enable PSR (0=disabled, 1=enabled) Default: -1 (use per-chip default) (int)
parm:           psr_safest_params:Replace PSR VBT parameters by the safest and not optimal ones. This is helpful to detect if PSR issues are related to bad values set in  VBT. (0=use VBT parameters, 1=use safest parameters) (bool)
parm:           enable_psr2_sel_fetch:Enable PSR2 selective fetch (0=disabled, 1=enabled) Default: 0 (bool)
parm:           force_probe:Force probe the driver for specified devices. See CONFIG_DRM_I915_FORCE_PROBE for details. (charp)
parm:           disable_power_well:Disable display power wells when possible (-1=auto [default], 0=power wells always on, 1=power wells disabled when possible) (int)
parm:           enable_ips:Enable IPS (default: true) (int)
parm:           fastboot:Try to skip unnecessary mode sets at boot time (0=disabled, 1=enabled) Default: -1 (use per-chip default) (int)
parm:           load_detect_test:Force-enable the VGA load detect code for testing (default:false). For developers only. (bool)
parm:           force_reset_modeset_test:Force a modeset during gpu reset for testing (default:false). For developers only. (bool)
parm:           invert_brightness:Invert backlight brightness (-1 force normal, 0 machine defaults, 1 force inversion), please report PCI device ID, subsystem vendor and subsystem device ID to, if your machine needs it. It will then be included in an upcoming module version. (int)
parm:           disable_display:Disable display (default: false) (bool)
parm:           mmio_debug:Enable the MMIO debug code for the first N failures (default: off). This may negatively affect performance. (int)
parm:           verbose_state_checks:Enable verbose logs (ie. WARN_ON()) in case of unexpected hw state conditions. (bool)
parm:           nuclear_pageflip:Force enable atomic functionality on platforms that don't have full support yet. (bool)
parm:           edp_vswing:Ignore/Override vswing pre-emph table selection from VBT (0=use value from vbt [default], 1=low power swing(200mV),2=default swing(400mV)) (int)
parm:           enable_guc:Enable GuC load for GuC submission and/or HuC load. Required functionality can be selected using bitmask values. (-1=auto [default], 0=disable, 1=GuC submission, 2=HuC load) (int)
parm:           guc_log_level:GuC firmware logging level. Requires GuC to be loaded. (-1=auto [default], 0=disable, 1..4=enable with verbosity min..max) (int)
parm:           guc_firmware_path:GuC firmware path to use instead of the default one (charp)
parm:           huc_firmware_path:HuC firmware path to use instead of the default one (charp)
parm:           dmc_firmware_path:DMC firmware path to use instead of the default one (charp)
parm:           enable_dp_mst:Enable multi-stream transport (MST) for new DisplayPort sinks. (default: true) (bool)
parm:           enable_dpcd_backlight:Enable support for DPCD backlight control(-1=use per-VBT LFP backlight type setting [default], 0=disabled, 1=enable, 2=force VESA interface, 3=force Intel interface) (int)
parm:           enable_gvt:Enable support for Intel GVT-g graphics virtualization host support(default:false) (bool)
parm:           request_timeout_ms:Default request/fence/batch buffer expiration timeout. (uint)
parm:           mitigations:Selectively enable security mitigations for all Intel® GPUs in the system.
[sad@dom0 ~]$ 
[sad@dom0 ~]$ cat /etc/default/grub
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_CMDLINE_LINUX="rd.luks.uuid=luks-5a86135e-9aea-469c-b64a-5bdb2f700dc5 plymouth.ignore-serial-consoles rd.driver.pre=btrfs rhgb quiet"
GRUB_CMDLINE_XEN_DEFAULT="console=none dom0_mem=min:1024M dom0_mem=max:4096M ucode=scan smt=off gnttab_max_frames=2048 gnttab_max_maptrack_frames=4096"
[sad@dom0 ~]$ efibootmgr -v
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0003,0000
Boot0000* Windows Boot Manager	VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.}...h................
Boot0001* Qubes OS	HD(1,GPT,86fe43db-ab54-4c65-9216-4502b9ce70cf,0x800,0x12c000)/File(\EFI\qubes\grubx64.efi)
Boot0003* Qubes	VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
[sad@dom0 ~]$ 

DId you try to add more RAM to the qubes?

yes, but it’s not a RAM problem.
the problem has appeared since 4.1 and it is known for i915 modules

1 Like

So, it’s not Qubes’ specific?

Did you try to search this forum, for example:

Did you try:

I guess not :wink:

Well in the end it’s a hardware problem! :roll_eyes:

When I folded my screen, the image reappeared. :face_with_raised_eyebrow:
From now on, I have to press regularly on the back of the screen so that I can have a nice picture. So Qubes Os 4.1 is at the top :heart_eyes:

A thousand apologies for the inconvenience.

1 Like