You are not logged in.

#1 2022-09-06 08:10:58

iheartarch
Member
Registered: 2022-09-06
Posts: 6

Jittery mpv playback any video

                  -`                    someone@hal 
                  .o+`                   --------- 
                 `ooo/                   OS: Arch Linux x86_64 
                `+oooo:                  Host: B550 AORUS ELITE AX V2 
               `+oooooo:                 Kernel: 5.15.65-1-lts 
               -+oooooo+:                Uptime: 44 mins 
             `/:-:++oooo+:               Packages: 915 (pacman) 
            `/++++/+++++++:              Shell: bash 5.1.16 
           `/++++++++++++++:             Resolution: 2560x1440 
          `/+++ooooooooooooo/`           WM: awesome 
         ./ooosssso++osssssso+`          Theme: Materia-dark-compact [GTK2/3] 
        .oossssso-````/ossssss+`         Icons: Papirus-Light [GTK2/3] 
       -osssssso.      :ssssssso.        Terminal: terminator 
      :osssssss/        osssso+++.       CPU: AMD Ryzen 9 5950X (32) @ 3.400GHz 
     /ossssssss/        +ssssooo/-       GPU: NVIDIA GeForce GTX 1650 
   `/ossssso+/:-        -:/+osssso+-     Memory: 3129MiB / 128721MiB 
  `+sso+:-`                 `.-/+oso:
 `++:.                           `-/+/                           
 .`                                 `/                           

I've read around for awhile now, and cannot seem to find what could be causing this jittery playback.  I had been running Arch+mpv for quite some time without issue, then I noticed mpv just seemed to choke on any file I threw at it.  Celluloid flat out crashes, and VLC "sometimes" plays files fine. 

I did notice that I was using nouveau, but switched to nvidia-lts for the following output:

[cplayer] Command line options: '-v' '00800.m2ts'
[cplayer] mpv 0.34.1-dirty Copyright © 2000-2021 mpv/MPlayer/mplayer2 projects
[cplayer]  built on UNKNOWN
[cplayer] FFmpeg library versions:
[cplayer]    libavutil       57.17.100 (runtime 57.28.100)
[cplayer]    libavcodec      59.18.100 (runtime 59.37.100)
[cplayer]    libavformat     59.16.100 (runtime 59.27.100)
[cplayer]    libswscale      6.4.100 (runtime 6.7.100)
[cplayer]    libavfilter     8.24.100 (runtime 8.44.100)
[cplayer]    libswresample   4.3.100 (runtime 4.7.100)
[cplayer] FFmpeg version: n5.1.1
[cplayer] 
[cplayer] Configuration: /usr/bin/waf configure --prefix=/usr --confdir=/etc/mpv --enable-cdda --enable-dvb --enable-dvdnav --enable-libarchive --enable-libmpv-shared --disable-build-date --disable-caca
[cplayer] List of enabled features: alsa asm cdda cplayer cplugins cuda-hwaccel cuda-interop debug-build drm dvbin dvdnav egl egl-drm egl-helpers egl-x11 ffmpeg ffmpeg-aviocontext-bytes-read ffnvcodec gbm gbm.h gl gl-wayland glibc-thread-name glob glob-posix gpl iconv jack javascript jpeg lcms2 libarchive libass libavdevice libbluray libdl libm libmpv-shared libplacebo librt linux-fstatfs linux-input-event-codes lua luajit memfd_create optimize plain-gl posix posix-or-mingw pthreads pulse rubberband shaderc shaderc-shared stdatomic uchardet vaapi vaapi-drm vaapi-egl vaapi-vulkan vaapi-wayland vaapi-x-egl vaapi-x11 vdpau vector vt.h vulkan wayland wayland-protocols x11 xv zimg zlib
[cplayer] Reading config file /etc/mpv/encoding-profiles.conf
[cplayer] Applying profile 'default'...
[cplayer] Reading config file /home/someone/.config/mpv/mpv.conf
[cplayer] Applying profile 'default'...
[cplayer] Setting option 'screenshot-format' = 'png' (flags = 4)
[cplayer] Setting option 'screenshot-directory' = '/media/bigtime/hdb/archive/' (flags = 4)
[cplayer] Setting option 'v' = '' (flags = 8)
[cplayer] Waiting for scripts...
[osd/libass] libass API version: 0x1600000
[osd/libass] libass source: commit: 0.16.0-0-g1af6240c5d1e499326146e0b88c987e626b13c23-dirty
[osd/libass] Shaper: FriBidi 1.0.12 (SIMPLE) HarfBuzz-ng 5.1.0 (COMPLEX)
[osd/libass] Setting up fonts...
[osd/libass] Using font provider fontconfig
[osd/libass] Done.
[cplayer] Set property: shared-script-properties -> 1
[cplayer] Set property: shared-script-properties -> 1
[cplayer] Done loading scripts.
[cplayer] Running hook: ytdl_hook/on_load
[ytdl_hook] ytdl:// hook 
[ytdl_hook] not a ytdl:// url 
[ifo_dvdnav] Opening 00800.m2ts
[cplayer] Set property: shared-script-properties -> 1
[bdmv/bluray] Opening 00800.m2ts
[file] Opening 00800.m2ts
[demux] Trying demuxers for level=normal.
[cplayer] Set property: shared-script-properties -> 1
[osd/libass] libass API version: 0x1600000
[osd/libass] libass source: commit: 0.16.0-0-g1af6240c5d1e499326146e0b88c987e626b13c23-dirty
[osd/libass] Shaper: FriBidi 1.0.12 (SIMPLE) HarfBuzz-ng 5.1.0 (COMPLEX)
[osd/libass] Setting up fonts...
[osd/libass] Using font provider fontconfig
[osd/libass] Done.
[lavf] Found 'mpegts' at score=50 size=2048.
[ffmpeg/demuxer] mpegts: start time for stream 5 is not set in estimate_timings_from_pts
[ffmpeg/demuxer] mpegts: start time for stream 6 is not set in estimate_timings_from_pts
[ffmpeg/demuxer] mpegts: start time for stream 7 is not set in estimate_timings_from_pts
[ffmpeg/demuxer] mpegts: start time for stream 8 is not set in estimate_timings_from_pts
[file] stream level seek from 5767168 to 43718365040
[file] stream level seek from 43718496112 to 43718348656
[file] stream level seek from 43718615040 to 43718115040
[file] stream level seek from 43718246112 to 43718098656
[ffmpeg/demuxer] mpegts: stream 0 : no PTS found at end of file, duration not set
[file] stream level seek from 43718491872 to 0
[ffmpeg/demuxer] mpegts: Could not find codec parameters for stream 5 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
[ffmpeg/demuxer] Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
[ffmpeg/demuxer] mpegts: Could not find codec parameters for stream 6 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
[ffmpeg/demuxer] Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
[ffmpeg/demuxer] mpegts: Could not find codec parameters for stream 7 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
[ffmpeg/demuxer] Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
[ffmpeg/demuxer] mpegts: Could not find codec parameters for stream 8 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
[ffmpeg/demuxer] Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
[lavf] avformat_find_stream_info() finished after 0 bytes.
[demux] Detected file format: mpegts (libavformat)
[cplayer] Opening done: 00800.m2ts
[find_files] Loading external files in .
[cplayer] Running hook: ytdl_hook/on_preloaded
[lavf] select track 0
[lavf] select track 1
[cplayer]  (+) Video --vid=1 (h264 1920x1080 23.976fps)
[cplayer]  (+) Audio --aid=1 (dts 6ch 48000Hz)
[cplayer]      Audio --aid=2 (ac3 6ch 48000Hz)
[cplayer]      Audio --aid=3 (ac3 6ch 48000Hz)
[cplayer]      Audio --aid=4 (ac3 6ch 48000Hz)
[cplayer]      Subs  --sid=1 (hdmv_pgs_subtitle)
[cplayer]      Subs  --sid=2 (hdmv_pgs_subtitle)
[cplayer]      Subs  --sid=3 (hdmv_pgs_subtitle)
[cplayer]      Subs  --sid=4 (hdmv_pgs_subtitle)
[vo/gpu] Probing for best GPU context.
[vo/gpu/opengl] Initializing GPU context 'wayland'
error: XDG_RUNTIME_DIR is invalid or not set in the environment.
[vo/gpu/opengl] Initializing GPU context 'x11egl'
[vo/gpu/x11] X11 opening display: :1001
[vo/gpu/x11] Display 0 (nxoutput0): [0, 0, 2560, 1440] @ 60.000000 FPS
[vo/gpu/x11] Current display FPS: 60.000000
[vo/gpu/opengl] EGL_VERSION=1.5
[vo/gpu/opengl] EGL_VENDOR=Mesa Project
[vo/gpu/opengl] EGL_CLIENT_APIS=OpenGL OpenGL_ES 
[vo/gpu/opengl] Trying to create Desktop OpenGL context.
[vo/gpu/opengl] Choosing visual EGL config 0xb, visual ID 0x21
[vo/gpu/opengl] GL_VERSION='4.5 (Core Profile) Mesa 22.1.7'
[vo/gpu/opengl] Detected desktop OpenGL 4.5.
[vo/gpu/opengl] GL_VENDOR='Mesa/X.org'
[vo/gpu/opengl] GL_RENDERER='llvmpipe (LLVM 14.0.6, 256 bits)'
[vo/gpu/opengl] GL_SHADING_LANGUAGE_VERSION='4.50'
[vo/gpu/opengl] Detected suspected software renderer.
[vo/gpu/opengl] Suspected software renderer or indirect context.
[vo/gpu/opengl] Initializing GPU context 'drm'
[vo/gpu] VT_GETMODE failed: Inappropriate ioctl for device
[vo/gpu/opengl] Failed to set up VT switcher. Terminal switching will be unavailable.
[vo/gpu/opengl] Initializing KMS
[vo/gpu/opengl] Picked DRM card 0, primary node /dev/dri/card0 as the default.
[vo/gpu/opengl] Cannot open card "0": Permission denied.
[vo/gpu/opengl] Failed to create KMS.
[vo/gpu/vulkan] Initializing GPU context 'waylandvk'
[vo/gpu/vulkan/libplacebo] Initialized libplacebo v208
[vo/gpu/vulkan/libplacebo] Creating vulkan instance with extensions:
[vo/gpu/vulkan/libplacebo]     VK_KHR_get_physical_device_properties2
[vo/gpu/vulkan/libplacebo]     VK_KHR_surface
[vo/gpu/vulkan/libplacebo]     VK_KHR_external_memory_capabilities
[vo/gpu/vulkan/libplacebo]     VK_KHR_external_semaphore_capabilities
[vo/gpu/vulkan/libplacebo]     VK_KHR_portability_enumeration
[vo/gpu/vulkan/libplacebo]     VK_KHR_surface
[vo/gpu/vulkan/libplacebo]     VK_KHR_wayland_surface
error: XDG_RUNTIME_DIR is invalid or not set in the environment.
[vo/gpu/vulkan] Initializing GPU context 'x11vk'
[vo/gpu/vulkan/libplacebo] Initialized libplacebo v208
[vo/gpu/vulkan/libplacebo] Creating vulkan instance with extensions:
[vo/gpu/vulkan/libplacebo]     VK_KHR_get_physical_device_properties2
[vo/gpu/vulkan/libplacebo]     VK_KHR_surface
[vo/gpu/vulkan/libplacebo]     VK_KHR_external_memory_capabilities
[vo/gpu/vulkan/libplacebo]     VK_KHR_external_semaphore_capabilities
[vo/gpu/vulkan/libplacebo]     VK_KHR_portability_enumeration
[vo/gpu/vulkan/libplacebo]     VK_KHR_surface
[vo/gpu/vulkan/libplacebo]     VK_KHR_xlib_surface
[vo/gpu/x11] X11 opening display: :1001
[vo/gpu/x11] Display 0 (nxoutput0): [0, 0, 2560, 1440] @ 60.000000 FPS
[vo/gpu/x11] Current display FPS: 60.000000
[vo/gpu/vulkan/libplacebo] Probing for vulkan devices:
[vo/gpu/vulkan/libplacebo]     GPU 0: NVIDIA GeForce GTX 1650 (discrete)
[vo/gpu/vulkan/libplacebo]            uuid: 20:E1:C6:FF:62:D0:ED:47:CE:22:46:F0:C7:B9:8E:CB
[vo/gpu/vulkan/libplacebo] Vulkan device properties:
[vo/gpu/vulkan/libplacebo]     Device Name: NVIDIA GeForce GTX 1650
[vo/gpu/vulkan/libplacebo]     Device ID: 10de:1f82
[vo/gpu/vulkan/libplacebo]     Device UUID: 20:E1:C6:FF:62:D0:ED:47:CE:22:46:F0:C7:B9:8E:CB
[vo/gpu/vulkan/libplacebo]     Driver version: 80d04040
[vo/gpu/vulkan/libplacebo]     API version: 1.3.205
[vo/gpu/vulkan/libplacebo] Using async transfer (queue 1)
[vo/gpu/vulkan/libplacebo] Using async compute (queue 2)
[vo/gpu/vulkan/libplacebo] Creating vulkan device with extensions:
[vo/gpu/vulkan/libplacebo]     VK_KHR_swapchain
[vo/gpu/vulkan/libplacebo]     VK_KHR_swapchain
[vo/gpu/vulkan/libplacebo]     VK_KHR_push_descriptor
[vo/gpu/vulkan/libplacebo]     VK_KHR_external_memory_fd
[vo/gpu/vulkan/libplacebo]     VK_EXT_external_memory_dma_buf
[vo/gpu/vulkan/libplacebo]     VK_EXT_external_memory_host
[vo/gpu/vulkan/libplacebo]     VK_KHR_external_semaphore_fd
[vo/gpu/vulkan/libplacebo]     VK_EXT_pci_bus_info
[vo/gpu/vulkan/libplacebo]     VK_EXT_image_drm_format_modifier
[vo/gpu/vulkan/libplacebo] Memory heaps supported by device:
[vo/gpu/vulkan/libplacebo]     0: flags 0x1 size 4096M
[vo/gpu/vulkan/libplacebo]     1: flags 0x0 size   94G
[vo/gpu/vulkan/libplacebo]     2: flags 0x1 size  246M
[vo/gpu/vulkan/libplacebo] Memory summary:     0 used     0 res     0 alloc, efficiency 100.00%, utilization 100.00%
[vo/gpu/vulkan/libplacebo] shaderc SPIR-V version 1.6 rev 1
[vo/gpu/vulkan/libplacebo] Initialized SPIR-V compiler 'shaderc'
[vo/gpu/vulkan/libplacebo] DRM format modifier LINEAR of format rgba8 supports fewer caps (0x1d401) than optimal tiling (0x1dd83), may result in limited capability!
[vo/gpu/vulkan/libplacebo] DRM format modifier LINEAR of format bgra8 supports fewer caps (0x1d401) than optimal tiling (0x1dd83), may result in limited capability!
[vo/gpu/vulkan/libplacebo] DRM format modifier LINEAR of format bgr565 supports fewer caps (0x1d401) than optimal tiling (0x1dd81), may result in limited capability!
[vo/gpu/vulkan/libplacebo] DRM format modifier LINEAR of format bgr5a1 supports fewer caps (0x1d401) than optimal tiling (0x1dd81), may result in limited capability!
[vo/gpu/vulkan/libplacebo] DRM format modifier LINEAR of format rgb10a2 supports fewer caps (0x1d401) than optimal tiling (0x1dd83), may result in limited capability!
[vo/gpu/vulkan/libplacebo] DRM format modifier LINEAR of format bgr10a2 supports fewer caps (0x1d401) than optimal tiling (0x1dd81), may result in limited capability!
[vo/gpu/vulkan/libplacebo] GPU information:
[vo/gpu/vulkan/libplacebo]     GLSL version: 450 (vulkan)
[vo/gpu/vulkan/libplacebo]       max_shmem_size:            49152
[vo/gpu/vulkan/libplacebo]       max_group_threads:         1024
[vo/gpu/vulkan/libplacebo]       max_group_size[0]:         1024
[vo/gpu/vulkan/libplacebo]       max_group_size[1]:         1024
[vo/gpu/vulkan/libplacebo]       max_group_size[2]:         64
[vo/gpu/vulkan/libplacebo]       subgroup_size:             32
[vo/gpu/vulkan/libplacebo]       min_gather_offset:         -32
[vo/gpu/vulkan/libplacebo]       max_gather_offset:         31
[vo/gpu/vulkan/libplacebo]     Limits:
[vo/gpu/vulkan/libplacebo]       thread_safe:               1
[vo/gpu/vulkan/libplacebo]       callbacks:                 1
[vo/gpu/vulkan/libplacebo]       max_buf_size:              18446744073709551615
[vo/gpu/vulkan/libplacebo]       max_ubo_size:              65536
[vo/gpu/vulkan/libplacebo]       max_ssbo_size:             4294967295
[vo/gpu/vulkan/libplacebo]       max_vbo_size:              18446744073709551615
[vo/gpu/vulkan/libplacebo]       max_mapped_size:           18446744073709551615
[vo/gpu/vulkan/libplacebo]       max_buffer_texels:         134217728
[vo/gpu/vulkan/libplacebo]       align_host_ptr:            4096
[vo/gpu/vulkan/libplacebo]       max_tex_1d_dim:            32768
[vo/gpu/vulkan/libplacebo]       max_tex_2d_dim:            32768
[vo/gpu/vulkan/libplacebo]       max_tex_3d_dim:            16384
[vo/gpu/vulkan/libplacebo]       blittable_1d_3d:           1
[vo/gpu/vulkan/libplacebo]       buf_transfer:              1
[vo/gpu/vulkan/libplacebo]       align_tex_xfer_pitch:      1
[vo/gpu/vulkan/libplacebo]       align_tex_xfer_offset:     4
[vo/gpu/vulkan/libplacebo]       max_variable_comps:        0
[vo/gpu/vulkan/libplacebo]       max_constants:             18446744073709551615
[vo/gpu/vulkan/libplacebo]       max_pushc_size:            256
[vo/gpu/vulkan/libplacebo]       align_vertex_stride:       1
[vo/gpu/vulkan/libplacebo]       max_dispatch[0]:           2147483647
[vo/gpu/vulkan/libplacebo]       max_dispatch[1]:           65535
[vo/gpu/vulkan/libplacebo]       max_dispatch[2]:           65535
[vo/gpu/vulkan/libplacebo]       fragment_queues:           1
[vo/gpu/vulkan/libplacebo]       compute_queues:            1
[vo/gpu/vulkan/libplacebo]     External API interop:
[vo/gpu/vulkan/libplacebo]       UUID: 20:E1:C6:FF:62:D0:ED:47:CE:22:46:F0:C7:B9:8E:CB
[vo/gpu/vulkan/libplacebo]       PCI: 0000:0a:00:0
[vo/gpu/vulkan/libplacebo]       buf export caps: 0x19
[vo/gpu/vulkan/libplacebo]       buf import caps: 0x19
[vo/gpu/vulkan/libplacebo]       tex export caps: 0x11
[vo/gpu/vulkan/libplacebo]       tex import caps: 0x11
[vo/gpu/vulkan/libplacebo]       sync export caps: 0x1
[vo/gpu/vulkan/libplacebo]       sync import caps: 0x0
[vo/gpu/vulkan/libplacebo] Available surface configurations:
[vo/gpu/vulkan/libplacebo]     0: VK_FORMAT_B8G8R8A8_UNORM                 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
[vo/gpu/vulkan/libplacebo]     1: VK_FORMAT_B8G8R8A8_SRGB                  VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
[vo/gpu/vulkan/libplacebo] Picked surface configuration 0: VK_FORMAT_B8G8R8A8_UNORM + VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
[vo/gpu] Testing FBO format rgba16f
[vo/gpu] Using FBO format rgba16f.
[vo/gpu] No advanced processing required. Enabling dumb mode.
[vo/gpu] Assuming 60.000000 FPS for display sync.
[vd] Container reported FPS: 23.976024
[vd] Codec list:
[vd]     h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[vd]     h264_v4l2m2m (h264) - V4L2 mem2mem H.264 decoder wrapper
[vd]     h264_qsv (h264) - H264 video (Intel Quick Sync Video acceleration)
[vd]     h264_cuvid (h264) - Nvidia CUVID H264 decoder
[vd] Opening decoder h264
[vd] No hardware decoding requested.
[vd] Using software decoding.
[vd] Detected 32 logical cores.
[vd] Requesting 16 threads for decoding.
[vd] Selected codec: h264 (H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10)
[vf] User filter list:
[vf]   (empty)
[ad] Codec list:
[ad]     dca (dts) - DCA (DTS Coherent Acoustics)
[ad] Opening decoder dca
[ad] Requesting 1 threads for decoding.
[ad] Selected codec: dca (DCA (DTS Coherent Acoustics))
[af] User filter list:
[af]   (empty)
[cplayer] Starting playback...
[af] [in] 48000Hz 5.1(side) 6ch s32p
[af] [userspeed] 48000Hz 5.1(side) 6ch s32p
[af] [userspeed] (disabled)
[af] [convert] 48000Hz 5.1(side) 6ch s32p
[vd] Using software decoding.
[vd] Decoder format: 1920x1080 yuv420p auto/auto/auto/auto/auto CL=mpeg2/4/h264
[vf] [in] 1920x1080 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[vf] [userdeint] 1920x1080 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[vf] [userdeint] (disabled)
[vf] [autorotate] 1920x1080 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[vf] [autorotate] (disabled)
[vf] [convert] 1920x1080 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[vf] [convert] (disabled)
[vf] [out] 1920x1080 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[ao] Trying audio driver 'pulse'
[ao/pulse] requested format: 48000 Hz, 5.1(side) channels, s32p
[ao/pulse] Library version: 16.1.0
[ao/pulse] Proto: 35
[ao/pulse] Server proto: 4294967295
[ao] Trying audio driver 'alsa'
[ao/alsa] requested format: 48000 Hz, 5.1(side) channels, s32p
[ao/alsa] using ALSA version: 1.2.7.2
[ao/alsa] opening device 'default'
[ao/alsa] trying format s32/10
[ao/alsa] snd_pcm_query_chmaps() returned NULL
[ao/alsa] hw pausing supported: yes
[ao/alsa] buffersize: 4800 samples
[ao/alsa] period size: 1200 samples
[ao/alsa] device buffer: 4800 samples.
[ao/alsa] using soft-buffer of 9600 samples.
[cplayer] AO: [alsa] 48000Hz stereo 2ch s32
[cplayer] AO: Description: ALSA audio output
[autoconvert] inserting resampler
[swresample] format change, reinitializing resampler
[swresample] 48000Hz 5.1(side) s32p -> 48000Hz stereo s32
[swresample] Remix: 5.1(side) -> stereo
[af] [out] 48000Hz stereo 2ch s32
[cplayer] VO: [gpu] 1920x1080 yuv420p
[cplayer] VO: Description: Shader-based GPU Renderer
[vo/gpu] reconfig to 1920x1080 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[vo/gpu] Resize: 1920x1080
[vo/gpu] Window size: 1920x1080 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu] Video source: 1920x1080 (1:1)
[vo/gpu] Video display: (0, 0) 1920x1080 -> (0, 0) 1920x1080
[vo/gpu] Video scale: 1.000000/1.000000
[vo/gpu] OSD borders: l=0 t=0 r=0 b=0
[vo/gpu] Video borders: l=0 t=0 r=0 b=0
[vo/gpu] Texture for plane 0: 1920x1080
[vo/gpu] Texture for plane 1: 960x540
[vo/gpu] Texture for plane 2: 960x540
[vo/gpu] Testing FBO format rgba16f
[vo/gpu] Using FBO format rgba16f.
[vo/gpu] No advanced processing required. Enabling dumb mode.
[vo/gpu] DR enabled: yes
[vo/gpu/vulkan/libplacebo] Spent 46.703 ms translating SPIR-V
[cplayer] first video frame after restart shown
[cplayer] audio ready
[cplayer] starting audio playback
[cplayer] playback restart complete @ 0.000000, audio=playing, video=playing
[ao/alsa] starting AO
[vo/gpu] Resize: 1223x688
[vo/gpu] Window size: 1223x688 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu] Video source: 1920x1080 (1:1)
[vo/gpu] Video display: (0, 0) 1920x1080 -> (0, 0) 1223x688
[vo/gpu] Video scale: 0.636979/0.637037
[vo/gpu] OSD borders: l=0 t=0 r=0 b=0
[vo/gpu] Video borders: l=0 t=0 r=0 b=0
[vo/gpu/x11] Disabling screensaver.
[statusline] AV: 00:00:00 / 02:59:52 (0%) A-V:  0.483
[cplayer] 
[cplayer] Audio/Video desynchronisation detected! Possible reasons include too slow
[cplayer] hardware, temporary CPU spikes, broken drivers, and broken files. Audio
[cplayer] position will not match to the video (see A-V status field).
[cplayer] 
[statusline] AV: 00:00:00 / 02:59:52 (0%) A-V:  1.258
[cplayer] Set property: shared-script-properties -> 1
[statusline] AV: 00:00:00 / 02:59:52 (0%) A-V:  1.775
[cplayer] EOF code: 5  
[vo/gpu/x11] Enabling screensaver.
[cplayer] finished playback, success (reason 3)
[cplayer] 
[cplayer] Exiting... (Quit)

Even though I am getting vo/gpu and vo/gpu/opengl errors, a window still opens, and mpv tries to play the file ... but playback is choppy for about 30 seconds (no chance on audio sync) and then the video starts playing smoothly.  If I scrub/skip to another spot in the file, I get the same symptoms where mpv seems to choke on the video for another 30 seconds or so.

According to mpv's output, possible reasons include:

  • too slow hardware (not likely, I would think; see specs)

  • temporary CPU spikes (I tested this command with nothing else running so I would tend to think this is unlikely as well)

  • broken drivers (I am focusing my efforts here, and have tried nouveau, nvidia-lts, and nvidia-open-dkms)

  • broken files (I have tried various files/containers, but all exhibit the same symptoms)

At this point, I'm running out of ideas.  I also think it's strange that opengl is giving me a "permission denied" error on my video card. 

Hopefully someone has some better ideas than I have tried ... thank you in advance for any help or pointers smile

Offline

#2 2022-09-06 08:23:05

seth
Member
Registered: 2012-09-03
Posts: 51,056

Re: Jittery mpv playback any video

[vo/gpu/opengl] GL_VERSION='4.5 (Core Profile) Mesa 22.1.7'
[vo/gpu/opengl] Detected desktop OpenGL 4.5.
[vo/gpu/opengl] GL_VENDOR='Mesa/X.org'
[vo/gpu/opengl] GL_RENDERER='llvmpipe (LLVM 14.0.6, 256 bits)'
[vo/gpu/opengl] GL_SHADING_LANGUAGE_VERSION='4.50'
[vo/gpu/opengl] Detected suspected software renderer.
[vo/gpu/opengl] Suspected software renderer or indirect context.

You're not running on the nvidia driver, please post your xorg log.

mpv -vo=gpu --video-sync=display-resample

will then help with https://en.wikipedia.org/wiki/Telecine#Telecine_judder (24fps on 60Hz problem)

Offline

#3 2022-09-06 08:45:26

iheartarch
Member
Registered: 2022-09-06
Posts: 6

Re: Jittery mpv playback any video

I cannot seem to locate my xorg log either ... nothing in /var/log, and nothing in ~/.local/share relating to Xorg.

The system is running headless, and I connect via nomachine, which runs /usr/bin/awesome to establish a desktop session.

The logs for awesome are calling mpv this way:

mpv --player-operation-mode=pseudo-gui -- 'file:///media/bigtime/hdb/00800.m2ts'

Incidentally, I did try your mpv command but the results were still the same.

Offline

#4 2022-09-06 08:48:59

iheartarch
Member
Registered: 2022-09-06
Posts: 6

Re: Jittery mpv playback any video

I am not at all "smart" with telling Arch which drivers to use ... I did install nvidia-lts though, and

$ lspci -k | grep -A 2 -E "(VGA|3D)"

told me I was using the nvidia drivers (vice nouveau).

Perhaps I just need to tell Arch to use the nvidia driver?  If I've got mesa (and potentially others), I'm not sure how to do that cleanly hmm

Offline

#5 2022-09-06 08:54:48

seth
Member
Registered: 2012-09-03
Posts: 51,056

Re: Jittery mpv playback any video

GDM?
https://wiki.archlinux.org/title/Xorg#General

Though

The system is running headless, and I connect via nomachine

ahem … yeah, judder is gonna be the least of your problems here.
Also https://wiki.archlinux.org/title/NoMachine:

The free edition allows to connect to an existing X display (also known as display shadowing of a live session with a physical display) or, if no X display is available (e.g. on head-less machines), NoMachine tries to start its own X server with the default Desktop environment automatically. The major limitation of the free edition is that only a single remote desktop session may run on the server.

You're quite likely not even running the Xorg X11 server?

Edit: the kernel module and the x11 driver are separate things.

Last edited by seth (2022-09-06 08:55:46)

Offline

#6 2022-09-06 09:16:30

iheartarch
Member
Registered: 2022-09-06
Posts: 6

Re: Jittery mpv playback any video

seth wrote:

ahem … yeah, judder is gonna be the least of your problems here.

Well, I have run it this way for over 18 months, and never had a problem, even through a shadowed live session.  I'm not sure if the DE is running nomachine's X or Xorg's ... but since I'm not finding any Xorg logs, I have to assume it's nomachine's. 

I did re-build this machine from scratch about a month ago.  I was going to say there's a chance I didn't install xorg, but I did.

And I do only ever have one session running, so I've had no issues there.  Also have a fake HDMI plugged in to help with display detection (not that it matters).

Offline

#7 2022-09-06 09:30:32

iheartarch
Member
Registered: 2022-09-06
Posts: 6

Re: Jittery mpv playback any video

seth wrote:
[vo/gpu/opengl] GL_VERSION='4.5 (Core Profile) Mesa 22.1.7'
[vo/gpu/opengl] Detected desktop OpenGL 4.5.
[vo/gpu/opengl] GL_VENDOR='Mesa/X.org'
[vo/gpu/opengl] GL_RENDERER='llvmpipe (LLVM 14.0.6, 256 bits)'
[vo/gpu/opengl] GL_SHADING_LANGUAGE_VERSION='4.50'
[vo/gpu/opengl] Detected suspected software renderer.
[vo/gpu/opengl] Suspected software renderer or indirect context.

Since I didn't explicitly install Mesa, this is probably nomachine's X.org running my DE.  I've updated the whole system, so I guess there's not much else I can do but wait for nomachine to update their drivers, or find a different remote management solution where I can connect and run mpv through a remote desktop.  nomachine is just so quick and snappy.  I think I've tried XRDP and maybe even X2Go, but wasn't impressed with their performance.

Offline

#8 2022-09-06 10:32:58

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,911

Re: Jittery mpv playback any video

iheartarch wrote:

Since I didn't explicitly install Mesa,

$ pactree --sync --reverse --depth=1 mesa
mesa
├─blur-effect
├─bumblebee
├─cogl
├─deepin-cogl
├─efl
├─emby-theater
├─fbida
├─gala
├─gnujump
├─gst-plugins-base-libs
├─gtk3
├─jumpy
├─kmscon
├─kodi
├─lib32-mesa
├─libglvnd
├─mpv
├─neatvnc
├─pyopencl-headers
├─python-pyopencl
├─qemu-ui-opengl
├─qemu-vhost-user-gpu
├─qt5-base
├─qt6-base
├─retroarch
├─sasteroids
├─slop
├─virglrenderer
├─weston
├─wlroots
├─xf86-video-amdgpu
├─xf86-video-ati
├─xf86-video-intel
├─xf86-video-nouveau
├─xf86-video-vmware
└─xorg-server-devel
$

mpv depends on mesa, so you did install it implicitly .


There should be a /usr/NX/etc/node.cfg file on the server, , please post its content.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#9 2022-09-06 17:52:49

iheartarch
Member
Registered: 2022-09-06
Posts: 6

Re: Jittery mpv playback any video

/usr/NX/etc/node.cfg:

######################################################################
#                                                                    #
#  Copyright (c) 2001, 2022 NoMachine, http://www.nomachine.com.     #
#                                                                    #
#  All rights reserved.                                              #
#                                                                    #
######################################################################

#
# Some configuration keys are used to set specific limits, such as the
# maximum size for the session log. To remove a limitation, set the
# corresponding key to value '0' or 'Unlimited'.

#
# Configuration file format version.
#
ConfigFileVersion 4.0

#
# Specify hostname for the NoMachine node.
#
#NodeName localhost.localdomain

#
# Set log level. Node logs all events that are <= to the level set and
# according to the following convention:
#
# KERN_ERR 3: Error condition.
# KERN_INFO 6: Informational.
# KERN_DEBUG 7: Debug messages.
#
# The suggested values are:
#
# 6: Default value. Only relevant events are logged.
#
# 7: Set the log level to debug.
#
#SessionLogLevel 6

#
# Specify path and name of the command to start a new virtual desktop,
# by default the X session set on the system.
#
#DefaultDesktopCommand "/etc/X11/Xsession default"
DefaultDesktopCommand "/usr/bin/awesome >> ~/.cache/awesome/stdout 2>> ~/.cache/awesome/stderr"

#
# Provide a comma-separated list of session types supported on this
# node host.
#
AvailableSessionTypes unix-remote,unix-console,unix-default,unix-application,physical-desktop,shadow

#
# Set the maximum size, expressed in bytes, allowed for the session
# log. Node terminates the session when this limit is exceeded.
#
#SessionLogLimit 0

#
# Enable or disable the automatic clean-up of session directories at
# the time sessions are terminated.
#
# 1: Enabled. This is the default value.
#
# 0: Disabled. Directories are prefixed by 'T-' and left
#    for further reference.
#
#SessionLogClean 1

#
# Enable or disable node to log the X clients standard error.
#
# 1: Enabled. Stderr of X clients is redirected to 'clients'
#    file in the session directory.
#
# 0: Disabled. Stderr of X clients is redirected to /dev/null.
#
#ClientLog 1

#
# Set the maximum size, expressed in bytes, allowed for the X clients
# log. Node terminates the session when this limit is exceeded.
#
#ClientLogLimit 0

#
# Set the maximum amount of data, in bytes, that can be copied from
# the client to the session. The default value is 0, i.e. unlimited.
#
#ClientClipboardLimit 0

#
# Set the maximum amount of data, in bytes, that can be copied from
# the session to the client. The default value is 0, i.e. unlimited.
#
#ServerClipboardLimit 0

#
# Specify for how long the node has to wait for a reply from NoMachine
# server before considering that the connection with the server has
# been lost. Default value, 120 seconds, lets node wait for 2 minutes.
# Set this value to 0 to disable timeout on the node.
#
#NodeConnectionTimeout 120

#
# Enable or disable disk sharing:
#
# client: Filesystem on the client can be connected on server side and
#         accessed from the session.
#
# server: Filesystem on the server can be connected on the end-user's
#         machine and accessed through the whole life of the session.
#
# both:   Client and server filesystem can be connected on remote and
#         locale respectively.
#
# none:   Neither client or server filesystem can be connected.
#
#EnableDiskSharing both

#
# Specify path of base directory where the node has to mount disks
# accessible only by the user who connected them. Base directory is
# "$(DESKTOP)" by default. $(HOME) and $(USER) are also accepted values
# and can be concatenated to specify path to a directory, for example
# "$(HOME)/Shares". Target directory must exist on the system.
#
#DiskSharingPrivateBasePath "$(DESKTOP)"

#
# Specify path to base directory where the node has to mount user's
# disks which are accessible to users running a session on that server.
# Base directory is "$(PUBLIC)" by default. $(PUBLIC) is /Volumes on Mac
# OS X, /media on Linux, C:\Users\Public on Windows Vista/7/8 and
# %ALLUSERSPROFILE% on XP. $(USER) is an accepted value and can be
# concatenated to specify path to a directory, for example "/tmp/$(USER)".
# Target directory must exist on the system.
#
#DiskSharingPublicBasePath "$(PUBLIC)"

#
# Specify which disks are available to be connected in the session.
# Default value is 'all'. Alternatively, specify path to the disk or
# directory in a list of comma-separated values. $(HOME) and $(USER)
# are accepted values. For example "$(HOME),/Volumes/TimeMachine".
#
#DiskSharingList all

#
# Enable or disable printer sharing
#
# client: Printers on the client can be connected on server side and
#         made available within the session.
#
# server: Printers on the server can be connected on the end-user's
#         machine.
#
# both:   Client and server printers can be connected on remote and
#         locale respectively.
#
# none:   Neither client or server printers can be connected.
#
#EnablePrinterSharing both

#
# Enable or disable usb sharing:
#
# client: USB devices on the client can be forwarded on server side and
#         made available within the session
#
# server: USB devices on the server can be connected on the end-user's
#         machine.
#
# both:   Client and server USB devices can be connected on remote and
#         locale respectively.
#
# none:   Neither client or server USB devices can be connected.
#
#EnableUSBSharing both

#
# Enable or disable network services sharing:
#
# client: Network servers on client side can be added and made available
#         within the session.
#
# server: Network server on the server side can be added and made
#         available on the end-user's machine.
#
# both:   Network servers from client and server side can be connected
#         on remote and locale respectively.
#
# none:   Neither client or server side network servers can be
#         connected.
#
#EnableNetworkSharing both

#
# Enable or disable connecting a smartcard reader:
#
# 1: Enabled. The smartcard reader plugged on client side can be
#             forwarded to server side.
#
# 0: Disabled. The smartcard reader cannot be forwarded.
#
EnableSmartcardSharing 1

#
# Enable or disable file transfer:
#
# client: Files can be transferred from client machine to the
#         server.
#
# server: Files can be sent from the server to users.
#
# both:   Client and server files can be transferred on remote and
#         locale respectively.
#
# none:   Neither client or server files can be transferred.
#
#EnableFileTransfer both

#
# Specify which audio interface should be used to provide sound in
# sessions. Key values depend on the hosting operating system and can
# be 'pulseaudio', 'alsa' or 'disabled' on Linux, and 'nxaudio' or
# 'disabled' on Windows and Mac OS X.
#
AudioInterface alsa

#
# Specify path and name of the command to start PulseAudio server.
#
#CommandStartPulseAudio ""

#
# Enable or disable CUPS support. This doesn't apply to Windows plat-
# forms. This key is obsolete and used only for retro compatibility.
#
# 1: Enabled. Enable CUPS support.
#
# 0: Disabled. Disable CUPS support.
#
EnableCUPSSupport 0

#
# Specify the path of the directory holding CUPS binaries (e.g. the
# 'lpoptions' program). This key is obsolete and used only for retro
# compatibility.
#
CUPSBinPath ""

#
# Specify the path of the directory holding CUPS programs and reserved
# for administrative purposes (e.g. 'cupsd' or 'lpadmin'). This key is
# obsolete and used only for retro compatibility.
#
CUPSSbinPath ""

#
# Specify the path of directory holding the CUPS backend. This key is
# obsolete and used only for retro compatibility.
#
CUPSBackendPath ""

#
# Specify path of base directory where the node has to mount shares
# exported by the user. Default value is $(HOME)/MyShares. This key
# is obsolete and used only for retro compatibility.
#
#ShareBasePath $(HOME)/MyShares

#
# Allow node to use the CIFS (SMB) file-sharing protocol to attach the
# filesystem to the target directory. This key is obsolete and used
# only for retro compatibility.
#
# 1: Enabled. Node uses smbfs to mount and unmount client shares.
#
# 0: Disabled. Node forbids any attempt to mount shares via smbfs.
#
EnableSMBFSSupport 0

#
# Specify path and name of the command to start 'GNOME'. This doesn't
# apply to Windows and Mac OS X platforms.
#
#CommandStartGnome ""

#
# Specify path and name of the command to start 'KDE'. This doesn't
# apply to Windows and Mac OS X platforms.
#
#CommandStartKDE ""

#
# Specify path and name of the command to start 'CDE'. This applies to
# Solaris SPARC platforms only.
#
#CommandStartCDE cdwm

#
# Specify path and name of the command to start the RFB Client. If the
# Server supports VNC sessions, set this key to "vncviewer -fullscreen"
# to use the vncviewer client.
#
#CommandStartRFB ""

#
# Specify path and name of the command to start the RDP Client. If the
# Server supports RDP sessions, set this key to "rdesktop -f" to use
# the rdesktop client.
#
#CommandStartRDP ""

#
# Specify the domain of the Windows Terminal Server.
#
#DefaultRDPDomain ""

#
# Specify path and name of the command 'fuser' to identify processes
# using files or sockets.
#
CommandFuser /usr/bin/fuser

#
# Specify path and name of the command 'lsof' to list open files. This
# doesn't apply to Windows and Mac OS X platforms.
#
CommandLsof /usr/bin/lsof

#
# Specify path and name of the client program to be run by the node,
# for example for issuing dialog boxes and messages, instead of the
# default nxclient program.
#
#CommandClient /usr/NX/bin/nxclient

#
# Specify path and name of the command 'xauth' to edit and display
# the authorization information used when connecting to the X server.
#
#CommandXauth /usr/NX/bin/nxauth

#
# Specify path and name of the command 'xdpyinfo' for displaying info-
# rmation about an X server.
#
#CommandXdpyInfo xdpyinfo

#
# Specify path and name of the command 'xmodmap' to edit and display
# the keyboard modifier map and keymap table.
#
#CommandXmodmap xmodmap

#
# Enable or disable use of 'xkbcomp' command:
#
# 1: Enabled. Use 'xkbcomp' command.
#
# 0: Disabled.
#
#EnableCommandXkbComp 1

#
# Specify path and name of the command 'xkbcomp' to compile XKB key-
# board description.
#
#CommandXkbComp xkbcomp

#
# Specify location and file name of the keymap file used by 'xkbcomp'.
#
#XkbCompKeymapFile /etc/X11/xkb/keymap/xfree86

#
# Enable or disable loading VirtualGL libraries when starting virtual
# desktops on Linux.
#
# 1: Enabled. This make OpenGL applications able to use server side
#             graphics hardware.
#
# 0: Disabled. VirtualGL libraries are not loaded.
#
#EnableVirtualGLSupport 0

#
# By default the agent only uses the X11 system fonts, uncomment this
# key to enable use of an X Font Server.
#
#AgentFontServer unix/:7100

#
# Specify the path of default X window system startup script. This
# doesn't apply to Windows and Mac OS X platforms.
#
DefaultXSession "/etc/X11/Xsession default"

#
# Set the default DPI of the X server to the specified value. This
# should normally not be required, but some less recent desktop appli-
# cations fail to set an appropriate value and fall back to 75 DPI,
# which is the default value reported by the X server.
#
#DefaultXDPI 96

#
# Specify path of libraries to be added to the NoMachine agent environ-
# ment. Be sure that NoMachine libraries are listed first.
#
#AgentLibraryPath /lib

#
# Specify a list of comma-separated options to be added to NoMachine
# proxy transport.
#
#ProxyExtraOptions

#
# Append arguments to the command used by the Node to load the display
# server program.
#
# Multiple parameters can be specified by separating them with a blank
# character. For security reasons, no shell interpretation is made.
#
#DisplayServerExtraOptions

#
# Append arguments to the command used by the Node to load the display
# agent connected to the display server.
#
# Multiple parameters can be specified by separating them with a blank
# character. For security reasons, no shell interpretation is made.
#
#DisplayAgentExtraOptions

#
# Specify the screen capture methods to be used for sharing a Wayland
# desktop as a comma-separated list in order of preference. Available
# methods are:
#
# drm:        Copy screen buffers through Direct Rendering Manager.
# compositor: Request screen sharing to the desktop compositor.
# egl:        Use the EGL screen capture method.
#
#WaylandModes drm,compositor,egl

#
# Specify how clients will have to contact the node, by default by
# the NX service. To allow for multiple methods, specify them in a
# comma-separated list. Supported methods are: NX and SSH.
#
ClientConnectionMethods NX,SSH

#
# Specify the location and name of the SSH authorized keys file.
#
#SSHAuthorizedKeys $(HOME)/.ssh/authorized_keys2

#
# Specify the message to be shown to the user when the user starts a
# virtual desktop on this host for the first time.
#
#NodeFirstLoginGreeting "Welcome to your NoMachine session"

#
# Specify the message to be shown to the user every time the user
# starts a new virtual desktop on this host.
#
#NodeLoginGreeting "Welcome to your NoMachine session"

#
# Specify a different path to the default home to create the .nx
# directory for storing session files and user's logs. This doesn't
# apply to the nx user, the NoMachine reserved user necessary for
# internal operation. If it doesn't exist yet, a sub-directory is
# created for the user who's starting a session, named as username.
# The .nx directory is created under that sub-directory. E.g. if this
# key is set to /tmp/nxdir/, when user nxtest runs the first session,
# the /tmp/nxdir/nxtest/.nx will be created. The directory specifed
# in the UsersDirectoryPath key should be writeable for all users or
# alternatively, the administrator should create a directory with
# proper ownership and permissions, named as username, for each of
# the users who need to start sessions there.
#
#UsersDirectoryPath ""

#
# Specify absolute path of the custom script to be executed before
# the session start-up. The script can accept session ID, username,
# session type and display as its input.
#
# E.g. UserScriptBeforeSessionStart /tmp/nxscript/script.sh
#
#UserScriptBeforeSessionStart ""

#
# Specify absolute path of the custom script to be executed after the
# session start-up. The script can accept session ID, username, ses-
# sion type and display as its input.
#
#UserScriptAfterSessionStart ""

#
# Specify absolute path of the custom script to be executed before
# the session is disconnected. The script can accept session ID, user-
# name, session type and display as its input.
#
#UserScriptBeforeSessionDisconnect ""

#
# Specify absolute path of the custom script to be executed after the
# session is disconnected. The script can accept session ID, username,
# session type and display as its input.
#
#UserScriptAfterSessionDisconnect ""

#
# Specify absolute path of the custom script to be executed before the
# session is closed. The script can accept session ID, username, ses-
# sion type and display its input.
#
#UserScriptBeforeSessionClose ""

#
# Specify absolute path of the custom script to be executed after the
# session is closed. The script can accept session ID, username, ses-
# sion type and display its input.
#
#UserScriptAfterSessionClose ""

#
# Specify absolute path of the custom script to be executed before
# the session is reconnected. The script can accept session ID, user-
# name, session type and display as its input.
#
#UserScriptBeforeSessionReconnect ""

#
# Specify absolute path of the custom script to be executed after the
# session is reconnected. The script can accept session ID, username,
# session type and display as its input.
#
#UserScriptAfterSessionReconnect ""

#
# Specify absolute path of the custom script to be executed after
# session failure. The script can accept session ID, username, ses-
# sion type and display as its input.
#
#UserScriptAfterSessionFailure ""

#
# Specify path and name to the script to be executed before starting
# the virtual desktop or custom session in order to set environment
# variables in the NoMachine session. Use the following template:
# /NX/scripts/env/nxvdvariables.sh to create
# your own script and place it in a directory accessible by the user,
# e.g: VirtualDesktopVariables /opt/nxscripts/nxvdvariables.sh.
#
#VirtualDesktopVariables ""

#
# Specify absolute path of the custom script to be executed after the
# remote screen is resized. The script can accept session ID, user-
# name, session type, display, width and height as its input.
#
#UserScriptAfterRemoteResize ""

#
# Specify how many CPU cores the display server will use to encode
# display updates. The default value 'auto' allows NoMachine to use
# a default number of threads based on the available cores.
#
DisplayServerThreads auto

#
# Specify how many CPU cores the encoder will use to encode display
# updates. The default value 'auto' allows NoMachine to use a default 
# number of threads based on the available cores.
#
DisplayEncoderThreads auto

#
# Allow NoMachine to use a specific codec to encode videos or rely on
# its ability to choose the codec depending on network and hardware
# capabilities:
#
# 1: Enabled. Nomachine always uses the specified codec.
#
# 0: Disabled. NoMachine automatically adapts to network conditions
#    and the available hardware.
#
#EnableDisplayServerVideoCodec 0

#
# Specify the codec to be used for encoding displays. Accepted
# values are 'vp8','h264'and 'mjpeg'.
#
#DisplayServerVideoCodec vp8

#
# Specify the video frame rate for encoding displays. All values
# starting from '1' are accepted. Suggested values are '30', '40'
# '50' and '60'.
#
#DisplayServerVideoFrameRate 30

#
# Allow NoMachine to use a specific frame rate to encode displays or
# rely on its ability to choose automatically a frame rate depending
# on network conditions.
#
# 1: Enabled. Nomachine uses only the specified frame rate.
#
# 0: Disabled. NoMachine automatically chooses a frame rate.
#
#DisplayServerUseVideoFrameRate 0

#
# Enable or disable the debug tool when the node program is launched.
#
# 1: Enabled. The debug tool specified in the CommandDebug key will
#    be run to debug the node program. This can slow down the exe-
#    cution of the node.
#
# 0: Disabled. Debug tool is not run.
#
#EnableDebug 0

#
# Specify absolute path of the command to launch a debug tool.
#
#CommandDebug ""

#
# Specify path and commands of the debug tool in a comma-separated
# list, e.g. accepted command for Valgrind is '/usr/bin/valgrind.bin'.
#
#AcceptedDebuggerCommands /usr/bin/valgrind.bin

#
# Append arguments to the command used by the Node to launch the
# debug tool
#
# Multiple parameters can be specified by separating them with a blank
# character. For security reasons, no shell interpretation is made.
#
#DebugOptions ""

#
# Specify process execution priority for the display server loaded by
# the Node. Accepted values are:
#
# low:      process has niceness 19 on Linux and OS X and idle prio-
#           rity on Windows. This is the least favourable scheduling.
#
# normal:   process has niceness 0 set on Linux and OS X and normal
#           priority class on Windows.
#
# high:     process has niceness -10 set on Linux and OS X and high
#           priority class on Windows.
#
# realtime: process has niceness -20 set on Linux and OS X and real
#           time priority class on Windows. This is the most favourable
#           scheduling.
#
#DisplayServerPriority realtime

#
# Specify process execution priority for the display agent loaded by
# the Node and connected to the display server. Accepted values are:
#
# low:      process has niceness 19 on Linux and OS X and idle prio-
#           rity on Windows. This is the least favourable scheduling.
#
# normal:   process has niceness 0 set on Linux and OS X and normal
#           priority class on Windows.
#
# high:     process has niceness -10 set on Linux and OS X and high
#           priority class on Windows.
#
# realtime: process has niceness -20 set on Linux and OS X and real
#           time priority class on Windows. This is the most favourable
#           scheduling.
#
#DisplayAgentPriority realtime

#
# Enable or disable the server forbidding a file transfer when the
# size of the file to be uploaded exceeds the configured limit.
#
# 1: Enabled. The server doesn't allow to transfer a file when
#    its size exceeds the configured limit.
#
# 0: Disabled. File transfer is always allowed, even when the file
#    is largen than the size limit.
#
#EnableUploadSizeLimit 0

#
# Set the maximum size for files that can be transferred during the
# upload, in bytes. The default value is 104857600 B, 100MB.
#
#UploadSizeLimit 104857600

#
# Enable or disable the server forbidding a file transfer when the
# size of the file to be downloaded exceeds the configured limit.
#
# 1: Enabled. The server doesn't allow to transfer a file when
#    its size exceeds the configured limit.
#
# 0: Disabled. File transfer is always allowed, even when the file
#    is largen than the size limit.
#
#EnableDownloadSizeLimit 0

#
# Set the maximum size for files that can be transferred during the
# download, in bytes. The default value is 104857600 B, 100MB.
#
#DownloadSizeLimit 104857600

#
# Specify path of base directory where the node has to save files
# uploaded to the server. Base directory is "$(DESKTOP)" by default.
# $(HOME) and $(USER) are also accepted values and can be concatenated
# to specify path to a directory, for example "$(HOME)/Shares".
# Target directory must exist on the system.
#
#FileTransferSavePath "$(DESKTOP)"

#
# Enable or disable saving a transferred file to the specified directory.
#
# 1: Enabled. Given the path to be used, the server always save a
#    transferred file to that directory.
#
# 0: Disabled. User is always asked where to save the transferred
#    file.
#
#FileTransferSaveForcePath 0

#
# Enable or disable the ability of recording activities on the local
# desktop:
#
# 1: Enabled. User can create a video of the local desktop and save it
# on their local device.
#
# 0: Disabled. Recording of the local desktop is disabled.
#
#EnableLocalRecording 1

#
# Enable or disable the ability of recording session activities:
#
# 1: Enabled. User can create a video of the session and save it
#    on their local device.
#
# 0: Disabled. Session recording option is disabled.
#
#EnableSessionRecording 1

#
# Enable or disable the whiteboard and chat tool in the Monitor tool.
#
# 1: Enabled. User can run the whiteboard from the Monitor menu.
#
# 0: Disabled. Item 'Show the whiteboard' is not accessible in the
#    monitor menu.
#
#EnableWhiteboard 1

#
# Enable or disable displaying the icon of the Monitor application
# in the system tray.
#
# 1: Enabled. The Monitor icon is visible in the system tray.
#
# 0: Disabled. The Monitor icon is hidden. A notification
#    dialog is issued when users are connecting.
#
#DisplayMonitorIcon 1

#
# Enable or disable displaying the Monitor balloon messages issued to
# notify about events like user's disconnection or user's requests
# for connecting.
#
# 1: Enabled. A balloon message pops-up each time a user disconnects,
#    a connection request arrives or a user disconnects.
#
# 0: Disabled. The Monitor doesn't issue balloon messages to notify
#    about connection or disconnection events.
#
#DisplayMonitorNotifications 1

#
# Enable or disable support for DirectX applications, including games
# running in fullscreen mode.
#
# 1: Enabled. DirectX output is captured and processed.
#
# 0: Disabled. Ignore output of DirectX applications.
#
EnableDirectXSupport 0

#
# Specify the physical display or range of X server displays which are
# made available to NoMachine connections. It is possible to specify a
# single display by display number, e.g. :0, or by port, e.g. 6000.
# Range of displays can be specified as a dash separated list,
# e.g. :0-:7 or, by port number, 6200-6204. By default all displays
# detected as running will be made available for users.
#
#PhysicalDisplays :0

#
# X-Window sessions will only use the X protocol compression. Depend-
# ing on the application, this may require less bandwidth and comput-
# ing resources.
#
# 1: Enabled. Enable X11 vector graphics mode.
#
# 0: Disabled. Disable X11 vector graphics mode.
#
#AgentX11VectorGraphics 1

#
# Enable or disable playing a sound alert when there is an event.
#
# 1: Enabled.  Play a sound when an event occurs, for example
#              when the user connects to the physical desktop.
#              This is the default.
#
# 0: Disabled. Disable acoustic alert.
#
#EnableSoundAlert 1

#
# Enable or disable access to the server status interface.
#
# 1: Enabled. Users can access the server status interface and the
#    provided functionalities. The system  will request administrative
#    credentials for the host machine to allow users to display any
#    security sensitive information or change the settings. This is
#    the default.
#
# 0: Disabled. The 'Server status' item will not be accessible in
#    the system tray menu.
#
#EnableServerStatus 1

#
# Enable or disable access to the server preferences.
#
# 1: Enabled. Users can access the server preferences. The system
#    will request administrative credentials for the host machine
#    to allow users to change the settings. This is the default.
#
# 0: Disabled. Users will not have access to the server preferences.
#
#EnableServerPreferences 1

#
# Force legacy X11 keyboard support. Enabling this option the display
# server will build the keyboard map using the X11 keycodes, even when
# evdev Linux input driver is supported. The default is to use evdev
# on node machines where it is available.
#
# 1: Enabled. Always use X11 keycodes even if evdev is supported.
#
# 0: Disabled. Use evdev if supported or fall back to X11 keycodes.
#
#AgentLegacyKeyboard 0

#
# Specify path to libraries to be added to the command for starting
# a new virtual desktop.
#
#DesktopCommandLibraryPath ""

#
# Specify the default console system startup script. This
# doesn't apply to Windows and Mac OS X platforms.
#
#DefaultConsole ""

#
# Enable or disable logging to the system log file, e.g. syslog
# on UNIX based systems and Events log on Windows platforms.
#
# 1: Enabled. The node will log to the system log file.
#
# 0: Disabled. This is the default value, the node will log to
#    the home of the session owner or to the path specified in
#    the CommonLogDirectory key, if enabled.
#
#EnableSyslogSupport 0

#
# Set how often the server has to renew the Kerberos tickets and AFS
# tokens to let users keep their Kerberos credentials inside the
# session. The default value, 600 seconds, makes the server renew
# tickets each 10 minutes. Multiples of 30 are accepted, 30 seconds
# is the minimum value. Value must be lower than the maximum lifetime
# set on the system for Kerberos credentials.
#
#KerberosCredentialsRenewal 600

#
# Enable or disable use of the hardware encoder.
#
# 1: Enabled. Use the hardware encoder if supported by the graphics
#    card.
#
# 0: Disabled. Don't use the hardware encoder.
#
#EnableHardwareEncoding 1

#
# Specify the rate control mode for the encoder. Default is 'auto',
# let NoMachine choose automatically the best option. When 'bitrate'
# is set, the encoder will try to give priority to match the target
# bitrate over quality. When 'quality' is set, the encoder will try
# to give priority to match the target quality over bitrate.
#
#EncoderMode auto

#
# Set the DS (Differentiated Services) 8-bit field, previously known
# as ToS (Type of Service), at the IP network layer. Valid values are
# numbers from 0 to 255 in decimal or hexadecimal format (0x00-0xff).
# The six most significant bits should be set to the DSCP values recom-
# mended by RFC-2597 and RFC-2598 (e.g. use 72 or 0x48 for DSCP Class
# AF21). The two least significative bits should be set to 0. It is
# also possible to use the obsolete ToS flags (e.g. 16 or 0x10 for the
# LOWDELAY behaviour).
#
#ProxyPacketPriority 0x48

#
# Enable or disable the server to execute single commands through
# D-Bus. This key applies only to Linux platforms.
#
# 1: Enabled. The node will use dbus-launch to run single commands
#    such as gnome-terminal. This is required on those distributions
#    which rely on dbus-launch for standard X session in order to let
#    users run NoMachine custom sessions.
#
# 0: Disabled. Do not use dbus-launch for executing single commands.
#
#EnableDbusLaunch 0

#
# Show or hide the item in the Monitor tool for enabling or disabling
# accepting connections to this physical desktop.
#
# 1: Enabled. The Accepting connection item is shown in the Monitor
#    menu. The desktop owner can switch screen-sharing on/off.
#
# 0: Disabled. The Accepting connection item is not displayed in the
#    Monitor menu.
#
#EnableAcceptingConnection 1

#
# Specify if printers will be visible among all connected users or
# available only for the single user. By default printers are all
# public.
#
# 1: Enabled. User can choose to connect the printer in a public or
#    in a private way. This is the default. If the printer is public,
#    it's accessible to all users running a sessions on this host.
#
# 0: Disabled. Users can connect a printer only in a private way. The
#    printer is accessible to the user who connected it.
#
#EnablePublicPrinter 1

#
# Specify if users can connect their disks publicly or privately or
# only privately.
#
# 1: Enabled. User can choose to connect the disk in a public or
# in a private way. This is the default. When the disk is public,
# it's accessible to all users running a sessions on this host.
# It's mounted in the directory set by DiskSharingPublicBasePath.
#
# 0: Disabled. Users can mount the disk only in a private way. Disks
# are mounted in the directory set by DiskSharingPrivateBasePath
# and are accessible only by the user who connected them.
#
#EnablePublicDiskSharing 1

#
# Specify the absolute path on the server where session recordings
# will be saved, by default %PROGRAMDATA%/NoMachine/var/recording
# on Windows, /Library/Application Support/NoMachine/var/recording
# on macOS and /usr/NX/var/recording/ on Linux.
#
#NXRecordingDirectory /usr/NX/var/recording

#
# Enable or disable EGL screen capture when connecting to a physical
# display on Linux.
#
# 1: Enabled. Use EGL to grab the physical display. This setting is
#    effective only when the desktop environment is Wayland-based.
#
# 0: Disabled. Do not use EGL for screen capture.
#
#EnableEGLCapture 0

#
# Specify path to the directory where NoMachine programs have to log.
# The log directory must be writable by all users who connect by
# NoMachine. By default, nxserver and nxerror log files are stored
# in the .nx directory under the home of session owner. When this key
# is set, they are stored to the given path and in a unique log file.
# Session logs are stored in sub-directories reporting the display
# number and session id of the correspondent session.
#
#CommonLogDirectory ""

#
# Enable or disable the automatic logout of the user from the system
# upon disconnection of the NoMachine session.
#
# 1: Enabled. NoMachine will execute the forcelogout.sh script. The
#    automatic logout can be effective only if the command set in
#    script is appropriate for the system.
#
# 0: Disabled. When disconnecting the NoMachine session, the user is
#    not automatically logged out of the system.
#
#LogoutOnDisconnect 0

#
# Delay the execution of the logout command when 'LogoutOnDisconnect'
# is enabled. By default timeout is set to 0, i.e. the forcelogout.sh
# script is executed immediately as soon as the user disconnects the
# session. Specify a delay in seconds, for example 600 to execute the
# logout after ten minutes.
#
#LogoutOnDisconnectTimeout 0

Last edited by iheartarch (2022-09-06 17:53:20)

Offline

#10 2022-09-06 18:25:57

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,911

Re: Jittery mpv playback any video

You need to change the DefaultDesktopCommand and verify several other things .
See https://wiki.archlinux.org/title/NoMach … ess_server

You should also consider enabling VirtualGLsupport .

#
# Enable or disable loading VirtualGL libraries when starting virtual
# desktops on Linux.
#
# 1: Enabled. This make OpenGL applications able to use server side
#             graphics hardware.
#
# 0: Disabled. VirtualGL libraries are not loaded.
#
#EnableVirtualGLSupport 0

Last edited by Lone_Wolf (2022-09-06 18:26:46)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#11 2022-09-06 21:44:16

WorMzy
Forum Moderator
From: Scotland
Registered: 2010-06-16
Posts: 11,846
Website

Re: Jittery mpv playback any video

Just throwing this out there in case it helps, but I also had similar problems. The problem *seems* to have been caused by either a change in pulseaudio, or alsa-ucm in July, which caused the audio output on my X570S motherboard to be treated as a surround sound output (which it is certainly capable of supporting, but muggins here only has a bog standard left and right speaker setup).

I don't understand why, but it seems the fact that only two of the audio channels were connected to an output (i.e. front left, and front right) meant that my videos were dropping frames, and audio and video were getting desynced. Also, any videos that made use of more than those channels (FL/FR) sounded like they were under water. I solved the issue by wiping out my ~/.config/pulse directory and following https://wiki.archlinux.org/title/PulseA … %22HiFi%22


Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD

Making lemonade from lemons since 2015.

Offline

Board footer

Powered by FluxBB