KDE + NVidia lag and jankiness (Solved)

Hi. I have an Precision 5520 laptop running the latest Manjaro KDE. The laptop has a built in Intel iGPU and an onboard Nvidia Quadro M1200 dGPU. I installed the NVidia drivers as per the instructions here .

Everything worked fine and KDE performed smoothly with the 415.xx driver on the dGPU. Not happy with the muscle of the M1200, I got a Akitio Node with GTX 1070 and connected it as eGPU through my Thunderbolt port. Got everything to work on the same Nvidia 415.xx driver, with the driver using the eGPU for rendering to an external monitor. When the eGPU is disconnected, it connects back to the Intel iGPU.

When on the eGPU, KDE starts performing slowing with lots of input lag and dropped frames. The applications seem to work well, but its KDE thats horribly janky. KDE was pretty smooth on an underpowered M1200, but was suprised to see it perform horribly on more capable hardware. I checked around and tried the TripleBuffering, Composite Pipeline and GL_YIELD="USLEEP", but none seem to work.

Anyone else facing the same issue? Would appreciate any suggestions to fix this. I love KDE and would hate to switch to another DE due to this issue :frowning:


what application and what do you mean by slow/janky.

still plenty powerful when compared to the iGPU so it should work smoothly.

is that the akitio node that is specified as " * Currently only supports AMD on MacOS High Sierra"?
have you used this on another DE and it works fine?

Any app like Chrome, Vivaldi or Pamac. Slow I mean with some input lag, janky being dropped frames.

But less powerful when compared to the 1070, on which KDE under performs. KDE is ultra smooth on the Intel iGPU when the eGPU is disconnected.

It supports Nvidia cards too. I never tried it on any other distro till date.

were you using the nvidia prime method prior to using the eGPU or was it setup after?
does your bios have the option to disable the intel integrated gpu?
what is the model of that akitio node?

also, i more info would be helpful here. an image of inxi -G isnt much to go on. post relevant outputs from here:

I first installed Manjaro tested it on iGPU, and it was smooth. Then installed Nvidia Prime and tested it on dGPU. Then switched to eGPU on the already installed driver. So, it was NVidia Prime method prior to connecting the eGPU. Don't have an option in Bios to disable iGPU

Node model is NODE-T3IA-AKTU

PS: Also, the eGPU setup crushes the dGPU in Unigine-Heaven benchmarks. Its 1750 vs 675 on the same settings. So, I don't believe there is an issue with the eGPU or the Node setup. 4K60 videos on Chrome or Vivaldi are very smooth on eGPU, while barely play on dGPU. It's just KDE Compositing that seems to be the issue

do you have windows installed on this laptop or another system so you can use the windows utilites akitio provides to check/update firmware for NODE-T3IA-AKTU and also possibly test how it works on that system?

Unfortunately no. Don't have Windows running on any hardware in my home :frowning:

so gpu performance is not the issue, video has no tearing/skipped frames, just KDE has weird glitches like random line that flashes every so often or scrolling in a browser can be a little jumpy sometimes, navigating kde menus sometimes lags behind or takes longer than it should?

can you post full output of inxi -Fxxxz and place 3 backtics ``` before and after the output so it formats properly.

i'll check back tomorrow and see if you were able to make any progress. it might be a good idea to check for the latest firmware from dell on your laptop, maybe it fixes a firmware issue for thunderbolt 3, who knows.
if you know of anyone with windows/thunderbolt so you can check/update firmware via the utility akitio has on its site for that purpose.

To avoid tearing, I went with the Triple Buffering option here

No random lines. Scrolling in browsers is fine. Its mainly input lag, you click on the App Launcher or Date/Time and the corresponding panels appear after a second or so. Also, lots of dropped frames,specially when opening System Settings from App Launcher or during KWin's animations. Turning off Compositing makes all the issues go away.

System:    Host: Mass-Manjaro Kernel: 4.18.20-1-MANJARO x86_64 bits: 64 compiler: gcc v: 8.2.1 Desktop: KDE Plasma 5.14.4 
           tk: Qt 5.11.2 wm: kwin_x11 dm: SDDM Distro: Manjaro Linux 
Machine:   Type: Laptop System: Dell product: Precision 5520 v: N/A serial: <filter> Chassis: type: 10 serial: <filter> 
           Mobo: Dell model: 0R6JFH v: A00 serial: <filter> UEFI: Dell v: 1.3.4 date: 06/08/2017 
Battery:   ID-1: BAT0 charge: 88.7 Wh condition: 88.7/97.0 Wh (91%) volts: 13.2/11.4 model: SMP DELL GPM0365 type: Li-ion 
           serial: <filter> status: Full 
           Device-1: hidpp_battery_0 model: Logitech Wireless Keyboard K330 serial: <filter> charge: 100% (should be ignored) 
           rechargeable: yes status: Discharging 
           Device-2: hidpp_battery_1 model: Logitech Wireless Mouse M215 2nd Gen serial: <filter> 
           charge: 100% (should be ignored) rechargeable: yes status: Discharging 
CPU:       Topology: Quad Core model: Intel Core i7-7820HQ bits: 64 type: MT MCP arch: Kaby Lake rev: 9 L2 cache: 8192 KiB 
           flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 46480 
           Speed: 800 MHz min/max: 800/3900 MHz Core speeds (MHz): 1: 800 2: 800 3: 800 4: 800 5: 800 6: 800 7: 800 8: 800 
Graphics:  Device-1: Intel vendor: Dell driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:591b 
           Device-2: NVIDIA GM107GLM [Quadro M1200 Mobile] vendor: Dell driver: nvidia v: 415.22 bus ID: 01:00.0 
           chip ID: 10de:13b6 
           Device-3: NVIDIA GP104 [GeForce GTX 1070] vendor: eVga.com. driver: nvidia v: 415.22 bus ID: 0b:00.0 
           chip ID: 10de:1b81 
           Display: x11 server: X.Org 1.20.3 driver: modesetting,nvidia compositor: kwin_x11 resolution: 3840x2160~60Hz 
           OpenGL: renderer: GeForce GTX 1070/PCIe/SSE2 v: 4.6.0 NVIDIA 415.22 direct render: Yes 
Audio:     Device-1: Intel CM238 HD Audio vendor: Dell driver: snd_hda_intel v: kernel bus ID: 00:1f.3 chip ID: 8086:a171 
           Device-2: NVIDIA GP104 High Definition Audio vendor: eVga.com. driver: snd_hda_intel v: kernel bus ID: 0b:00.1 
           chip ID: 10de:10f0 
           Device-3: Logitech HD Pro Webcam C920 type: USB driver: snd-usb-audio,uvcvideo bus ID: 1-2.3:8 chip ID: 046d:082d 
           serial: <filter> 
           Sound Server: ALSA v: k4.18.20-1-MANJARO 
Network:   Device-1: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter vendor: Dell driver: ath10k_pci v: kernel 
           port: e000 bus ID: 02:00.0 chip ID: 168c:003e 
           IF: wlan0 state: up mac: <filter> 
           Device-2: Qualcomm Atheros type: USB driver: btusb bus ID: 1-4:5 chip ID: 0cf3:e007 
Drives:    Local Storage: total: 2.29 TiB used: 18.56 GiB (0.8%) 
           ID-1: /dev/nvme0n1 vendor: HP model: SSD EX920 512GB size: 476.94 GiB speed: 31.6 Gb/s lanes: 4 serial: <filter> 
           rev: SVN139B scheme: GPT 
           ID-2: /dev/sda type: USB vendor: Western Digital model: WD My Passport 25E2 size: 1.82 TiB serial: <filter> 
           rev: 4004 scheme: MBR 
Partition: ID-1: / size: 100.43 GiB used: 14.42 GiB (14.4%) fs: ext4 dev: /dev/nvme0n1p3 
           ID-2: /home size: 125.88 GiB used: 4.08 GiB (3.2%) fs: ext4 dev: /dev/nvme0n1p4 
           ID-3: swap-1 size: 9.77 GiB used: 0 KiB (0.0%) fs: swap dev: /dev/nvme0n1p2 
Sensors:   System Temperatures: cpu: 41.0 C mobo: 36.0 C gpu: nvidia temp: 40 C 
           Fan Speeds (RPM): cpu: 2493 gpu: nvidia fan: 0% 
Info:      Processes: 241 Uptime: 34m Memory: 15.51 GiB used: 1.92 GiB (12.4%) Init: systemd v: 239 Compilers: gcc: 8.2.1 
           clang: N/A Shell: bash v: 4.4.23 running in: konsole inxi: 3.0.28 

when you say it works fine on the iGPU you mean intel integrated right? and when you say it works fine with it do you mean with the nvidia quadro turned off? intel/nvidia prime? or intel/nvidia bumblebee?

also, here is a bios update marked "urgent" (probably nothing to do with the compositor but why not?)

I have not been able to get the Nvidia dGPU (Quadro M1200) working since I got onto the eGPU. So , its either the eGPU 1070 or the Intel iGPU with Quadro turned off.

Also, i just updated to the 4.19.8 kernel and things 'seem' to have improved. But, I will reserve judgement till I test more.

Don't know how to flash a BIOS update from Linux, but will look into it. Thanks for the patient responses till now :slight_smile:

download the .exe and either copy it directly to the efi partition or put it on a fat32 formatted usb drive, reboot and from the system boot selection (F12 for my inspiron, maybe same for yours) and choose the option for update bios, select the .exe from efi partition or usb and continue and its done.

search through the forum/wiki/arch wiki for dual gpu directions/troubleshooting, no need to waste the benefits of the extra graphical processing.

well at least you narrowed it down to the compositor being the issue, did you try the other compositor options? scale method,rendering backend,tearing prevention?
i have the same issues when using kde with my intel/nvidia optimus laptop , i also have a separate install of manjaro gnome on my other drive and it doesnt have those problems :man_shrugging:

Yes. No single option seems to solve the issue. Searching around, it seems like different cocktail of options work for different people. I haven't figured out my cocktail yet.

This issue is still unsolved. Looking around, there are lots of complaints reported regarding the basic incompatibilities between Nvidia and KWin Composition :frowning:

yup, i check now and again for solves related but i still have some kinks to work out, if i suspend/close lid, when i wake/open lid the login screen looks like HighDefinition static until i move mouse and the screen then appears normal, but i then also have to restart latte-dock because the spacers dont change since they are just spacers. after suspend it looks like this:
the whit blocks usually look more like static and its usually all the icons until i move the mouse over them, those white/grey blocks are just spacers and should look like this:
kwin has its quirks, no matter what i choose for compositor options this remains

i just looked back at this and it made me think.

your using your existing configs that are made to use your internal nvidia to do the rendering and then output through the intel iGPU. when setting this up you had to create very specific configurations that were tailored for the integrated nvidia and then you hooked up the eGPU 1070. did you make any changes to those config files to accomodate for the new gpu? i think this is the avenue you should travel down.
i think we can fix this with a few modifications to those configs. please post complete* output of the following:
lspci | grep -E "VGA|3D"
cat /etc/X11/xorg.conf.d/optimus.conf
i think if you add another device in optimus.conf it will utilize both nvidia gpu's properly. here is a optimus.conf for example:

Section "Module"
    Load "modesetting"

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:1:0:0"
    Option "AllowEmptyInitialConfiguration"

now adding another device i imagine looks like this:

Section "Module"
    Load "modesetting"

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:1:0:0"
    Option "AllowEmptyInitialConfiguration"

Section "Device" #does each device need its own "Device1" and "Device2"?
    Identifier "nvidia" #"nvidia1" and "nvidia2"???
    Driver "nvidia"
    BusID "PCI:2:0:0"  #edit depending on your eGPU's bus id
    Option "AllowEmptyInitialConfiguration"

maybe @jonathon could verify since this is a bit over my head and he wrote the prime tutorial. i dont know if each device needs its own device name, and i dont know if /usr/share/sddm/scripts/Xsetup
needs to be amended to match???

:face_vomiting: Going off the various forum threads (mainly by asynec) these things are some of the most difficult bits of hardware to get working under anything other than Windows.

It's also outside by realm of experience - never used one, don't know how they interact with Linux.

neither have i. would adding the device to optimus.conf possibly help and if so would it roughly(very roughly) look like what i posted, just with different Identifier "nvidia1" and
Identifier "nvidia2"
and correct bud id's to match?
would /usr/share/sddm/scripts/Xsetup also need modification?
or am i just way off on this and it wouldnt work?

If it shows up as a second GPU then setting up the xorg.conf with two Device sections should be a reasonable way forward - same as for any PC with two (or more) cards. There are a few threads around for that....

1 Like

Forum kindly sponsored by