KDE + NVidia lag and jankiness (Solved)

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?)
https://www.dell.com/support/home/us/en/04/product-support/product/precision-15-5520-laptop/drivers

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:
image
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"
EndSection

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

now adding another device i imagine looks like this:

Section "Module"
    Load "modesetting"
EndSection

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

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"
EndSection
#DONT DO THIS UNTIL SOMEONE MORE EXPERIENCED THAN MYSELF CONFIRMS 
#THIS, AND THIS WOULDNT WORK EXACTLY THE WAY I WROTE IT ANYWAY!!!

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

another possibility you could look into. have you tried this eGPU on windows? does it work properly? (i think you mentioned before somewhere but i forget).
reason i ask is maybe look into how well the thunderbolt connection is performing. check its throughput in both windows and linux.

theres some firmware issues for thunderbolt 3 on your model dell which can be easily updated using fwupd (utility for updating device firmware in linux)

sudo pacman -S fwupd
sudo fdupdmgr list-devices
sudo fwupdmgr enable-remote lvfs-testing
fwupdmgr refresh
fwupdmgr update
reboot and test again.

1 Like

Finally found a solution to the issue. The silver bullet setting that solved the issue for me is setting ‘export KWIN_COMPOSE=O2ES’ in /etc/profile.d/kwin.sh during KDE startup. Apparently, this switches the OpenGL backend to Open GL ES 2, which is for Embedded Systems. Don’t ask me why a mobile backend cured all the ailments in the desktop Graphics stack, but it works. In my case, I had CompositePipeline turned on, with KWIN_TRIPLE_BUFFER=1 to avoid screen tearing and everything works smoothly.

The KWIN_COMPOSE=O2ES setting also bumped up my Unigine benchmarks by ~10%.

2 Likes

Sorry for the delayed reply folks. I was travelling around and couldn’t get to it earlier.

00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04)
01:00.0 3D controller: NVIDIA Corporation GM107GLM [Quadro M1200 Mobile] (rev a2)
0b:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1070] (rev a1)

https://pastebin.com/6BhxZaeh

There is lots of guidance on egpu.io forums and I was able to get it eGPU working on Manjaro for my config relatively easily. Now that my Kwin issue is resolved, I’m planning to post my working config here and to the egpu.io forums so that it could help others.

1 Like

Thanks. Updated to the latest firmware. Again, the setting that resolved the issue was KWIN_COMPOSE. The firmware upgrade didn’t seem to improve any performance, but is welcome. Thanks for helping me learn how to upgrade my firmware through Linux. Much appreciated sir :slight_smile:

2 Likes

your welcome, glad you were able to figured it out.

Forum kindly sponsored by