External monitor very laggy?

Hello,

I recently bought a new laptop, an Asus Vivobook N6505MU (Core Ultra 9 185H, RTX 4050). I ended up switching between different distros to get everything up and running, and now on Garuda things work well, with one exception: the external monitor that I connect into my laptop’s HDMI port is much laggier than the build-in display.

The monitor is an older Dell P2417H, 1080p@60Hz. It works fine when I connect it into my other laptop which only has integrated graphics. But when I connect it to this laptop, the display has a much lower framerate. Moving the cursor is fairly stuttery, windows appear to open slowly, etc. The issue is purely visual, because everything runs fine on my built-in display.

I read up online and found this Reddit thread, which mentions Reverse Prime and how because of it the HDMI output has to go through both the integrated graphics and the NVIDIA GPU before being rendered on the monitor (vs. the built-in screen which goes straight through integrated graphics).

I tried using envycontrol to switch to the dedicated GPU, but that didn’t fix the issue.

I figured maybe it was a driver issue, so I went into Garuda Settings Manager -> Hardware Configuration and selected “auto install proprietary driver”, but that didn’t seem to change anything. I also tried installing garuda-nvidia-prime-config as per this post, but that didn’t change anything. Looking at my garuda-inxi (see below), it seems I’m already using proprietary drivers.

Anyway, I’m not really sure how to fix this issue. The Reddit post I linked above mentioned using, e.g., Thunderbolt, so that it connects directly to integrated graphics, but that’s just a workaround. I want to be able to use my laptop’s HDMI port properly…

Does anyone have any suggestions?

> garuda-inxi
System:
  Kernel: 6.10.7-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
    clocksource: tsc avail: acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=9e7c9f79-a9ba-4ffa-8992-fe2bfe82a343 rw rootflags=subvol=@
    quiet loglevel=3 ibt=off
  Desktop: KDE Plasma v: 6.1.4 tk: Qt v: N/A info: frameworks v: 6.5.0
    wm: kwin_wayland vt: 1 dm: SDDM Distro: Garuda base: Arch Linux
Machine:
  Type: Laptop System: ASUSTeK product: ASUS Vivobook Pro 15 N6506MU_N6506MU
    v: 1.0 serial: <superuser required>
  Mobo: ASUSTeK model: N6506MU v: 1.0 serial: <superuser required>
    uuid: <superuser required> UEFI: American Megatrends LLC. v: N6506MU.308
    date: 08/06/2024
Battery:
  ID-1: BAT0 charge: 63.3 Wh (83.5%) condition: 75.8/75.0 Wh (101.1%)
    power: 45.7 W volts: 17.7 min: 15.9 model: S560647 type: Unknown
    serial: <filter> status: charging cycles: 1
CPU:
  Info: model: Intel Core Ultra 9 185H bits: 64 type: MST AMCP
    arch: Meteor Lake level: v3 note: check built: 2023+ process: Intel 4 (7nm)
    family: 6 model-id: 0xAA (170) stepping: 4 microcode: 0x1E
  Topology: cpus: 1x cores: 16 mt: 6 tpc: 2 st: 10 threads: 22 smt: enabled
    cache: 24 MiB note: check
  Speed (MHz): avg: 940 high: 3299 min/max: 400/4800:5100:3800:2500 scaling:
    driver: intel_pstate governor: powersave cores: 1: 400 2: 400 3: 400 4: 3299
    5: 2004 6: 1994 7: 400 8: 400 9: 1956 10: 400 11: 1990 12: 400 13: 400
    14: 998 15: 1453 16: 1396 17: 400 18: 400 19: 400 20: 400 21: 400 22: 400
    bogomips: 135168
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities: <filter>
Graphics:
  Device-1: Intel Meteor Lake-P [Intel Arc Graphics] vendor: ASUSTeK
    driver: i915 v: kernel alternate: xe arch: Gen-13 process: Intel 4 (7nm+)
    built: 2023+ ports: active: eDP-2 empty: DP-1, DP-2, DP-3, DP-4
    bus-ID: 0000:00:02.0 chip-ID: 8086:7d55 class-ID: 0300
  Device-2: NVIDIA AD107M [GeForce RTX 4050 Max-Q / Mobile] vendor: ASUSTeK
    driver: nvidia v: 560.35.03 alternate: nouveau,nvidia_drm non-free: 550.xx+
    status: current (as of 2024-06) arch: Lovelace code: AD1xx
    process: TSMC n4 (5nm) built: 2022+ ports: active: none off: HDMI-A-1
    empty: eDP-1 bus-ID: 0000:01:00.0 chip-ID: 10de:28a1 class-ID: 0300
  Device-3: Shinetech ASUS 5M WebCam driver: hid-sensor-hub,usbhid,uvcvideo
    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-9:3
    chip-ID: 3277:0058 class-ID: fe01 serial: <filter>
  Display: wayland server: X.org v: 1.21.1.13 with: Xwayland v: 24.1.2
    compositor: kwin_wayland driver: X: loaded: modesetting,nvidia
    unloaded: nouveau alternate: fbdev,intel,nv,vesa dri: iris
    gpu: i915,nvidia d-rect: 4224x2376 display-ID: 0
  Monitor-1: HDMI-A-1 pos: primary,top-left res: 1920x1080 size: N/A
    modes: N/A
  Monitor-2: eDP-2 pos: bottom-r res: 2304x1296 size: N/A modes: N/A
  API: EGL v: 1.5 hw: drv: intel iris drv: nvidia platforms: device: 0
    drv: nvidia device: 2 drv: iris device: 3 drv: swrast gbm: drv: nvidia
    surfaceless: drv: nvidia wayland: drv: iris x11: drv: iris
    inactive: device-1
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: intel mesa v: 24.2.1-arch1.1
    glx-v: 1.4 direct-render: yes renderer: Mesa Intel Arc Graphics (MTL)
    device-ID: 8086:7d55 memory: 11.15 GiB unified: yes display-ID: :1.0
  API: Vulkan v: 1.3.279 layers: 4 device: 0 type: integrated-gpu name: Intel
    Arc Graphics (MTL) driver: mesa intel v: 24.2.1-arch1.1
    device-ID: 8086:7d55 surfaces: xcb,xlib,wayland device: 1
    type: discrete-gpu name: NVIDIA GeForce RTX 4050 Laptop GPU driver: nvidia
    v: 560.35.03 device-ID: 10de:28a1 surfaces: xcb,xlib,wayland device: 2
    type: cpu name: llvmpipe (LLVM 18.1.8 256 bits) driver: mesa llvmpipe
    v: 24.2.1-arch1.1 (LLVM 18.1.8) device-ID: 10005:0000
    surfaces: xcb,xlib,wayland
Audio:
  Device-1: Intel Meteor Lake-P HD Audio vendor: ASUSTeK
    driver: sof-audio-pci-intel-mtl
    alternate: snd_hda_intel,snd_sof_pci_intel_mtl bus-ID: 0000:00:1f.3
    chip-ID: 8086:7e28 class-ID: 0401
  API: ALSA v: k6.10.7-zen1-1-zen status: kernel-api tools: N/A
  Server-1: PipeWire v: 1.2.3 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Intel Meteor Lake PCH CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 0000:00:14.3 chip-ID: 8086:7e40 class-ID: 0280
  IF: wlo1 state: up mac: <filter>
  Device-2: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: ASUSTeK driver: r8169 v: kernel port: 3000 bus-ID: 0000:2d:00.0
    chip-ID: 10ec:8168 class-ID: 0200
  IF: enp45s0 state: down mac: <filter>
  Info: services: NetworkManager, smbd, systemd-timesyncd, wpa_supplicant
Bluetooth:
  Device-1: Intel AX211 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-10:4 chip-ID: 8087:0033
    class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.3
    lmp-v: 12 status: discoverable: no pairing: no class-ID: 6c010c
RAID:
  Hardware-1: Intel Volume Management Device NVMe RAID Controller Intel
    driver: vmd v: 0.6 port: N/A bus-ID: 0000:00:0e.0 chip-ID: 8086:7d0b rev:
    class-ID: 0104
Drives:
  Local Storage: total: 953.87 GiB used: 24.14 GiB (2.5%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital model: WD PC
    SN560 SDDPNQE-1T00-1102 size: 953.87 GiB block-size: physical: 512 B
    logical: 512 B speed: 63.2 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: 74118000 temp: 60.9 C scheme: GPT
Partition:
  ID-1: / raw-size: 953.57 GiB size: 953.57 GiB (100.00%)
    used: 24.14 GiB (2.5%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 584 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 953.57 GiB size: 953.57 GiB (100.00%)
    used: 24.14 GiB (2.5%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-4: /var/log raw-size: 953.57 GiB size: 953.57 GiB (100.00%)
    used: 24.14 GiB (2.5%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-5: /var/tmp raw-size: 953.57 GiB size: 953.57 GiB (100.00%)
    used: 24.14 GiB (2.5%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 22.84 GiB used: 0 KiB (0.0%) priority: 100
    comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 22 dev: /dev/zram0
Sensors:
  Src: /sys System Temperatures: cpu: 58.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 24 GiB note: est. available: 22.84 GiB used: 6.6 GiB (28.9%)
  Processes: 448 Power: uptime: 31m states: freeze,mem,disk suspend: s2idle
    avail: deep wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 9.09 GiB services: org_kde_powerdevil,
    power-profiles-daemon, thermald, upowerd Init: systemd v: 256
    default: graphical tool: systemctl
  Packages: 1630 pm: pacman pkgs: 1620 libs: 430 tools: octopi,paru,yay
    pm: flatpak pkgs: 10 Compilers: clang: 18.1.8 gcc: 14.2.1 Shell: garuda-inxi
    default: Bash v: 5.2.32 running-in: yakuake inxi: 3.3.35
Garuda (2.6.26-1):
  System install date:     2024-08-31
  Last full system update: 2024-09-03 ↻
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut nvidia-dkms
  Windows dual boot:       Probably (Run as root to verify)
  Failed units:            nmb.service 

BTW; I have no idea :wink:
but I’ll write what I can think of.

Refresh rate is the same?

No display port on monitor?

Maybe you can try X11 from login page, and did you try arndr for display settings?

The monitor -2 has “funny” values like the d-rect 4224x2376?

At least, did you try other kernel?

1 Like

It’s a bug in the Nvidia GPU driver that was introduced around 550 (I don’t know the exact driver number).

If you’re on wayland and if you’re using nvidia GPU and if the port you have connected your Monitor to is directly connected to Nvidia, you will get a laggy desktop. At least this has been the scenario with me.

The lag is less noticeable when running a game.

You can switch to X11 to “fix” that issue for yourself or if you have another port that is connected to the integrated graphics, you can use that. I, on the other have downgrade to driver 535 which does not have this bug.

1 Like

Refresh rate is the same?

No, unfortunately. Built-in screen is 120Hz.

No display port on monitor?

More like no display port on laptop…

Maybe you can try X11 from login page

It does work if I’m on X11, but I’d prefer to stay on Wayland if possible.

did you try arndr for display settings?

I’m not sure it would fix the laggy output. Either way, I tried to use it, but it throws an error when I try to apply some settings:
image

The monitor -2 has “funny” values like the d-rect 4224x2376?

Not sure what to tell you. It’s the laptop’s built-in screen.

At least, did you try other kernel?

I’m very wary of trying different kernels. I landed (back) on Garuda after trying to use Ublue Aurora, which had older kernels (6.10.3 for the ISO for Asus laptops, and 6.9 for regular laptops). In both cases, my laptop’s keyboard didn’t work. Even with Garuda, the current Dr460nized ISO has an older kernel and my keyboard didn’t work initially, but did after upgrading the system.

Damn. So it’s an NVIDIA driver issue… I guess I’ll get a Thunderbolt adapter and plug the monitor into that port.

I’d rather not switch to X11 or downgrade the driver if I can avoid it.

Is there a reason why you think x11 is bad , there is no reason not to use it if it works?

3 Likes

But…but…but I wannna use my 'puter the way I want to whether it works or not!

Note: x11 will be with us for years to come.

3 Likes

You can also voice your concern over at Nvidia’s forum.

1 Like

No need to be snarky.

The last time I used X11 with this monitor (last year), I had an issue where I got an unclickable black background. The solution recommended by the people on this forum was to switch to Wayland :slight_smile: Now you’re telling me to switch back to X11.

Also, some of the tools I use explicitly mention that they are made for Wayland and/or they don’t work well or at all with X11.

And finally, after switching to Wayland I decided to do my best to have everything up and running on Wayland. So, if possible, I’d like to keep my setup working on Wayland. If not, that’s okay too. I’m not particularly happy about switching back, but I don’t care that much either.

Edit: I tried to switch to X11 again today, and this time I realized I have another issue: my laptop’s screen is OLED. If I switch to Plasma X11, I won’t have access to KDE’s HDR settings. I’d be trading one issue for another.

If its the nVidia driver issue can you offload them and still use Wayland?

I was only being snarky so my avatar’s fan base here wouldn’t be offended. No personal offense meant.

4 Likes

It looks like an issue that Nvidia is actively investigating:

From this reopened KDE bug report: 452219 – Low fps and high CPU usage on external monitor connected to NVIDIA when default GPU is Intel

2 Likes

Thanks for the links. I replied to the NVIDIA thread with some logs. Hopefully it’ll help narrow down the issue.

Update: the solution for me ended up being to just buy an HDMI to USB-C cable. I plugged the HDMI into my monitor and the USB-C into the Thunderbolt port which I wasn’t using.

It’s alright now.

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