Desktop experience not smooth and slow 4k videos

Hi everyone!
I’ve installed Manjaro a few days ago and have been trying to make it work top notch since then.
I have an issue of sluggish performance in the desktop environment (happened with Gnome and KDE) and with 4k videos (especially on the web through web browser). I have a Dell XPS 15 9570 with both integrated intel GPU and Nvidia 1050ti, so I have read this is usually a potential cause of trouble. Following is my inxi output after running sudo inxi --admin --verbosity=7 --filter --no-host --width.

  Kernel: 5.4.134-1-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0 
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.4-x86_64 
  root=UUID=06c15e00-c925-4d29-bab1-e8b1ad586452 rw quiet splash apparmor=1 
  security=apparmor udev.log_priority=3 
  Console: tty pts/0 wm: gnome-shell DM: GDM 40.0 Distro: Manjaro Linux 
  base: Arch Linux 
  Type: Laptop System: Dell product: XPS 15 9570 v: N/A serial: <filter> 
  Chassis: type: 10 serial: <filter> 
  Mobo: Dell model: 02MJVY v: A00 serial: <filter> UEFI: Dell v: 1.19.0 
  date: 03/16/2021 
  ID-1: BAT0 charge: 41.2 Wh (78.8%) condition: 52.3/97.0 Wh (53.9%) 
  volts: 12.1 min: 11.4 model: SMP DELL GPM0365 type: Li-ion serial: <filter> 
  status: Unknown 
  RAM: total: 15.28 GiB used: 2.85 GiB (18.7%) 
  Array-1: capacity: 32 GiB slots: 2 EC: None max-module-size: 16 GiB 
  note: est. 
  Device-1: DIMM A size: 8 GiB speed: 2667 MT/s type: DDR4 detail: synchronous 
  bus-width: 64 bits total: 64 bits manufacturer: 802C0000802C 
  part-no: 8ATF1G64HZ-2G6E1 serial: <filter> 
  Device-2: DIMM B size: 8 GiB speed: 2667 MT/s type: DDR4 detail: synchronous 
  bus-width: 64 bits total: 64 bits manufacturer: 802C0000802C 
  part-no: 8ATF1G64HZ-2G6E1 serial: <filter> 
  Info: 6-Core model: Intel Core i7-8750H socket: BGA1440 (U3E1) note: check 
  bits: 64 type: MT MCP arch: Kaby Lake note: check family: 6 
  model-id: 9E (158) stepping: A (10) microcode: EA cache: L1: 384 KiB 
  L2: 9 MiB L3: 9 MiB bogomips: 52815 
  Speed: 841 MHz min/max: 800/4100 MHz base/boost: 2277/4100 volts: 0.8 V 
  ext-clock: 100 MHz Core speeds (MHz): 1: 841 2: 838 3: 806 4: 805 5: 846 
  6: 837 7: 889 8: 839 9: 839 10: 840 11: 811 12: 840 
  Flags: 3dnowprefetch abm acpi adx aes aperfmperf apic arat arch_perfmon art 
  avx avx2 bmi1 bmi2 bts clflush clflushopt 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 fxsr ht hwp hwp_act_window 
  hwp_epp hwp_notify ibpb ibrs ida intel_pt invpcid invpcid_single lahf_lm lm 
  mca mce md_clear mmx monitor movbe mpx msr mtrr nonstop_tsc nopl nx pae pat 
  pbe pcid pclmulqdq pdcm pdpe1gb pebs pge pln pni popcnt pse pse36 pti pts 
  rdrand rdseed rdtscp rep_good sdbg sep smap smep ss ssbd sse sse2 sse4_1 
  sse4_2 ssse3 stibp syscall tm tm2 tpr_shadow tsc tsc_adjust 
  tsc_deadline_timer vme vmx vnmi vpid x2apic xgetbv1 xsave xsavec xsaveopt 
  xsaves xtopology xtpr 
  Vulnerabilities: Type: itlb_multihit status: KVM: Split huge pages 
  Type: l1tf 
  mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable 
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable 
  Type: meltdown mitigation: PTI 
  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 mitigation: Full generic retpoline, IBPB: conditional, 
  IBRS_FW, STIBP: conditional, RSB filling 
  Type: srbds mitigation: Microcode 
  Type: tsx_async_abort status: Not affected 
  Device-1: Intel CoffeeLake-H GT2 [UHD Graphics 630] vendor: Dell 
  driver: i915 v: kernel bus-ID: 00:02.0 chip-ID: 8086:3e9b class-ID: 0300 
  Device-2: NVIDIA GP107M [GeForce GTX 1050 Ti Mobile] driver: nvidia 
  v: 470.57.02 alternate: nouveau,nvidia_drm bus-ID: 01:00.0 
  chip-ID: 10de:1c8c class-ID: 0302 
  Device-3: Realtek Integrated_Webcam_HD type: USB driver: uvcvideo 
  bus-ID: 1-12:5 chip-ID: 0bda:5657 class-ID: 0e02 serial: <filter> 
  Display: server: 1.20.11 compositor: gnome-shell driver: 
  loaded: modesetting,nvidia alternate: fbdev,intel,nouveau,nv,vesa 
  resolution: <missing: xdpyinfo> 
  OpenGL: renderer: Mesa Intel UHD Graphics 630 (CFL GT2) v: 4.6 Mesa 21.1.5 
  direct render: Yes 
  Device-1: Intel Cannon Lake PCH cAVS vendor: Dell driver: snd_hda_intel 
  v: kernel alternate: snd_soc_skl,snd_sof_pci bus-ID: 00:1f.3 
  chip-ID: 8086:a348 class-ID: 0403 
  Sound Server-1: ALSA v: k5.4.134-1-MANJARO running: yes 
  Sound Server-2: JACK v: 0.125.0 running: no 
  Sound Server-3: PulseAudio v: 14.2 running: yes 
  Sound Server-4: PipeWire v: 0.3.32 running: no 
  Device-1: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter 
  vendor: Rivet Networks driver: ath10k_pci v: kernel port: 3000 
  bus-ID: 3b:00.0 chip-ID: 168c:003e class-ID: 0280 
  IF: wlp59s0 state: up mac: <filter> 
  IP v4: <filter> type: dynamic noprefixroute scope: global 
  broadcast: <filter> 
  IP v6: <filter> type: noprefixroute scope: link 
  WAN IP: <filter> 
  Device-1: Qualcomm Atheros QCA61x4 Bluetooth 4.0 type: USB driver: btusb 
  v: 0.8 bus-ID: 1-4:3 chip-ID: 0cf3:e300 class-ID: e001 
  Report: rfkill ID: hci0 rfk-id: 0 state: up address: see --recommends 
  Message: No logical block device data found. 
  Message: No RAID data found. 
  Local Storage: total: 476.94 GiB used: 67.07 GiB (14.1%) 
  SMART Message: Required tool smartctl not installed. Check --recommends 
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: SK Hynix model: PC401 NVMe 512GB 
  size: 476.94 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s 
  lanes: 4 type: SSD serial: <filter> rev: 80003E00 scheme: GPT 
  Message: No optical or floppy data found. 
  ID-1: / raw-size: 97.94 GiB size: 95.84 GiB (97.86%) used: 66.96 GiB (69.9%) 
  fs: ext4 block-size: 4096 B dev: /dev/nvme0n1p7 maj-min: 259:7 label: N/A 
  uuid: 06c15e00-c925-4d29-bab1-e8b1ad586452 
  ID-2: /boot/efi raw-size: 650 MiB size: 646 MiB (99.38%) 
  used: 111.5 MiB (17.3%) fs: vfat block-size: 512 B dev: /dev/nvme0n1p1 
  maj-min: 259:1 label: ESP uuid: 5A6B-F68B 
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) 
  ID-1: swap-1 type: file size: 20 GiB used: 0 KiB (0.0%) priority: -2 
  file: /swapfile 
  ID-1: /dev/nvme0n1p2 maj-min: 259:2 size: 128 MiB fs: N/A label: N/A 
  uuid: N/A 
  ID-2: /dev/nvme0n1p3 maj-min: 259:3 size: 363.37 GiB fs: ntfs label: OS 
  uuid: 1C2CB65F2CB6341C 
  ID-3: /dev/nvme0n1p4 maj-min: 259:4 size: 877 MiB fs: ntfs label: N/A 
  uuid: 247E29067E28D1FA 
  ID-4: /dev/nvme0n1p5 maj-min: 259:5 size: 12.88 GiB fs: ntfs label: Image 
  uuid: 7636D61936D5DA67 
  ID-5: /dev/nvme0n1p6 maj-min: 259:6 size: 1.14 GiB fs: ntfs 
  label: DELLSUPPORT uuid: 2890CB0190CAD50A 
  Hub-1: 1-0:1 info: Full speed (or root) Hub ports: 16 rev: 2.0 
  speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900 
  Device-1: 1-1:2 info: Logitech Unifying Receiver type: Keyboard,Mouse,HID 
  driver: logitech-djreceiver,usbhid interfaces: 3 rev: 2.0 speed: 12 Mb/s 
  power: 98mA chip-ID: 046d:c52b class-ID: 0300 
  Device-2: 1-4:3 info: Qualcomm Atheros QCA61x4 Bluetooth 4.0 type: Bluetooth 
  driver: btusb interfaces: 2 rev: 2.0 speed: 12 Mb/s power: 100mA 
  chip-ID: 0cf3:e300 class-ID: e001 
  Device-3: 1-7:4 info: Shenzhen Goodix Fingerprint Reader 
  type: Abstract (modem),CDC-Data driver: N/A interfaces: 2 rev: 2.0 
  speed: 12 Mb/s power: 100mA chip-ID: 27c6:5395 class-ID: 0a00 
  serial: <filter> 
  Device-4: 1-12:5 info: Realtek Integrated_Webcam_HD type: Video 
  driver: uvcvideo interfaces: 2 rev: 2.0 speed: 480 Mb/s power: 500mA 
  chip-ID: 0bda:5657 class-ID: 0e02 serial: <filter> 
  Hub-2: 2-0:1 info: Full speed (or root) Hub ports: 10 rev: 3.1 
  speed: 10 Gb/s chip-ID: 1d6b:0003 class-ID: 0900 
  System Temperatures: cpu: 47.0 C mobo: N/A 
  Fan Speeds (RPM): cpu: 2496 fan-2: 2523 
  Processes: 284 Uptime: 9m wakeups: 694 Init: systemd v: 248 tool: systemctl 
  Compilers: gcc: 11.1.0 clang: 12.0.1 Packages: 1268 pacman: 1265 lib: 327 
  flatpak: 0 snap: 3 Shell: Zsh (sudo) v: 5.8 default: Bash v: 5.1.8 
  running-in: gnome-terminal inxi: 3.3.06 

And here are the information I have gathered through some testing :

  • Both graphics cards work fine, I have tested with glxgears (with primer-run for nvidia card) and I have successfully played a video game with steam + proton (which is amazing btw, glad there is finally a solution to linux gaming). The game was mirror’s edge (first) so it was definetly running nvidia or it would not have been smooth at all, but here I had a really smooth experience.
  • It is not specific to KDE or Gnome, I installed first KDE, then did a complete reinstall with Gnome (and updated which brought me to gnome 40), and have the same issue
  • I have tested switching from x11 to Wayland, even though it seems like it is not recommended on Nvidia cards, but I have read that with newer driver it is getting better. I would say the problem is still there, but maybe it is slightly better with Wayland for the desktop smoothness (though so little that I am not sure) but no noticeable improvement with 4k videos.
  • Playing 4k video with VLC is smooth with nvidia graphics card (running prime-run vlc), still sluggish with integrated graphics, though I don’t know if it is capable of it. However, It’s better if I play full screen on Wayland or I have some diagonal screen tearing.
  • I have tried using chromium instead of firefox, but it is not better.
  • I have tried 3 different kernels, 5.10.52-1; 5.13.4-1; 5.4.134-1. Problem still persists.
  • On KDE I had the problem with both free and non-free drivers, I haven’t tested free drivers on Gnome.

And now I am here, because I am short on ideas and quite unexperienced with linux. I would appreciate some help troubleshooting this. If possible with detailed explanation to help me learn :slight_smile: (but if not possible I’ll take all the help I can get :smiley: ).

Best regards

Sorry, but this very unspecific. Do you mean that the programs load slow?

Yeah, the reason is that hardware video decoding is almost not there on linux browsers and therefore a 4k video will shutter. Almost all Video Players have hardware decoding, but not webbrowsers. There are options to ignore the blacklist and use GPU Acceleration anyway on webbrowsers if possible, but on your own risk.

I would rather say that the Intel GPU needs to calculate all effects and it is slower than the nvidia gpu. Disabling the effects can result in a smoother experience.

Since you have a hybrid card, the DE will start the Intel GPU with KMS and should work well on Wayland. If you installed the nvidia driver here as well beside the intel one, then nvidia will just be used to offload gpu task, but not as display driver.

1 Like

Thank you for your reply and sorry for missing details.
Programs are launching fast. Watching system monitoring, CPU doesn’t seem to overwork during normal use.
It feels like animations are on lower frames per second than they should be. Scrolling also sometimes seems to stutter. I would say a super smooth experience would be 60Hz, but in this case it feels more like 30 or 20 frames per seconds. It also feels like some “frames” are missed. It’s not super bad but noticeable. I have two choices for display framerate in the settings, 59.98Hz and 60Hz, but the result is identical in my opinion. Moving windows around is smooth and feels like 60Hz.
I just found this reddit post which describes the same problem and even links to this gnome gitlab issue. So this is actually a gnome issue, of which the developpers are aware of. I thought it was linked to the 4K video problem but since you explained me it isn’t, I have wrongfully mixed the problems.
I guess the only solution here is to wait for the gnome developpers to fix the issue. I’m glad to know they are aware of it.

Still, even with local 4k video, performance is much better but not sufficient (some stutter from time to time) if I don’t use the nvidia card with prime-run. I think it was smooth with KDE without needing to use prime-run but I am not certain. The 4k videos I tested with are h.264 for which the Intel UHD Graphics 630 has hardware decoding capabilities. Maybe it is as you said because the GPU is busy computing the DE. Simply disabling animation (using gnome tweaks) didn’t help much though.

Apparently from this 2018 article, it is indeed a security issue, and also linked to the graphics drivers. Well here’s to hoping this will change in the next decade!

1 Like

I read also the article and can really agree that there is a “lack of quality” of linux driver related to “hardware video decoding” and the configurations are very fragmented. While fragmentation is good for security (i mean when a virus spreads, it can not cover all systems and configuration), it is bad for developers who wants to provide an application. To cover all systems and possible configurations is brainf*** job and then try to fix problems there xD I understand the reason why chromium devs don’t merge the patch.

Nice :+1: Thanks for the link. I run gnome 40 with my gtx 1050ti and I had never noticeable frame drops unless I use wayland. So it seems to be a problem with gpus like Intel which are less powerful.