Poor intel UHD 620 performance on KDE plasma with X11

Hello everyone,

I've been using Manjaro on my dell 6440 for about 4 years and haven't had any major issues for about 3 years.

I just upgraded to a 7390. So in terms of GPU I went from an intel hd 4600 + amd 8690m to an intel uhd 620. The screen went from 1600x900 to 1920x1080

I an using Manjaro KDE 17.1.12 unstable with kernel 4.19 on both.

Now, I run 16-desktop setup, and this works flawlessly on my old laptop.

On the newer laptop, however, using this setup is completely unusable because of awful screen tearing and fps drop (from 60 to low 20s whenever an animation like show desktop grid happens).

Theoretically, the new laptop GPU should be more powerful. I have confirmed that using gputest. The bigger resolution should not matter either since I have often been able to drive multiple displays with the previous laptop without issues.

The laptop shipped with ubuntu 16.04 and putting KDE on it showed similar symptoms.

I also tried kubuntu and neon, to check if it had something to do with manjaro. Kubuntu was just as bad and neon was better at first (not as good as manjaro on my old laptop) but got worse over time.

I have tried every solution I could find on the arch wiki, forums, and here :

  • Using the intel driver with Option "TearFree" "true"
  • Adding MaxFPS=60 and RefreshRate=60 to kwinrc
  • Removing xf86-video-intel to run with modesetting
  • Also removed video-linux
  • Tried all the combinations of openGL 2.0/3.1 and scale method.
  • Switching to xrender yields much better fps (not enough though) but still has massive tearing.

On the one hand, I think this is a software issue, since the benchmarks showed that the new GPU is more capable than previous one by a fair margin.
On the other hand the fact that this happens with different distributions is confusing.

Please feel free to ask questions, I have no idea what outputs I should be including.

glxinfo | grep OpenGL :

OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) UHD Graphics 620 (Kabylake GT2) 
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.2.5
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 18.2.5
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 18.2.5
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

inxi -Fx :


System:    Host: Pandatitwo Kernel: 4.19.2-1-MANJARO x86_64 bits: 64 compiler: gcc v: 8.2.1 
           Desktop: KDE Plasma 5.14.3 Distro: Manjaro Linux 
Machine:   Type: Laptop System: Dell product: Latitude 7390 v: N/A serial: <root required> 
           Mobo: Dell model: 09386V v: A00 serial: <root required> UEFI: Dell v: 1.6.0 date: 08/27/2018 
Battery:   ID-1: BAT0 charge: 12.5 Wh condition: 60.0/60.0 Wh (100%) model: LGC-LGC7.780 DELL MYJ9686 
           status: Discharging 
CPU:       Topology: Quad Core model: Intel Core i7-8650U bits: 64 type: MT MCP arch: Kaby Lake rev: A 
           L2 cache: 8192 KiB 
           flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 33800 
           Speed: 1211 MHz min/max: 400/4200 MHz Core speeds (MHz): 1: 1211 2: 1123 3: 1497 4: 1183 5: 1624 
           6: 1332 7: 1265 8: 1170 
Graphics:  Device-1: Intel UHD Graphics 620 vendor: Dell driver: i915 v: kernel bus ID: 00:02.0 
           Display: x11 server: X.Org 1.20.3 driver: intel unloaded: modesetting resolution: 1920x1080~60Hz 
           OpenGL: renderer: Mesa DRI Intel UHD Graphics 620 (Kabylake GT2) v: 4.5 Mesa 18.2.5 
           direct render: Yes 
Audio:     Device-1: Intel Sunrise Point-LP HD Audio vendor: Dell driver: snd_hda_intel v: kernel 
           bus ID: 00:1f.3 
           Sound Server: ALSA v: k4.19.2-1-MANJARO 
Network:   Device-1: Intel Ethernet I219-LM vendor: Dell driver: e1000e v: 3.2.6-k port: f040 bus ID: 00:1f.6 
           IF: enp0s31f6 state: down mac: e4:b9:7a:53:a9:95 
           Device-2: Intel Wireless 8265 / 8275 driver: iwlwifi v: kernel port: f040 bus ID: 02:00.0 
           IF: wlp2s0 state: up mac: dc:8b:28:af:fa:00 
Drives:    Local Storage: total: 1011.71 GiB used: 65.05 GiB (6.4%) 
           ID-1: /dev/nvme0n1 vendor: Toshiba model: KXG50ZNV1T02 NVMe 1024GB size: 953.87 GiB 
           ID-2: /dev/sdb type: USB vendor: SanDisk model: Ultra Fit size: 57.84 GiB 
Partition: ID-1: / size: 920.76 GiB used: 18.00 GiB (2.0%) fs: ext4 dev: /dev/dm-0 
           ID-2: swap-1 size: 17.10 GiB used: 0 KiB (0.0%) fs: swap dev: /dev/dm-1 
Sensors:   System Temperatures: cpu: 61.0 C mobo: 45.0 C sodimm: 40.0 C 
           Fan Speeds (RPM): cpu: 0 
Info:      Processes: 255 Uptime: 17m Memory: 15.55 GiB used: 2.05 GiB (13.2%) Init: systemd Compilers: 
           gcc: 8.2.1 Shell: fish v: 2.7.1 inxi: 3.0.27

Hmm, I have the same Intel UHD Graphics 620 and honestly I haven't done anything to alter the defaults, I works fine for almost a year now. I haven't tried gaming or any heavy graphics effects on it but I won't be surprised if any of these would have low FPS - hey, it's laptop integrated Intel GPU after all. Neither did I experience any signs of tearing btw. The difference on my side is that I haven't deleted video-linux but actually added i915 to MODULES of /etc/mkinitcpio.conf
I see so many posts about problems with Dell laptops recently, it makes me wonder what is wrong with Dell & Linux friendship? Is it gone? Nevermind.

$ inxi -Fx
System:    Host: vladimir-xmnbp Kernel: 4.19.2-1-MANJARO x86_64 bits: 64 compiler: gcc  
          v: 8.2.1 Desktop: KDE Plasma 5.14.3 Distro: Manjaro Linux  
Machine:   Type: Laptop System: Timi product: TM1701 v: N/A serial: <root required>  
          Mobo: Timi model: TM1701 v: MP serial: <root required> UEFI: INSYDE  
          v: XMAKB5R0P0502 date: 10/13/2017  
Battery:   ID-1: BAT0 charge: 53.7 Wh condition: 54.3/60.0 Wh (90%) model: SUNWODA R15B01W  
          status: Charging  
CPU:       Topology: Quad Core model: Intel Core i7-8550U bits: 64 type: MT MCP  
          arch: Kaby Lake rev: A L2 cache: 8192 KiB  
          flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 31880  
          Speed: 800 MHz min/max: 400/4000 MHz Core speeds (MHz): 1: 800 2: 800 3: 800  
          4: 800 5: 800 6: 800 7: 800 8: 800  
Graphics:  Device-1: Intel UHD Graphics 620 vendor: Xiaomi driver: i915 v: kernel  
          bus ID: 00:02.0  
          Device-2: NVIDIA GP108M [GeForce MX150] vendor: Xiaomi Mi Notebook Pro  
          driver: nvidia v: 410.73 bus ID: 01:00.0  
          Display: x11 server: X.Org 1.20.3 driver: intel  
          resolution: 1920x1080~60Hz, 1920x1080~60Hz  
          OpenGL: renderer: Mesa DRI Intel UHD Graphics 620 (Kabylake GT2)  
          v: 4.5 Mesa 18.2.5 direct render: Yes

$ glxinfo | grep OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) UHD Graphics 620 (Kabylake GT2)  
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.2.5
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 18.2.5
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 18.2.5
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

$ lspci -nnk | grep -E "(VGA|3D)"
00:02.0 VGA compatible controller [0300]: Intel Corporation UHD Graphics 620 [8086:5917] (rev 07)
01:00.0 3D controller [0302]: NVIDIA Corporation GP108M [GeForce MX150] [10de:1d12] (rev a1)

$ mhwd -l
> 0000:01:00.0 (0302:10de:1d12) Display controller nVidia Corporation:


                 NAME               VERSION          FREEDRIVER           TYPE


video-hybrid-intel-nvidia-bumblebee            2018.08.09               false            PCI
video-hybrid-intel-nvidia-390xx-bumblebee            2018.08.09               false           
PCI
         video-nvidia            2018.08.09               false            PCI
   video-nvidia-390xx            2018.08.09               false            PCI
          video-linux            2018.05.04                true            PCI

> 0000:00:02.0 (0300:8086:5917) Display controller Intel Corporation:


                 NAME               VERSION          FREEDRIVER           TYPE


video-hybrid-intel-nvidia-bumblebee            2018.08.09               false            PCI
video-hybrid-intel-nvidia-390xx-bumblebee            2018.08.09               false           
PCI
          video-linux            2018.05.04                true            PCI
           video-vesa            2017.03.12                true            PCI

Not sure, but in that case you might need to delete 20-intel.conf
Then probably you need i915.enable_rc6=0 in your kernel line at boot. I have seen people using i915.enable_dc=0 too

1 Like

Here is my 20-intel.conf, it removes screen tearing on my netbook

$ cat /etc/X11/xorg.conf.d/20-intel.conf
Section "Files"
   ModulePath   "/usr/lib/xorg/modules"
EndSection


Section "Module"
   Load         "glx"
EndSection


Section "Device"
   Identifier   "Card0"
   Driver       "intel"
   BusID        "PCI:0:2:0"
   Option       "Accel"           "True"
   Option       "AccelMethod"     "sna"
   Option       "DRI"             "3"
   Option       "TearFree"        "True"
   Option       "XvPreferOverlay" "True"
   Option       "XvMC"            "True"
EndSection
 
 
Section "DRI"
   Group        "video"
   Mode         0666
EndSection
 
 
Section "Extensions"
   Option       "COMPOSITE"      "Enable"
   Option       "DRI3"           "Enable"
   Option       "RENDER"         "Enable"
EndSection
$ inxi -Gxxz
Graphics:  Device-1: Intel HD Graphics 5500 vendor: ASUSTeK driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:1616 
           Display: server: X.Org 1.20.3 driver: intel compositor: compton resolution: 1366x768~60Hz 
           OpenGL: renderer: Mesa DRI Intel HD Graphics 5500 (Broadwell GT2) v: 4.5 Mesa 18.2.5 compat-v: 3.0 
           direct render: Yes
$  mhwd -l
> 0000:00:02.0 (0300:8086:1616) Display controller Intel Corporation:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
           video-linux            2018.05.04                true            PCI
            video-vesa            2017.03.12                true            PCI

Just tried every you guys suggested and it did not yield any better results.

Except my previous laptop has a worse GPU and runs perfect. Heck my 2012 thinkpad with a HD 4000 runs better than this.

OK let's see what you have in /etc/X11/mhwd. In my case there's a file named intel.conf, which is symlinked to /etc/X11/xorg.conf.d/90-mhwd.conf with the following content:

Generated by mhwd - Manjaro Hardware Detection

 
 
Section "Device"
   Identifier  "Device0"
   Driver      "intel"
   BusID       "PCI:0:2:0"
   Option      "AccelMethod" "sna"
       Option      "DRI"    "true"
EndSection
 
 
Section "DRI"
       Group  "video"
       Mode   0666
EndSection
 
 
Section "Extensions"
   Option "Composite" "Enable"
   Option "RENDER"    "Enable"
EndSection
 
 
Section "InputClass"
   Identifier          "Keyboard Defaults"
   MatchIsKeyboard        "yes"
   Option              "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

Nope, neither /etc/X11/mhwd nor /etc/X11/xorg.conf.d/90-mhwd.conf even exist (/etc/X11/mhwd.d does but is empty).

TO be absolutely certain, I also disabled the discrete GPU on the older laptop using ACPI call, and the performance is still perfect. So clearly an HD 4600 should be enough to run the DE.

As we Russians say, "if you said "a", say "b" then". What files do you have in /etc/X11 folder and its subfolders? Did you try to create intel.conf with the same content as mine?

Just to be sure, I just did a clean reinstall of manjaro 18 KDE, just to be sure.

ls -R /etc/X11 :

/etc/X11/:
mhwd.d  xinit  xorg.conf.d

/etc/X11/mhwd.d:

/etc/X11/xinit:
xinitrc  xinitrc.d  xserverrc

/etc/X11/xinit/xinitrc.d:
40-libcanberra-gtk-module.sh  50-systemd-user.sh

/etc/X11/xorg.conf.d:
00-keyboard.conf

I did more testing and found out a few more things :

  • All compositor / scale method combinations are equivalent in terms of performance, EXCEPT opengl 2 with accurate scaling which is massively faster. Almost a clean 60fps on the grid with no windows opened, and then back to 30 if I start opening programs
  • Looking at /sys/kernel/debug/dri/0/i915_frequency_info, unless running the "show fps" desktop effect, my GPU isn't event trying. It stays at a nice minimum 300MHz and never climbs to the maximum frequency, even on the grid.
  • When trying kwin_X11 --replace, I noticed that my GPU class was unknown. Could this be related to the previous point ?
  • I tried to run wayland, just for kicks. Wayland runs buttery smooth, no fps drop or tearing whatsoever. However, in wayland the gpu frequency climbs to 1100MHz on the grid with programs running. It stays at a nice 300MHz otherwise. I would also note that programs like firefox are still pretty choppy, but I assume this is because these are still X programs.
  • The CPU usage of kwin on the previous laptop is also noticeably lower than on the new laptop. Now I know the because the measurement is in CPU time, this is not a reliable measurement.

This now looks like a kwin or a Xorg issue, I am not sure. It would seem for some reason kwin is not trying to use GPU.

Edit : More testing
Repeating the same process with smooth or crisp shows the GPU frequency climbing to max, whereas accurate does not increase the frequency. What's weird is that accurate yields the smoother experience, while not activating the GPU ???
Result is the same on xf86-video-intel or modesetting, so it probably is a kwin or X11 related bug

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by