Do you using display scaling ?
You might get better results if you use Early KMS, as per the Arch documentation: Intel graphics - ArchWiki
I have MODULES=(i915)
in my mkinitcpio.conf before regenerating it, and it gets rid of one flickering I have observed pretty much every time I boot.
(Note that in my case, it is just a single flickering at boot, so it is not that big of a problem).
Here are my relevant configs, for reference:
# /etc/mkinitcpio.conf
MODULES=(i915)
BINARIES-()
FILES=()
HOOKS=(base systemd autodetect keyboard sd-vconsole modconf block sd-encrypt filesystems fsck) # No need for systemd nor sd-encrypt if you don't use encryption, but will need "resume" if using suspend-to-disk / hibernation
# /etc/modprob.d/i915.conf
options i915 enable_psr=1
options i915 enable_fbc=1
options i915 fastboot=1
Kernel parameters set via GRUB:
loglevel=3 mitigations=auto mem_sleep_default=deep nvme.noacpi=1 acpi_osi=!'Windows 2020' acpi_backlight=vendor
And the ouptut of systool -avm i915
to see what features of the i915 are loaded. Maybe you can diff it with yours to check if there is any difference ?
Module = "i915"
Attributes:
coresize = "2732032"
initsize = "0"
initstate = "live"
refcnt = "56"
taint = ""
uevent = <store method only>
Parameters:
disable_display = "N"
disable_power_well = "-1"
dmc_firmware_path = "(null)"
edp_vswing = "0"
enable_dc = "-1"
enable_dp_mst = "Y"
enable_dpcd_backlight= "-1"
enable_fbc = "1"
enable_guc = "-1"
enable_gvt = "N"
enable_hangcheck = "Y"
enable_ips = "1"
enable_psr2_sel_fetch= "Y"
enable_psr = "1"
error_capture = "Y"
fastboot = "1"
force_probe = "*"
force_reset_modeset_test= "N"
guc_firmware_path = "(null)"
guc_log_level = "-1"
huc_firmware_path = "(null)"
invert_brightness = "0"
lmem_bar_size = "0"
lmem_size = "0"
load_detect_test = "N"
lvds_channel_mode = "0"
memtest = "N"
mitigations = "auto"
mmio_debug = "0"
modeset = "-1"
nuclear_pageflip = "N"
panel_use_ssc = "-1"
psr_safest_params = "N"
request_timeout_ms = "20000"
reset = "3"
vbt_firmware = "(null)"
vbt_sdvo_panel_type = "-1"
verbose_state_checks= "Y"
Sections:
.altinstr_aux = "0xffffffffc0739108"
.altinstr_replacement= "0xffffffffc0738f50"
.altinstructions = "0xffffffffc073a208"
.bss = "0xffffffffc07c03c0"
.data..read_mostly = "0xffffffffc07bcd00"
.data.once = "0xffffffffc07bbfd0"
.data = "0xffffffffc07b4260"
.exit.text = "0xffffffffc0738f0a"
.gnu.linkonce.this_module= "0xffffffffc07c0080"
.init.text = "0xffffffffc0824000"
.note.Linux = "0xffffffffc07adaec"
.note.gnu.build-id = "0xffffffffc07adac8"
.note.gnu.property = "0xffffffffc07ada98"
.ref.data = "0xffffffffc07bd800"
.retpoline_sites = "0xffffffffc079f228"
.return_sites = "0xffffffffc07a4e44"
.rodata = "0xffffffffc073a740"
.rodata.str1.1 = "0xffffffffc07645e1"
.rodata.str1.8 = "0xffffffffc0771908"
.smp_locks = "0xffffffffc079dddc"
.static_call.text = "0xffffffffc0739140"
.static_call_sites = "0xffffffffc07bc037"
.strtab = "0xffffffffc085f1a0"
.symtab = "0xffffffffc0825000"
.text = "0xffffffffc0588000"
.text.unlikely = "0xffffffffc0733668"
__bpf_raw_tp_map = "0xffffffffc07bcdc0"
__bug_table = "0xffffffffc07b0000"
__ex_table = "0xffffffffc07ad1f4"
__jump_table = "0xffffffffc07ae000"
__ksymtab_gpl = "0xffffffffc073a000"
__ksymtab_strings = "0xffffffffc07accf8"
__param = "0xffffffffc07ac708"
__tracepoints_ptrs = "0xffffffffc07ad224"
__tracepoints_strings= "0xffffffffc07ad340"
__tracepoints = "0xffffffffc07be820"
_ftrace_events = "0xffffffffc07bd5e0"
With that being said, I alsohappen have one display related problem after resuming from hibernation (suspend-to-disk) on 5.19.13
, and most of the other kernels I have tried. I have not yet found a 100% solution, only work arounds.
Namely, after resuming from hibernation, the screen will power on but stay blank and black. I can only see the mouse cursor, and even interact with the windows that were previously opened, executing commands in opened terminals, etc…
Resuming from simple suspend works without problem for me, however.
I suspect there is still some problems with the graphics driver for handling resume on 12th Gen Alder Lake CPU like ours. Hopefully they get ironed out in next kernel / drivers releases.
Regarding the Firefox, Chromium video performance, have you tried to fixes / work around from the Arch wiki ?
https://wiki.archlinux.org/title/Intel_graphics#Corruption_or_unresponsiveness_in_Chromium_and_Firefox
Also saw something that might be relevant in this thread about battery life tuning on the forums: [TRACKING] Linux battery life tuning
Hope it helps somehow.