VLC video 'stutters' back and forth on nvidia gpu

Whenever I use VLC with low-framerate video (specifically, 24 (23.976024) fps - 1080p), every so often the video shows a previous frame for a split second.
This is really distracting, and makes watching the content really difficult.
Is this a driver issue, or do I need to change a VLC setting?
Note: The statistics tab of VLC does not show any drops.
Thanks in advance for any help.

Edit: I want to add: I use wayland, I’m unaware if this issue exists on X11, but I’d rather not use X11 because KDE runs at a very low framerate with it.

Hello Ruttie,
Your Profile showed a 1650 nvidia, x11 should run pretty good with this GPU.

Post your System Info’s:
inxi --admin --verbosity=5 --filter --no-host --width

I can recommend SMPLayer, i was a long time VLC user but after i switched to Linux the SMPlayer is stronger here and with Modern GUI customisation it also looks pretty good and fancy.

The output is:

  Kernel: 6.9.3-3-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 14.1.1
    clocksource: tsc avail: acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.9-x86_64
    root=UUID=f80fc5ef-12e9-4d87-9459-3f4bc28fde20 rw nvidia_drm.modeset=1
    root=/dev/mapper/luks-45b5ab41-789f-4231-a083-f2598fe64be7 splash
  Desktop: KDE Plasma v: 6.0.5 tk: Qt v: N/A info: frameworks v: 6.2.0
    wm: kwin_wayland vt: 1 dm: SDDM Distro: Manjaro base: Arch Linux
  Type: Desktop System: MEDION product: MD34150/2569 v: 1.0
    serial: <superuser required> Chassis: type: 3 serial: <superuser required>
  Mobo: MEDION model: B360H4-EM v: V1.0 serial: <superuser required>
    part-nu: ML-110000 10022883 uuid: <superuser required>
    UEFI: American Megatrends v: 360H4W0X.115 date: 06/17/2019
  System RAM: total: 24 GiB available: 23.4 GiB used: 8.98 GiB (38.4%)
  Message: For most reliable report, use superuser + dmidecode.
  Array-1: capacity: 64 GiB slots: 2 modules: 2 EC: None
    max-module-size: 32 GiB note: est.
  Device-1: ChannelA-DIMM0 type: DDR4 detail: synchronous size: 8 GiB
    speed: 2400 MT/s volts: note: check curr: 1 min: 1 max: 1 width (bits):
    data: 64 total: 64 manufacturer: Kingston part-no: 9905702-017.A00G
    serial: <filter>
  Device-2: ChannelB-DIMM0 type: DDR4 detail: synchronous size: 16 GiB
    speed: 2400 MT/s volts: curr: 1 width (bits): data: 64 total: 64
    manufacturer: Crucial part-no: CT16G4DFD824A.M16FR serial: <filter>
  Info: model: Intel Core i5-9400 bits: 64 type: MCP arch: Coffee Lake
    gen: core 9 level: v3 note: check built: 2018 process: Intel 14nm family: 6
    model-id: 0x9E (158) stepping: 0xC (12) microcode: 0xF6
  Topology: cpus: 1x cores: 6 smt: <unsupported> cache: L1: 384 KiB
    desc: d-6x32 KiB; i-6x32 KiB L2: 1.5 MiB desc: 6x256 KiB L3: 9 MiB
    desc: 1x9 MiB
  Speed (MHz): avg: 3464 high: 4000 min/max: 800/4100 scaling:
    driver: intel_pstate governor: powersave cores: 1: 4000 2: 3993 3: 800
    4: 3994 5: 4000 6: 4000 bogomips: 34814
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Type: gather_data_sampling mitigation: Microcode
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf status: Not affected
  Type: mds mitigation: Clear CPU buffers; SMT disabled
  Type: meltdown status: Not affected
  Type: mmio_stale_data mitigation: Clear CPU buffers; SMT disabled
  Type: reg_file_data_sampling status: Not affected
  Type: retbleed mitigation: IBRS
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
  Type: spectre_v2 mitigation: IBRS; IBPB: conditional; STIBP: disabled; RSB
    filling; PBRSB-eIBRS: Not affected; BHI: Not affected
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort status: Not affected
  Device-1: NVIDIA TU117 [GeForce GTX 1650] vendor: PC Partner / Sapphire
    driver: nvidia v: 550.90.07 alternate: nouveau,nvidia_drm non-free: 550.xx+
    status: current (as of 2024-04; EOL~2026-12-xx) arch: Turing code: TUxxx
    process: TSMC 12nm FF built: 2018-2022 pcie: gen: 3 speed: 8 GT/s lanes: 16
    ports: active: none off: DVI-D-1 empty: HDMI-A-1 bus-ID: 01:00.0
    chip-ID: 10de:1f82 class-ID: 0300
  Display: wayland server: X.org v: with: Xwayland v: 24.1.0
    compositor: kwin_wayland driver: X: loaded: nvidia gpu: nvidia display-ID: 0
  Monitor-1: DVI-D-1 res: 1680x1050 size: N/A modes: N/A
  API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia device: 2
    drv: swrast gbm: drv: nvidia surfaceless: drv: nvidia wayland: drv: nvidia
    x11: drv: zink inactive: device-1
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 550.90.07
    glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce GTX 1650/PCIe/SSE2
    memory: 3.91 GiB display-ID: :1.0
  API: Vulkan v: 1.3.279 layers: 5 device: 0 type: discrete-gpu
    name: NVIDIA GeForce GTX 1650 driver: nvidia v: 550.90.07
    device-ID: 10de:1f82 surfaces: xcb,xlib,wayland
  Device-1: Intel Cannon Lake PCH cAVS vendor: Elite Systems
    driver: snd_hda_intel v: kernel alternate: snd_soc_skl, snd_soc_avs,
    snd_sof_pci_intel_cnl bus-ID: 00:1f.3 chip-ID: 8086:a348 class-ID: 0403
  Device-2: NVIDIA vendor: PC Partner / Sapphire driver: snd_hda_intel
    v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16 bus-ID: 01:00.1
    chip-ID: 10de:10fa class-ID: 0403
  API: ALSA v: k6.9.3-3-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: JACK v: 1.9.22 status: off tools: N/A
  Server-3: PipeWire v: 1.0.7 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
  Device-1: Intel Cannon Lake PCH CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 00:14.3 chip-ID: 8086:a370 class-ID: 0280
  IF: wlo1 state: up mac: <filter>
  Device-2: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: Elite Systems driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: 3000 bus-ID: 02:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp2s0 state: down mac: <filter>
  Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
  Device-1: Intel Bluetooth 9460/9560 Jefferson Peak (JfP) driver: btusb v: 0.8
    type: USB rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-14:5
    chip-ID: 8087:0aaa class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 0 state: up address: see --recommends
  Local Storage: total: 2.73 TiB used: 1021.61 GiB (36.6%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/sda maj-min: 8:0 vendor: Toshiba model: DT01ACA100
    size: 931.51 GiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
    tech: HDD rpm: 7200 serial: <filter> fw-rev: A750 scheme: GPT
  ID-2: /dev/sdb maj-min: 8:16 vendor: Western Digital
    model: WD BLACK SN770 2TB size: 1.82 TiB block-size: physical: 512 B
    logical: 512 B type: USB rev: 3.2 spd: 10 Gb/s lanes: 1 mode: 3.2 gen-2x1
    tech: N/A serial: <filter> fw-rev: 1.00 scheme: GPT
  Optical-1: /dev/sr0 vendor: Slimtype model: DVD A DS8ACSH rev: LM9M
    dev-links: cdrom
  ID-1: / raw-size: 250 GiB size: 245.02 GiB (98.01%) used: 141.03 GiB (57.6%)
    fs: ext4 dev: /dev/dm-0 maj-min: 254:0
    mapped: luks-45b5ab41-789f-4231-a083-f2598fe64be7 label: N/A
    uuid: f80fc5ef-12e9-4d87-9459-3f4bc28fde20
  ID-2: /boot/efi raw-size: 100 MiB size: 96 MiB (96.00%)
    used: 58.2 MiB (60.6%) fs: vfat dev: /dev/sdb1 maj-min: 8:17 label: N/A
    uuid: 6E0A-0D2C
  Alert: No swap data was found.
  System Temperatures: cpu: 38.0 C pch: 52.0 C mobo: N/A
  Fan Speeds (rpm): N/A
  Processes: 311 Power: uptime: 21h 42m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 2 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 9.31 GiB services: org_kde_powerdevil,
    power-profiles-daemon, upowerd Init: systemd v: 255 default: graphical
    tool: systemctl
  Packages: pm: pacman pkgs: 1755 libs: 454 tools: pamac pm: flatpak pkgs: 0
    Compilers: clang: 17.0.6 gcc: 14.1.1 Shell: Zsh v: 5.9 default: Bash
    v: 5.2.26 running-in: konsole inxi: 3.3.34

I also use KDE 6.0.5 on my 2080Ti and VLC player is running smooth under X11.

I just played a Video with this properties:

Resolution: 1280 x 720
Aspect ratio: 1.77778
Format: h264
Bitrate: 968 kbps
Frames per second: 25.000000
Selected codec: h264

Are you using the nvidia proprietary driver or the nouveau?

If you don’t know then:
mhwd -li

And post your output.

Do you have adjusted your nvidia settings for Wayland? Maybe this help:

Switching to LTS kernel 6.6 maybe could solve your Wayland/VLC issues too.

I use the proprietary driver:

> Installed PCI configs:
                  NAME               VERSION          FREEDRIVER           TYPE
          video-nvidia            2024.05.03               false            PCI

Warning: No installed USB configs!

I do have nvidia_drm.modeset=1 in the grub config, but not nvidia_drm.fbdev=1.
/etc/mkinitcpio.conf does have nvidia_drm in the modules section.

please check the setting of the governor and use performance or ondemand.

the cpu is throtteling down to 800 MHz and this causes a slow, stuttering behaviour.
the standard-setting to powersave is imho not the best. schedutil has a very long delay until speeding up. ondemand is a good choice.


Running sudo cpupower frequency-set -g ondemand results in:

Setting cpu: 0
Error setting new values. Common errors:
- Do you have proper administration rights? (super-user?)
- Is the governor you requested available and modprobed?
- Trying to set an invalid policy?
- Trying to set a specific frequency, but userspace governor is not available,
   for example because of hardware which cannot be set to a specific frequency
   or because the userspace governor isn't loaded?

Running frequency-info returns:

analyzing CPU 3:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 3
  CPUs which need to have their frequency coordinated by software: 3
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 800 MHz - 4.10 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 800 MHz and 4.10 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 3.92 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes

try performance to test. next step is to investigate why only powersave and performance are valid on your system.

Will performance continuously keep my CPU under full load?
If so, that’s not really desirable…
Also, what do you want me to test, X11 or VLC?

test vlc under x11 and wayland. the performance setting shouldn’t harm your temps if there is only average load cause even the performance setting will throttle down.