Having lag issues ONLY with browsers with any linux-based distro

I have Dell Inspiron 15 7579 2-in-1, my graphics card is an integrated Intel HD 620 graphics card.

I have tried plenty of distros (Debian-based and Arch-based) and while everything else works fine, any browser (firefox and chromium/chromium-based browsers) seem to have lag issues compared to running those browsers on Windows 10. Even Atom (the text editor) seems to have some issues (as it is electron-based which is based on chromium).

I have done some GPU and CPU tests on both Windows and Linux (one of them was the phoronix-test ~ OpenArena) and generally on Linux it actually excelled over Windows. So I am not too sure as to why the browsers are laggy though? I have used these flags --ignore-gpu-blacklist,--enable-gpu-rasterization with chromium and that does improve the performance but still has lag issues.

With chromium specifically when I scroll on web pages, it seems to have noticeable lag (on some websites its even worse than others) and interacting with websites can also be laggy as well, on Firefox on the otherhand while scrolling is a lot smoother, when on YouTube video, when I am running a 1080p 60 fps the video can be a bit laggy and while watching it, scrolling on YouTube does get laggy.

I have tried Clear Linux and that is the ONLY distro that works fine with the browsers (as long as with chromium these flags --ignore-gpu-blacklist, --enable-gpu-rasterization are enabled otherwise it will be just as bad).

What I have identified is that with chromium-based specifically (with any Linux-distro other than Clear Linux) by pressing shift+esc, it will bring up the browser’s built in task manager, so doing anything including scrolling causes excessive CPU use on Linux compared to Windows.

I decided to go and install linux-clear, linux-clear-lts2018 and linux-clear-current on my Arch-based distro and while they do perform better with browser performance and CPU useage is lower (but still higher than it should be), it is still noticeably laggy.

Another program Clear Linux uses is the clr-power-tweaks so I went ahead and installed it and ran sudo clr_power --debug. I am not too sure if everything ran correctly (sorry still I am a Linux noob) but here is the output:

Writing "50" to /proc/sys/vm/dirty_ratio
Writing "1" to /proc/sys/kernel/unprivileged_bpf_disabled
Writing "5" to /proc/sys/vm/dirty_background_ratio
Writing "1500" to /proc/sys/vm/dirty_writeback_centisecs
Writing "10" to /proc/sys/vm/swappiness
Writing "30000" to /sys/kernel/mm/transparent_hugepage/khugepaged/scan_sleep_millisecs
Writing "0" to /sys/devices/virtual/graphics/fbcon/cursor_blink
Writing "0" to /sys/kernel/rcu_expedited
Writing "65536" to /proc/sys/vm/mmap_min_addr
Writing "100" to /proc/sys/vm/extfrag_threshold
Writing "4000" to /sys/kernel/mm/ksm/sleep_millisecs
Writing "1000" to /sys/kernel/mm/ksm/pages_to_scan
Writing "1703936" to /proc/sys/net/core/rmem_max
Writing "1703936" to /proc/sys/net/core/wmem_max
Writing "512" to /proc/sys/net/core/somaxconn
Writing "2250000" to /proc/sys/kernel/sched_min_granularity_ns
Writing "50000" to /proc/sys/kernel/sched_migration_cost_ns
Writing "15000000" to /proc/sys/kernel/sched_wakeup_granularity_ns
Writing "1" to /sys/module/snd_hda_intel/parameters/power_save
Writing "performance" to /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
Writing "performance" to /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
Writing "performance" to /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
Writing "performance" to /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Writing "50" to /sys/devices/system/cpu/intel_pstate/min_perf_pct
Writing "fq" to /proc/sys/net/core/default_qdisc
Writing "0" to /proc/sys/net/ipv4/conf/all/accept_redirects
Writing "0" to /proc/sys/net/ipv6/conf/all/accept_redirects
Writing "0" to /proc/sys/net/ipv4/conf/default/accept_redirects
Writing "0" to /proc/sys/net/ipv6/conf/default/accept_redirects
Writing "0" to /proc/sys/net/ipv4/conf/all/send_redirects
Writing "0" to /proc/sys/net/ipv4/conf/default/send_redirects
Writing "0" to /proc/sys/net/ipv4/conf/all/secure_redirects
Writing "0" to /proc/sys/net/ipv4/conf/default/secure_redirects
Writing "med_power_with_dipm" to /sys/class/scsi_host/host1/link_power_management_policy
Writing "med_power_with_dipm" to /sys/class/scsi_host/host0/link_power_management_policy
Writing "bfq" to /sys/block/sda/queue/scheduler
Writing "1024" to /sys/block/sda/queue/nr_requests
Writing "1024" to /sys/block/sda/queue/read_ahead_kb
Writing "1" to /sys/block/sda/queue/add_random
No match for pattern "/sys/block/nvme*/queue/scheduler"
No match for pattern "/sys/block/nvme*/queue/nr_requests"
No match for pattern "/sys/block/nvme*/queue/read_ahead_kb"
No match for pattern "/sys/block/nvme*/queue/add_random"
No match for pattern "/proc/sys/kernel/sched_itmt_enabled"
Writing "1" to /sys/devices/system/cpu/microcode/reload
Writing "0" to /proc/sys/kernel/nmi_watchdog
Writing "0" to /sys/block/sda/queue/iosched/slice_idle
Writing "auto" to /sys/bus/usb/devices/usb1/power/control
Writing "auto" to /sys/bus/usb/devices/usb1/power/control
Writing "auto" to /sys/bus/usb/devices/usb1/power/control
Writing "auto" to /sys/bus/usb/devices/usb2/power/control
Writing "auto" to /sys/bus/usb/devices/usb2/power/control
Writing "auto" to /sys/bus/usb/devices/usb2/power/control
Writing "auto" to /sys/bus/usb/devices/1-6/power/control
Writing "auto" to /sys/bus/usb/devices/1-6/power/control
Writing "auto" to /sys/bus/pci/devices/0000:00:17.0/power/control
Writing "auto" to /sys/bus/pci/devices/0000:00:1f.2/power/control
Writing "auto" to /sys/bus/pci/devices/0000:00:1c.0/power/control
Writing "auto" to /sys/bus/pci/devices/0000:00:15.1/power/control
Writing "auto" to /sys/bus/pci/devices/0000:00:1f.0/power/control
Writing "auto" to /sys/bus/pci/devices/0000:00:04.0/power/control
Writing "auto" to /sys/bus/pci/devices/0000:00:16.0/power/control
Writing "auto" to /sys/bus/pci/devices/0000:01:00.0/power/control
Writing "auto" to /sys/bus/pci/devices/0000:00:1f.3/power/control
Writing "auto" to /sys/bus/pci/devices/0000:00:00.0/power/control
Writing "auto" to /sys/bus/pci/devices/0000:00:15.0/power/control
Writing "auto" to /sys/bus/pci/devices/0000:00:14.2/power/control
Writing "auto" to /sys/bus/pci/devices/0000:00:02.0/power/control
Writing "auto" to /sys/bus/pci/devices/0000:00:14.0/power/control
Writing "auto" to /sys/bus/pci/devices/0000:00:1f.4/power/control
/usr/share/clear/versionstamp does not exist!

It didn’t seem to make any difference unfortunately.


So I am not too sure what Clear Linux does differently compared to any other Linux-distro that makes the web browsers work just fine. Since ArchLabs has an installer that gives you so much control over what packages you want on your system compared to a typical calamares installer, is there a specific package I should/should not install or something?

Hi!
I am absolutely no expert here but I think it could be the gpu thatĹ› causing problems. Disabling gpu-acceleration in the browser could solve the problem but maybe you have tried that already?

WOMp

3 Likes

Hi mate,

I have tried this already and well it is laggy but in its own ways (the lag is the same between Windows and Linux when hardware acceleration is disabled).

I’ve tried Clear Linux just yesterday and it is exactly the same for me.
I don’t really experience that much lag with Arch or other Distros, but the high CPU usage results in my notebook being much more noisy and having a much worse battery life than with Windows. I can’t really live with the other restrictions on Clear like the repositories though.
So if anyone has a solution on how to make Arch more CR-like in terms of performance, I would be very thankful!

Did you try and enable those flags, cause on Clear Linux it would lag just as much as with any other distro but if you do enable the flags then it would be just as smooth as Windows in my case.

What graphics card do you have?

I used Firefox so this wasn’t even necessary.
I have a Haswell i5-4200U and the complementary HD 4400, so typical Ultrabook hardware.

Have you already tried using the intel-hybrid-codec-driver?

Is that VA-API or something like that?