Jump to content

robertoj

Members
  • Posts

    512
  • Joined

  • Last visited

Posts posted by robertoj

  1. I noticed this problem a long time ago, but now I feel it is important to fix it:

     

    I get a slim black bar on the left side, and a portion of the pixels on the right get "cropped" because they don't fit in the LCD display area?

     

    I get the left 2 pixels of the screen "cropped", so in console, the first left-side are always missing the left pixels.

     

    Do you get the same in your LCD? Do you know a way to fix it? I am talking about this LCD: RED PCB LCD https://www.aliexpress.us/item/3256802847521952.html?

  2. In that case, dont try my solution: it is for the red ili9341.

     

    If you search ili9486 threads in this forum, that same blue LCD is ili9486... so you were wrong in calling it ili9341 in the first place :)

     

    If you have time, find another solution to get you a DRM frambuffer (instead of a classic FB). Then you can enjoy smoother animations and video.

     

    Regarding displaying boot messages to the LCD, instead of HDMI. I don't know, but it may be because your HDMI is /dev/fb0 and the LCD is /dev/fb1

     

    Will you use X11?

  3. If anyone in interested in a lightweight wayland desktop, inspired by openbox, you should try labwc.

     

    In orange pi zero 3, we need to stay in bookworm to get video acceleration, so this guide helps build labwc in bookworm :thumbup:

     

    As a greeter, I chose pi-greeter, because it is the lightest login manager I could setup, without any X11

     

    https://github.com/robertojguerra/opiz3-labwc-setup

     

    I am open to read any improvements, or show me how I could make deb packages.

     

    In the near future, I will make a step-by-step video tutorial in Youtube.

  4. Dont write that "fbi works correctly", when it is not.

     

    The display remains white, and the kernel doesn't show any errors.

     

    * Re-check your wiring

    * Disconnect the touch part of the LCD pins

    * Try reversing the polarity:

    dc-gpios = <&pio 2 6 1>;   << change the 1 to 0
    reset-gpios = <&pio 2 9 1>;  << change the 1 to 0

     

    If the CPU is successful sending the reset signal, the data/command, the chip select and any bytes through SPI, at least the LCD should turn black.

     

  5. I got my issue resolved with labwc+greetd+nwg-hello

     

    See this link https://github.com/nwg-piotr/nwg-hello/issues/43

     

    Please check it and post any corrections if needed

     

    Getting rpi-greeter (no python) and wf-panel-pi (combines panel and launcher in compact form) would be ideal, but not resolved yet.

     

    If anyone is interested in getting rpi-greeter working, this is my partial progress, and I still cannot make it start under lightdm, without any X11:

     

    sudo apt install lightdm accountsservice polkitd

    sudo apt install libgtk-layer-shell-dev librsvg2-common

    sudo apt install gnome-common gobject-introspection gir1.2-gtk-3.0

     

    These might be needed. I installed them the day after I installed greetd and ngw-hello. Note: I am working from a minimal debian trixie image

    appmenu-gtk-module-common libaccountsservice-dev gir1.2-accountsservice-1.0 liblightdm-gobject-dev liblightdm-gobject-1-0 libgtk-3-dev gnome-common nasm

     

    ~$ mkdir rpi-greeter ; cd rpi-greeter

    wget https://github.com/raspberrypi-ui/pi-greeter/archive/refs/heads/master.zip

    unzip master.zip ; cd rpi-greeter-master

    autogen.sh

    ./configure

    make

    sudo make install

     

    Change /etc/lightdm/lightdm.conf with:

    greeter-session=pi-greeter-labwc

     

    Test with:

    $ sudo lightdm --test-mode --debug

    or

    $ sudo systemctl start lightdm

    $ journalctl -b -u lightdm.service

    The error is:

     

    Oct 13 22:01:49 orangepizero3 lightdm[845]: Error updating user /org/freedesktop/Accounts/User1000: GDBus.Error:org.freedesktop.Accounts.Error.PermissionDenied: Not authorized: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.PolicyKit1 was not provided by any .service files

     

    DEBUG: Could not run plymouth --ping: Failed to execute child process ?plymouth? (No such file or directory)

     

    I think I am very close to getting rpi-greeter working. What could be missing?

     

    I see that in a raspberry pi, the folder /etc/xdg/labwc-greeter/ exists, with 3 files inside, but in armbian, it doesn't exist. Should it be created by sudo make install?

     

    sudo nano /var/log/lightdm/lightdm.log:

    Nothing weird. Only:

    [+0.07s] DEBUG: Session pid=6392: Running command /usr/bin/labwc -C /etc/xdg/labwc-greeter/ (and this folder /etc/xdg/labwc-greeter/ does not exist)

    In raspberry: /etc/xdg/labwc-greeter/ contains autostart, rc.xml and environment

     

    sudo nano /var/log/lightdm/seat0-greeter.log:

    ** (process:6392): WARNING **: 00:23:07.745: Failed to open CK session: GDBus.Error:org.freedesktop.DBus.E>
    00:00:00.000 [ERROR] [../src/main.c:202] XDG_RUNTIME_DIR is unset

     

    The etc/xdg/labwc-greeter/autostart, etc files come from a package named raspberrypi-ui-mods

    (raspberry$ dpkg -S /etc/xdg/labwc-greeter/autostart)

    What part of https://github.com/raspberrypi-ui/raspberrypi-ui-mods would get my lightdm+labwc+rpigreeter working?

     

    Copying the /etc/xdg/labwc-greeter/ folder with the 3 files, with the same permissions, allow the pi-greeter to display (it is very plain), but after entering the password, the text mode display shows for 2 seconds, then the labwc black background and cursor shows for 1/4 second, then returns to the login screen.

     

    Found this error in the log:

    /etc/xdg/labwc-greeter//autostart: 2: /usr/bin/kanshi: not found

     

    Final part of solution:

    lightdm should contain:

    user-session=LXDE-pi-labwc

     

    Create file /usr/share/wayland-sessions/ LXDE-pi-labwc.desktop:

    [Desktop Entry]
    Type=Application
    Name=Labwc Desktop on Wayland
    Exec=/usr/bin/labwc

     

    rpi-greeter does not allow selection of other sessions: only labwc

  6. On 10/5/2025 at 12:34 PM, jock said:

    mpv official github repo. v4l2request commits are in a pull request.

     

    Hello Jock,

    Can you confirm that you use the patch in mpv PR1460, or something else?

     

    --vo=gpu or -vo=gpu-next?

    I installed mesa-vulkan-drivers today, with some difference in the mpv log, but same performance

     

    I also get:

    [vo/gpu-next/libplacebo] Found no suitable device, giving up.
    [vo/gpu-next/libplacebo] Failed initializing vulkan device

    and ...

    Spoiler

    ...

    [vo/gpu-next] Assuming 59.962844 FPS for display sync.
    [vd] Container reported FPS: 29.970030
    [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_cuvid (h264) - Nvidia CUVID H264 decoder
    [vd] Opening decoder h264
    [vd] Looking at hwdec h264-v4l2request...
    [vo/gpu-next] Loading hwdec drivers for format: 'drm_prime'
    [vo/gpu-next] Loading hwdec driver 'drmprime'
    [vo/gpu-next/drmprime] Using EGL dmabuf interop via GL_EXT_EGL_image_storage
    [vo/gpu-next/drmprime] Using DRM device: /dev/dri/renderD128
    [vo/gpu-next] Loading hwdec driver 'drmprime-overlay'
    [vo/gpu-next/drmprime-overlay] Failed to retrieve DRM fd from native display.
    [vo/gpu-next] Loading failed.
    [vo/gpu-next] Loading hwdec driver 'v4l2request'
    [vo/gpu-next/v4l2request] Using EGL dmabuf interop via GL_EXT_EGL_image_storage
    [vo/gpu-next] Loading hwdec driver 'v4l2request-overlay'
    [vo/gpu-next/v4l2request-overlay] Failed to retrieve DRM fd from native display.
    [vo/gpu-next] Loading failed.
    [vd] Trying hardware decoding via h264-v4l2request.
    [vd] Requesting 4 threads for decoding.
    [vd] Selected decoder: h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
    [vf] User filter list:
    [vf]   (empty)
    [ad] Codec list:
    [ad]     aac - AAC (Advanced Audio Coding)
    [ad]     aac_fixed (aac) - AAC (Advanced Audio Coding)
    [ad] Opening decoder aac
    [ad] Requesting 1 threads for decoding.
    [ad] Selected decoder: aac - AAC (Advanced Audio Coding)
    [af] User filter list:
    [af]   (empty)
    [cplayer] Starting playback...

     

    Does it matter?

    If I want to test the latest libplacebo route (with git clone https://code.videolan.org/videolan/libplacebo.git...) do I need to uninstall libplacebo and libplacebo-dev?

  7. I was successful in compiling mpv-0.3.9 + the 2 patches from PR14690.

     

    I downloaded the release mpv as a tar.gz, expanded it, and applied the 2 patches. One hunk failed but it wasnt needed

     

    A 720p h264 video played with 10% CPU: (note that the options are --hwdec=v4l2request --drm-drmprime-video-plane=primary --drm-draw-plane=overlay -v

     

    Spoiler

    roberto@orangepizero3:~/mpv-official/mpv-0.39.0$ DISPLAY=:0.0 ./build/mpv --hwdec=v4l2request --drm-drmprime-video-plane=primary --drm-draw-plane=overlay -v ~/donde\ venderan\ buen\ trago\ 720p.mp4 
    [cplayer] Command line options: '--hwdec=v4l2request' '--drm-drmprime-video-plane=primary' '--drm-draw-plane=overlay' '-v' '/home/roberto/donde venderan buen trago 720p.mp4'
    [cplayer] mpv 0.39.0 Copyright © 2000-2024 mpv/MPlayer/mplayer2 projects
    [cplayer]  built on Oct 10 2025 10:05:25
    [cplayer] libplacebo version: v7.349.0
    [cplayer] FFmpeg version: 7.1.2-0+deb13u1
    [cplayer] FFmpeg library versions:
    [cplayer]    libavcodec      61.19.101
    [cplayer]    libavdevice     61.3.100
    [cplayer]    libavfilter     10.4.100
    [cplayer]    libavformat     61.7.100
    [cplayer]    libavutil       59.39.100
    [cplayer]    libswresample   5.3.100
    [cplayer]    libswscale      8.3.100
    [cplayer] Configuration: 
    [cplayer] List of enabled features: alsa build-date caca cplugins debug dmabuf-interop-gl dmabuf-wayland drm dvbin egl egl-drm egl-wayland egl-x11 ffmpeg gbm gl glibc-thread-name glob glob-posix gpl iconv jack javascript jpeg lcms2 libarchive libass libavdevice libbluray libdl libplacebo linux-fstatfs lua52 memfd-create memrchr pipewire posix posix-shm ppoll pthread-condattr-setclock pulse rubberband rubberband-3 sixel sndio sndio-1-9 uchardet v4l2request vaapi vaapi-drm vaapi-wayland vaapi-x11 vdpau vector vk-khr-display vt.h vulkan wayland wayland-protocols-1-32 x11 xv zlib
    [cplayer] Setting option 'hwdec' = 'v4l2request' (flags = 😎
    [cplayer] Setting option 'drm-drmprime-video-plane' = 'primary' (flags = 😎
    [cplayer] Setting option 'drm-draw-plane' = 'overlay' (flags = 😎
    [cplayer] Setting option 'v' = '' (flags = 😎
    [cplayer] Waiting for scripts...
    [cplayer] Set property: user-data/osc/visibility="auto" -> 1
    [cplayer] Set property: user-data/osc/margins={"b":0,"l":0,"t":0,"r":0} -> 1
    [cplayer] Done loading scripts.
    [cplayer] Running hook: auto_profiles/on_before_start_file
    [cplayer] Running hook: ytdl_hook/on_load
    [cplayer] Set property: user-data/osc/margins={"b":0,"l":0,"t":0,"r":0} -> 1
    [cplayer] Running hook: ytdl_hook/on_load
    [ytdl_hook] playlist hook
    [cplayer] Running hook: auto_profiles/on_load
    [bdmv/bluray] Opening /home/roberto/donde venderan buen trago 720p.mp4
    [file] Opening /home/roberto/donde venderan buen trago 720p.mp4
    [demux] Trying demuxers for level=normal.
    [cplayer] Set property: user-data/osc/margins={"b":0,"l":0,"t":0,"r":0} -> 1
    [osd/libass] libass API version: 0x1703000
    [osd/libass] libass source: tarball: 0.17.3
    [osd/libass] Shaper: FriBidi 1.0.15 (SIMPLE) HarfBuzz-ng 10.2.0 (COMPLEX)
    [osd/libass] Setting up fonts...
    [lavf] Found 'mov,mp4,m4a,3gp,3g2,mj2' at score=100 size=2048.
    [osd/libass] Using font provider fontconfig
    [osd/libass] Done.
    [demux] Detected file format: mov,mp4,m4a,3gp,3g2,mj2 (libavformat)
    [cplayer] Opening done: /home/roberto/donde venderan buen trago 720p.mp4
    [find_files] Loading external files in /home/roberto/
    [cplayer] Running hook: ytdl_hook/on_preloaded
    [cplayer] Running hook: auto_profiles/on_preloaded
    [lavf] select track 0
    [lavf] select track 1
    [cplayer] ● Video  --vid=1               (h264 1280x720 29.97 fps) [default]
    [cplayer] ● Audio  --aid=1  --alang=eng  (aac 2ch 44100 Hz 128 kbps) [default]
    [vo/gpu] Probing for best GPU context.
    [vo/gpu/auto] Initializing GPU context 'auto'
    [vo/gpu/opengl] Initializing GPU context 'wayland'
    [vo/gpu/opengl] Initializing GPU context 'x11egl'
    [vo/gpu/x11] X11 opening display: :0.0
    [vo/gpu/x11] Display 0 (HDMI-1): [0, 0, 1920, 1080] @ 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 0x9, visual ID 0x21
    [vo/gpu/x11] The XPresent extension was found.
    [vo/gpu/x11] XPresent enabled.
    [vo/gpu/opengl] GL_VERSION='3.1 Mesa 25.0.7-2'
    [vo/gpu/opengl] Detected desktop OpenGL 3.1.
    [vo/gpu/opengl] GL_VENDOR='Mesa'
    [vo/gpu/opengl] GL_RENDERER='Mali-G31 (Panfrost)'
    [vo/gpu/opengl] GL_SHADING_LANGUAGE_VERSION='1.40'
    [vo/gpu/opengl] Loaded extension GL_ARB_sync.
    [vo/gpu/opengl] Loaded extension GL_ARB_timer_query.
    [vo/gpu/opengl] Loaded extension GL_ARB_invalidate_subdata.
    [vo/gpu/opengl] Loaded extension GL_ARB_get_program_binary.
    [vo/gpu/opengl] Loaded extension GL_ARB_buffer_storage.
    [vo/gpu/opengl] Loaded extension GL_ARB_shader_image_load_store.
    [vo/gpu/opengl] Loaded extension GL_ARB_shader_storage_buffer_object.
    [vo/gpu/opengl] Loaded extension GL_ARB_arrays_of_arrays.
    [vo/gpu/opengl] Loaded extension GL_ARB_debug_output.
    [vo/gpu/opengl] Loaded extension GL_KHR_debug.
    [vo/gpu] Testing FBO format rgba16f
    [vo/gpu] Using FBO format rgba16f.
    [vo/gpu] Disabling HDR peak computation (one or more of the following is not supported: compute shaders=0, SSBO=1).
    [vo/gpu] Assuming 60.000000 FPS for display sync.
    [vd] Container reported FPS: 29.970030
    [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_cuvid (h264) - Nvidia CUVID H264 decoder
    [vd] Opening decoder h264
    [vd] Looking at hwdec h264-v4l2request...
    [vo/gpu] Loading hwdec drivers for format: 'drm_prime'
    [vo/gpu] Loading hwdec driver 'drmprime'
    [vo/gpu/drmprime] Using EGL dmabuf interop via GL_EXT_EGL_image_storage
    [vo/gpu/drmprime] Using DRM device: /dev/dri/renderD128
    [vo/gpu] Loading hwdec driver 'drmprime-overlay'
    [vo/gpu/drmprime-overlay] Failed to retrieve DRM fd from native display.
    [vo/gpu] Loading failed.
    [vo/gpu] Loading hwdec driver 'v4l2request'
    [vo/gpu/v4l2request] Using EGL dmabuf interop via GL_EXT_EGL_image_storage
    [vo/gpu] Loading hwdec driver 'v4l2request-overlay'
    [vo/gpu/v4l2request-overlay] Failed to retrieve DRM fd from native display.
    [vo/gpu] Loading failed.
    [vd] Trying hardware decoding via h264-v4l2request.
    [vd] Selected decoder: h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
    [vf] User filter list:
    [vf]   (empty)
    [ad] Codec list:
    [ad]     aac - AAC (Advanced Audio Coding)
    [ad]     aac_fixed (aac) - AAC (Advanced Audio Coding)
    [ad] Opening decoder aac
    [ad] Requesting 1 threads for decoding.
    [ad] Selected decoder: aac - AAC (Advanced Audio Coding)
    [af] User filter list:
    [af]   (empty)
    [cplayer] Starting playback...
    [af] [in] 44100Hz stereo 2ch floatp
    [af] [userspeed] 44100Hz stereo 2ch floatp
    [af] [userspeed] (disabled)
    [af] [convert] 44100Hz stereo 2ch floatp
    [vd] Pixel formats supported by decoder: vdpau vulkan cuda drm_prime vaapi yuv420p
    [vd] Codec profile: Main (0x4d)
    [vd] Requesting pixfmt 'drm_prime' from decoder.
    [ffmpeg/video] h264: Using V4L2 media driver cedrus (6.15.4) for S264
    [vd] Using hardware decoding (v4l2request).
    [vd] Decoder format: 1280x720 drm_prime[nv12] bt.709/bt.709/bt.1886/limited/auto CL=mpeg2/4/h264 crop=1280x720+0+0
    [vd] Using container aspect ratio.
    [vf] [in] 1280x720 drm_prime[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1280x720+0+0
    [vf] [userdeint] 1280x720 drm_prime[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1280x720+0+0
    [vf] [userdeint] (disabled)
    [vf] [autorotate] 1280x720 drm_prime[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1280x720+0+0
    [vf] [autorotate] (disabled)
    [vf] [convert] 1280x720 drm_prime[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1280x720+0+0
    [vo/gpu] Loading hwdec drivers for format: 'drm_prime'
    [vo/gpu] Loading hwdec driver 'drmprime-overlay'
    [vo/gpu/drmprime-overlay] Failed to retrieve DRM fd from native display.
    [vo/gpu] Loading failed.
    [vo/gpu] Loading hwdec driver 'v4l2request-overlay'
    [vo/gpu/v4l2request-overlay] Failed to retrieve DRM fd from native display.
    [vo/gpu] Loading failed.
    [hwupload] hwdec 'drmprime' does not report hwframe constraints. Using static metadata.
    [vf] [out] 1280x720 drm_prime[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1280x720+0+0
    [ao] Trying audio driver 'pipewire'
    [ao/pipewire] requested format: 44100 Hz, stereo channels, floatp
    [ao/pipewire] Headers version: 1.4.2
    [ao/pipewire] Library version: 1.4.2
    [W][10:19:43.740112] pw.conf      | [          conf.c: 1204 pw_conf_load_conf_for_context()] setting config.name to client-rt.conf is deprecated, using client.conf
    [W][10:19:43.740371] pw.conf      | [          conf.c: 1182 try_load_conf()] can't load config client.conf: No such file or directory
    [E][10:19:43.740422] pw.conf      | [          conf.c: 1215 pw_conf_load_conf_for_context()] can't load config client.conf: No such file or directory
    [ao] Trying audio driver 'pulse'
    [ao/pulse] requested format: 44100 Hz, stereo channels, floatp
    [ao/pulse] Library version: 17.0.0
    [ao/pulse] Proto: 35
    [ao/pulse] Server proto: 4294967295
    [ao/pulse] Channel layouts:
    [ao/pulse]  - #fl
    [ao/pulse]  - #fr
    [ao/pulse]  - #fc
    [ao/pulse]  - #lfe
    [ao/pulse]  - #bl
    [ao/pulse]  - #br
    [ao/pulse]  - #flc
    [ao/pulse]  - #frc
    [ao/pulse]  - #bc
    [ao/pulse]  - #sl
    [ao/pulse]  - #sr
    [ao/pulse]  - #tc
    [ao/pulse]  - #tfl
    [ao/pulse]  - #tfc
    [ao/pulse]  - #tfr
    [ao/pulse]  - #tbl
    [ao/pulse]  - #tbc
    [ao/pulse]  - #tbr
    [ao/pulse] result: stereo
    [ao/pulse] device buffer: 6172 samples.
    [ao/pulse] using soft-buffer of 8820 samples.
    [cplayer] AO: [pulse] 44100Hz stereo 2ch float
    [cplayer] AO: Description: PulseAudio audio output
    [autoconvert] inserting resampler
    [swresample] format change, reinitializing resampler
    [swresample] 44100Hz stereo floatp -> 44100Hz stereo float
    [af] [out] 44100Hz stereo 2ch float
    [cplayer] VO: [gpu] 1280x720 drm_prime[nv12]
    [cplayer] VO: Description: Shader-based GPU Renderer
    [vo/gpu] reconfig to 1280x720 drm_prime[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1280x720+0+0
    [vo/gpu] Resize: 1280x720
    [vo/gpu] Window size: 1280x720 (Borders: l=0 t=0 r=0 b=0)
    [vo/gpu] Video source: 1280x720 (1:1)
    [vo/gpu] Video display: (0, 0) 1280x720 -> (0, 0) 1280x720
    [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] Reported display depth: 8
    [vo/gpu] Testing FBO format rgba16f
    [vo/gpu] Using FBO format rgba16f.
    [vo/gpu] Dither to 8.
    [cplayer] first video frame after restart shown
    [osd/libass] libass API version: 0x1703000
    [osd/libass] libass source: tarball: 0.17.3
    [osd/libass] Shaper: FriBidi 1.0.15 (SIMPLE) HarfBuzz-ng 10.2.0 (COMPLEX)
    [osd/libass] Setting up fonts...
    [osd/libass] Using font provider fontconfig
    [osd/libass] Done.
    [cplayer] Set property: user-data/osc/margins={"b":0,"l":0,"t":0,"r":0} -> 1
    [cplayer] audio ready
    [cplayer] starting audio playback
    [cplayer] playback restart complete @ 0.000000, audio=playing, video=playing
    [vo/gpu/x11] Disabling screensaver.
    [ao/pulse] starting AO
    [cplayer] Set property: user-data/osc/margins={"b":0,"l":0,"t":0,"r":0} -> 1
    [cplayer] EOF code: 5  
    [vo/gpu/x11] Enabling screensaver.
    [statusline] AV: 00:00:29 / 00:04:18 (11%) A-V:  0.000
    [cplayer] finished playback, success (reason 3)
    [cplayer] Running hook: ytdl_hook/on_after_end_file
    [cplayer] Exiting... (Quit)
    [cplayer] Set property: user-data/osc/margins={"b":0,"l":0,"t":0,"r":0} -> 1
    roberto@orangepizero3:~/mpv-official/mpv-0.39.0$

     

    Next, I tried with a 1080p h264... in this case, I needed the extraargs=cma=256M line in armbianEnv.txt.

    Result, low CPU usage, but dropped frames (choppy video)

    I didn't need to install mpv, because I ran it from within the build directory

    Removing the --drm-drmprime-video-plane=primary --drm-draw-plane=overlay from the options didn't make any positive or negative difference

     

    Spoiler

    roberto@orangepizero3:~/mpv-official/mpv-0.39.0$ DISPLAY=:0.0 ./build/mpv --hwdec=v4l2request --drm-drmprime-video-plane=primary --drm-draw-plane=overlay -v ~/concert.mp4 
    [cplayer] Command line options: '--hwdec=v4l2request' '--drm-drmprime-video-plane=primary' '--drm-draw-plane=overlay' '-v' '/home/roberto/concert.mp4'
    [cplayer] mpv 0.39.0 Copyright © 2000-2024 mpv/MPlayer/mplayer2 projects
    [cplayer]  built on Oct 10 2025 10:05:25
    [cplayer] libplacebo version: v7.349.0
    [cplayer] FFmpeg version: 7.1.2-0+deb13u1
    [cplayer] FFmpeg library versions:
    [cplayer]    libavcodec      61.19.101
    [cplayer]    libavdevice     61.3.100
    [cplayer]    libavfilter     10.4.100
    [cplayer]    libavformat     61.7.100
    [cplayer]    libavutil       59.39.100
    [cplayer]    libswresample   5.3.100
    [cplayer]    libswscale      8.3.100
    [cplayer] Configuration: 
    [cplayer] List of enabled features: alsa build-date caca cplugins debug dmabuf-interop-gl dmabuf-wayland drm dvbin egl egl-drm egl-wayland egl-x11 ffmpeg gbm gl glibc-thread-name glob glob-posix gpl iconv jack javascript jpeg lcms2 libarchive libass libavdevice libbluray libdl libplacebo linux-fstatfs lua52 memfd-create memrchr pipewire posix posix-shm ppoll pthread-condattr-setclock pulse rubberband rubberband-3 sixel sndio sndio-1-9 uchardet v4l2request vaapi vaapi-drm vaapi-wayland vaapi-x11 vdpau vector vk-khr-display vt.h vulkan wayland wayland-protocols-1-32 x11 xv zlib
    [cplayer] Setting option 'hwdec' = 'v4l2request' (flags = 😎
    [cplayer] Setting option 'drm-drmprime-video-plane' = 'primary' (flags = 😎
    [cplayer] Setting option 'drm-draw-plane' = 'overlay' (flags = 😎
    [cplayer] Setting option 'v' = '' (flags = 😎
    [cplayer] Waiting for scripts...
    [cplayer] Set property: user-data/osc/visibility="auto" -> 1
    [cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"r":0,"t":0} -> 1
    [cplayer] Done loading scripts.
    [cplayer] Running hook: auto_profiles/on_before_start_file
    [cplayer] Running hook: ytdl_hook/on_load
    [cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"r":0,"t":0} -> 1
    [cplayer] Running hook: ytdl_hook/on_load
    [ytdl_hook] playlist hook
    [cplayer] Running hook: auto_profiles/on_load
    [bdmv/bluray] Opening /home/roberto/concert.mp4
    [file] Opening /home/roberto/concert.mp4
    [demux] Trying demuxers for level=normal.
    [cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"r":0,"t":0} -> 1
    [osd/libass] libass API version: 0x1703000
    [osd/libass] libass source: tarball: 0.17.3
    [osd/libass] Shaper: FriBidi 1.0.15 (SIMPLE) HarfBuzz-ng 10.2.0 (COMPLEX)
    [osd/libass] Setting up fonts...
    [lavf] Found 'mov,mp4,m4a,3gp,3g2,mj2' at score=100 size=2048.
    [demux] Detected file format: mov,mp4,m4a,3gp,3g2,mj2 (libavformat)
    [cplayer] Opening done: /home/roberto/concert.mp4
    [osd/libass] Using font provider fontconfig
    [osd/libass] Done.
    [find_files] Loading external files in /home/roberto/
    [cplayer] Running hook: ytdl_hook/on_preloaded
    [cplayer] Running hook: auto_profiles/on_preloaded
    [lavf] select track 0
    [cplayer] ● Video  --vid=1  (h264 1920x1080 30 fps) [default]
    [vo/gpu] Probing for best GPU context.
    [vo/gpu/auto] Initializing GPU context 'auto'
    [vo/gpu/opengl] Initializing GPU context 'wayland'
    [vo/gpu/opengl] Initializing GPU context 'x11egl'
    [vo/gpu/x11] X11 opening display: :0.0
    [vo/gpu/x11] Display 0 (HDMI-1): [0, 0, 1920, 1080] @ 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 0x9, visual ID 0x21
    [vo/gpu/x11] The XPresent extension was found.
    [vo/gpu/x11] XPresent enabled.
    [vo/gpu/opengl] GL_VERSION='3.1 Mesa 25.0.7-2'
    [vo/gpu/opengl] Detected desktop OpenGL 3.1.
    [vo/gpu/opengl] GL_VENDOR='Mesa'
    [vo/gpu/opengl] GL_RENDERER='Mali-G31 (Panfrost)'
    [vo/gpu/opengl] GL_SHADING_LANGUAGE_VERSION='1.40'
    [vo/gpu/opengl] Loaded extension GL_ARB_sync.
    [vo/gpu/opengl] Loaded extension GL_ARB_timer_query.
    [vo/gpu/opengl] Loaded extension GL_ARB_invalidate_subdata.
    [vo/gpu/opengl] Loaded extension GL_ARB_get_program_binary.
    [vo/gpu/opengl] Loaded extension GL_ARB_buffer_storage.
    [vo/gpu/opengl] Loaded extension GL_ARB_shader_image_load_store.
    [vo/gpu/opengl] Loaded extension GL_ARB_shader_storage_buffer_object.
    [vo/gpu/opengl] Loaded extension GL_ARB_arrays_of_arrays.
    [vo/gpu/opengl] Loaded extension GL_ARB_debug_output.
    [vo/gpu/opengl] Loaded extension GL_KHR_debug.
    [vo/gpu] Testing FBO format rgba16f
    [vo/gpu] Using FBO format rgba16f.
    [vo/gpu] Disabling HDR peak computation (one or more of the following is not supported: compute shaders=0, SSBO=1).
    [vo/gpu] Assuming 60.000000 FPS for display sync.
    [vd] Container reported FPS: 30.000000
    [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_cuvid (h264) - Nvidia CUVID H264 decoder
    [vd] Opening decoder h264
    [vd] Looking at hwdec h264-v4l2request...
    [vo/gpu] Loading hwdec drivers for format: 'drm_prime'
    [vo/gpu] Loading hwdec driver 'drmprime'
    [vo/gpu/drmprime] Using EGL dmabuf interop via GL_EXT_EGL_image_storage
    [vo/gpu/drmprime] Using DRM device: /dev/dri/renderD128
    [vo/gpu] Loading hwdec driver 'drmprime-overlay'
    [vo/gpu/drmprime-overlay] Failed to retrieve DRM fd from native display.
    [vo/gpu] Loading failed.
    [vo/gpu] Loading hwdec driver 'v4l2request'
    [vo/gpu/v4l2request] Using EGL dmabuf interop via GL_EXT_EGL_image_storage
    [vo/gpu] Loading hwdec driver 'v4l2request-overlay'
    [vo/gpu/v4l2request-overlay] Failed to retrieve DRM fd from native display.
    [vo/gpu] Loading failed.
    [vd] Trying hardware decoding via h264-v4l2request.
    [vd] Selected decoder: h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
    [vf] User filter list:
    [vf]   (empty)
    [cplayer] Starting playback...
    [vd] Pixel formats supported by decoder: vdpau vulkan cuda drm_prime vaapi yuv420p
    [vd] Codec profile: High (0x64)
    [vd] Requesting pixfmt 'drm_prime' from decoder.
    [ffmpeg/video] h264: Using V4L2 media driver cedrus (6.15.4) for S264
    [vd] Using hardware decoding (v4l2request).
    [vd] Decoder format: 1920x1080 drm_prime[nv12] bt.709/bt.709/bt.1886/limited/auto CL=mpeg2/4/h264 crop=1920x1080+0+0
    [vf] [in] 1920x1080 drm_prime[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1920x1080+0+0
    [vf] [userdeint] 1920x1080 drm_prime[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1920x1080+0+0
    [vf] [userdeint] (disabled)
    [vf] [autorotate] 1920x1080 drm_prime[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1920x1080+0+0
    [vf] [autorotate] (disabled)
    [vf] [convert] 1920x1080 drm_prime[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1920x1080+0+0
    [vo/gpu] Loading hwdec drivers for format: 'drm_prime'
    [vo/gpu] Loading hwdec driver 'drmprime-overlay'
    [vo/gpu/drmprime-overlay] Failed to retrieve DRM fd from native display.
    [vo/gpu] Loading failed.
    [vo/gpu] Loading hwdec driver 'v4l2request-overlay'
    [vo/gpu/v4l2request-overlay] Failed to retrieve DRM fd from native display.
    [vo/gpu] Loading failed.
    [hwupload] hwdec 'drmprime' does not report hwframe constraints. Using static metadata.
    [vf] [out] 1920x1080 drm_prime[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1920x1080+0+0
    [osd/libass] libass API version: 0x1703000
    [osd/libass] libass source: tarball: 0.17.3
    [osd/libass] Shaper: FriBidi 1.0.15 (SIMPLE) HarfBuzz-ng 10.2.0 (COMPLEX)
    [osd/libass] Setting up fonts...
    [osd/libass] Using font provider fontconfig
    [osd/libass] Done.
    [cplayer] VO: [gpu] 1920x1080 drm_prime[nv12]
    [cplayer] VO: Description: Shader-based GPU Renderer
    [vo/gpu] reconfig to 1920x1080 drm_prime[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1920x1080+0+0
    [vo/gpu/x11] not waiting for MapNotify
    [vo/gpu] Resize: 1920x1025
    [vo/gpu] Window size: 1920x1025 (Borders: l=0 t=0 r=0 b=0)
    [vo/gpu] Video source: 1920x1080 (1:1)
    [vo/gpu] Video display: (0, 0) 1920x1080 -> (49, 0) 1822x1025
    [vo/gpu] Video scale: 0.948958/0.949074
    [vo/gpu] OSD borders: l=49 t=0 r=49 b=0
    [vo/gpu] Video borders: l=49 t=0 r=49 b=0
    [vo/gpu] Reported display depth: 8
    [vo/gpu] Testing FBO format rgba16f
    [vo/gpu] Using FBO format rgba16f.
    [vo/gpu] Resize: 1920x1025
    [vo/gpu] Window size: 1920x1025 (Borders: l=0 t=0 r=0 b=0)
    [vo/gpu] Video source: 1920x1080 (1:1)
    [vo/gpu] Video display: (0, 0) 1920x1080 -> (49, 0) 1822x1025
    [vo/gpu] Video scale: 0.948958/0.949074
    [vo/gpu] OSD borders: l=49 t=0 r=49 b=0
    [vo/gpu] Video borders: l=49 t=0 r=49 b=0
    [vo/gpu] Reported display depth: 8
    [vo/gpu] Dither to 8.
    [cplayer] first video frame after restart shown
    [cplayer] playback restart complete @ 0.000000, audio=eof, video=playing
    [vo/gpu/x11] Disabling screensaver.
    [cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"r":0,"t":0} -> 1
    [cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"r":0,"t":0} -> 1
    [cplayer] EOF code: 5  
    [statusline] V: 00:00:20 / 00:04:49 (7%) Dropped: 415
    [cplayer] finished playback, success (reason 3)
    [cplayer] Running hook: ytdl_hook/on_after_end_file
    [vo/gpu/x11] Enabling screensaver.
    [cplayer] Exiting... (Quit)
    [cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"r":0,"t":0} -> 1
    roberto@orangepizero3:~/mpv-official/mpv-0.39.0$

     

     

    I repeated the test with mpv-0.4.0 and the result was the same.

     

    I am using linux 6.15.4... tomorrow I will re-test with linux 6.16.8 and again with labwc (wayland)

     

    UPDATE: with labwc-0.8.3-1 (from Trixie repo), 720p playback is fine, and 1080p playback drops 220 frames over 10 seconds.

    However it seems that it activates an X11 renderer, and XWayland appears in the htop list. <-- only if started from SSH session, with "DISPLAY=:0"

    How can I ensure that pure wayland is used? <-- answer: start mpv from within a terminal in labwc, like foot

     

    mpv log:

    Spoiler

    roberto@orangepizero3:~/mpv-official/mpv-0.40.0$ DISPLAY=:0 ./build/mpv --hwdec=v4l2request --loop -v ~/concert.mp4 
    [cplayer] Command line options: '--hwdec=v4l2request' '--loop' '-v' '/home/roberto/concert.mp4'
    [cplayer] mpv v0.40.0 Copyright © 2000-2025 mpv/MPlayer/mplayer2 projects
    [cplayer]  built on Oct 10 2025 10:50:55
    [cplayer] libplacebo version: v7.349.0
    [cplayer] FFmpeg version: 7.1.2-0+deb13u1
    [cplayer] FFmpeg library versions:
    [cplayer]    libavcodec      61.19.101
    [cplayer]    libavdevice     61.3.100
    [cplayer]    libavfilter     10.4.100
    [cplayer]    libavformat     61.7.100
    [cplayer]    libavutil       59.39.100
    [cplayer]    libswresample   5.3.100
    [cplayer]    libswscale      8.3.100
    [cplayer] Configuration: 
    [cplayer] List of enabled features: alsa build-date caca cdda cplugins debug dmabuf-interop-gl dmabuf-wayland drm dvbin dvdnav egl egl-drm egl-wayland egl-x11 ffmpeg gbm gl glibc-thread-name glob glob-posix gpl iconv jack javascript jpeg lcms2 libarchive libass libavdevice libbluray libdl libplacebo linux-fstatfs lua52 memfd-create memrchr pipewire posix posix-shm ppoll pthread-condattr-setclock pulse rubberband rubberband-3 sixel sndio sndio-1-9 uchardet v4l2request vaapi vaapi-drm vaapi-wayland vaapi-x11 vdpau vector vk-khr-display vt.h vulkan wayland wayland-protocols-1-32 wayland-protocols-1-38 wayland-protocols-1-39 wayland-protocols-1-41 x11 xv zlib
    [cplayer] Setting option 'hwdec' = 'v4l2request' (flags = 😎
    [cplayer] Setting option 'loop' = '' (flags = 😎
    [cplayer] Setting option 'v' = '' (flags = 😎
    [clipboard] Initialized vo clipboard backend.
    [cplayer] Waiting for scripts...
    [cplayer] Set property: user-data/osc/visibility="auto" -> 1
    [cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"r":0,"t":0} -> 1
    [cplayer] Done loading scripts.
    [cplayer] Running hook: auto_profiles/on_before_start_file
    [cplayer] Failed sending hook command auto_profiles/on_before_start_file. Removing hook.
    [cplayer] Running hook: auto_profiles/on_load
    [cplayer] Failed sending hook command auto_profiles/on_load. Removing hook.
    [cplayer] Running hook: ytdl_hook/on_load
    [cplayer] Running hook: ytdl_hook/on_load
    [ytdl_hook] playlist hook
    [ifo_dvdnav] Opening /home/roberto/concert.mp4
    [bdmv/bluray] Opening /home/roberto/concert.mp4
    [file] Opening /home/roberto/concert.mp4
    [demux] Trying demuxers for level=normal.
    [cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"r":0,"t":0} -> 1
    [cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"r":0,"t":0} -> 1
    [osd/libass] libass API version: 0x1703000
    [osd/libass] libass source: tarball: 0.17.3
    [osd/libass] Shaper: FriBidi 1.0.15 (SIMPLE) HarfBuzz-ng 10.2.0 (COMPLEX)
    [osd/libass] Setting up fonts...
    [lavf] Found 'mov,mp4,m4a,3gp,3g2,mj2' at score=100 size=2048.
    [demux] Detected file format: mov,mp4,m4a,3gp,3g2,mj2 (libavformat)
    [cplayer] Opening done: /home/roberto/concert.mp4
    [osd/libass] Using font provider fontconfig
    [osd/libass] Done.
    [find_files] Loading external files in /home/roberto/
    [cplayer] Running hook: auto_profiles/on_preloaded
    [cplayer] Failed sending hook command auto_profiles/on_preloaded. Removing hook.
    [cplayer] Running hook: ytdl_hook/on_preloaded
    [lavf] select track 0
    [cplayer] ● Video  --vid=1  (h264 1920x1080 30 fps) [default]
    [vo/gpu] Probing for best GPU context.
    [vo/gpu/auto] Initializing GPU context 'auto'
    [vo/gpu/vulkan] Initializing GPU context 'waylandvk'
    [vo/gpu/libplacebo] Initialized libplacebo v7.349.0 (API v349)
    [vo/gpu/libplacebo] Creating vulkan instance with extensions:
    [vo/gpu/libplacebo]     VK_KHR_get_physical_device_properties2
    [vo/gpu/libplacebo]     VK_KHR_portability_enumeration
    [vo/gpu/libplacebo]     VK_KHR_surface
    [vo/gpu/libplacebo]     VK_KHR_wayland_surface
    [vo/gpu/libplacebo] Failed creating instance: VK_ERROR_INCOMPATIBLE_DRIVER
    [vo/gpu/libplacebo] Failed initializing vulkan instance
    [vo/gpu/vulkan] Initializing GPU context 'x11vk'
    [vo/gpu/libplacebo] Initialized libplacebo v7.349.0 (API v349)
    [vo/gpu/libplacebo] Creating vulkan instance with extensions:
    [vo/gpu/libplacebo]     VK_KHR_get_physical_device_properties2
    [vo/gpu/libplacebo]     VK_KHR_portability_enumeration
    [vo/gpu/libplacebo]     VK_KHR_surface
    [vo/gpu/libplacebo]     VK_KHR_xlib_surface
    [vo/gpu/libplacebo] Failed creating instance: VK_ERROR_INCOMPATIBLE_DRIVER
    [vo/gpu/libplacebo] Failed initializing vulkan instance
    [vo/gpu/opengl] Initializing GPU context 'wayland'
    [vo/gpu/opengl] Initializing GPU context 'x11egl'
    [vo/gpu/x11] X11 opening display: :0
    [vo/gpu/x11] Display 0 (HDMI-A-1): [0, 0, 1920, 1080] @ 59.962844 FPS
    [vo/gpu/x11] Current display FPS: 59.962844
    [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 0x9, visual ID 0x40
    [vo/gpu/x11] The XPresent extension was found.
    [vo/gpu/x11] XPresent disabled.
    [vo/gpu/opengl] GL_VERSION='3.1 Mesa 25.0.7-2'
    [vo/gpu/opengl] Detected desktop OpenGL 3.1.
    [vo/gpu/opengl] GL_VENDOR='Mesa'
    [vo/gpu/opengl] GL_RENDERER='Mali-G31 (Panfrost)'
    [vo/gpu/opengl] GL_SHADING_LANGUAGE_VERSION='1.40'
    [vo/gpu/opengl] Loaded extension GL_ARB_sync.
    [vo/gpu/opengl] Loaded extension GL_ARB_timer_query.
    [vo/gpu/opengl] Loaded extension GL_ARB_invalidate_subdata.
    [vo/gpu/opengl] Loaded extension GL_ARB_get_program_binary.
    [vo/gpu/opengl] Loaded extension GL_ARB_buffer_storage.
    [vo/gpu/opengl] Loaded extension GL_ARB_shader_image_load_store.
    [vo/gpu/opengl] Loaded extension GL_ARB_shader_storage_buffer_object.
    [vo/gpu/opengl] Loaded extension GL_ARB_arrays_of_arrays.
    [vo/gpu/opengl] Loaded extension GL_ARB_debug_output.
    [vo/gpu/opengl] Loaded extension GL_KHR_debug.
    [vo/gpu] Testing FBO format rgba16f
    [vo/gpu] Using FBO format rgba16f.
    [vo/gpu] Disabling HDR peak computation (one or more of the following is not supported: compute shaders=0, SSBO=1).
    [vo/gpu] Assuming 59.962844 FPS for display sync.
    [vd] Container reported FPS: 30.000000
    [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_cuvid (h264) - Nvidia CUVID H264 decoder
    [vd] Opening decoder h264
    [vd] Looking at hwdec h264-v4l2request...
    [vo/gpu] Loading hwdec drivers for format: 'drm_prime'
    [vo/gpu] Loading hwdec driver 'drmprime'
    [vo/gpu/drmprime] Using EGL dmabuf interop via GL_EXT_EGL_image_storage
    [vo/gpu/drmprime] Using DRM device: /dev/dri/renderD128
    [vo/gpu] Loading hwdec driver 'drmprime-overlay'
    [vo/gpu/drmprime-overlay] Failed to retrieve DRM fd from native display.
    [vo/gpu] Loading failed.
    [vo/gpu] Loading hwdec driver 'v4l2request'
    [vo/gpu/v4l2request] Using EGL dmabuf interop via GL_EXT_EGL_image_storage
    [vo/gpu] Loading hwdec driver 'v4l2request-overlay'
    [vo/gpu/v4l2request-overlay] Failed to retrieve DRM fd from native display.
    [vo/gpu] Loading failed.
    [vd] Trying hardware decoding via h264-v4l2request.
    [vd] Selected decoder: h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
    [vf] User filter list:
    [vf]   (empty)
    [cplayer] Starting playback...
    [vd] Pixel formats supported by decoder: vdpau vulkan cuda drm_prime vaapi yuv420p
    [vd] Codec profile: High (0x64)
    [vd] Requesting pixfmt 'drm_prime' from decoder.
    [ffmpeg/video] h264: Using V4L2 media driver cedrus (6.15.4) for S264
    [vd] Using hardware decoding (v4l2request).
    [vd] Decoder format: 1920x1080 drm_prime[nv12] bt.709/bt.709/bt.1886/limited/auto CL=mpeg2/4/h264 crop=1920x1080+0+0
    [vf] [in] 1920x1080 drm_prime[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1920x1080+0+0
    [vf] [userdeint] 1920x1080 drm_prime[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1920x1080+0+0
    [vf] [userdeint] (disabled)
    [vf] [autorotate] 1920x1080 drm_prime[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1920x1080+0+0
    [vf] [autorotate] (disabled)
    [vf] [convert] 1920x1080 drm_prime[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1920x1080+0+0
    [vo/gpu] Loading hwdec drivers for format: 'drm_prime'
    [vo/gpu] Loading hwdec driver 'drmprime-overlay'
    [vo/gpu/drmprime-overlay] Failed to retrieve DRM fd from native display.
    [vo/gpu] Loading failed.
    [vo/gpu] Loading hwdec driver 'v4l2request-overlay'
    [vo/gpu/v4l2request-overlay] Failed to retrieve DRM fd from native display.
    [vo/gpu] Loading failed.
    [hwupload] hwdec 'drmprime' does not report hwframe constraints. Using static metadata.
    [vf] [out] 1920x1080 drm_prime[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1920x1080+0+0
    [osd/libass] libass API version: 0x1703000
    [osd/libass] libass source: tarball: 0.17.3
    [osd/libass] Shaper: FriBidi 1.0.15 (SIMPLE) HarfBuzz-ng 10.2.0 (COMPLEX)
    [osd/libass] Setting up fonts...
    [osd/libass] Using font provider fontconfig
    [osd/libass] Done.
    [cplayer] VO: [gpu] 1920x1080 drm_prime[nv12]
    [cplayer] VO: Description: Shader-based GPU Renderer
    [vo/gpu] reconfig to 1920x1080 drm_prime[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1920x1080+0+0
    [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] Reported display depth: 8
    [vo/gpu] Testing FBO format rgba16f
    [vo/gpu] Using FBO format rgba16f.
    [vo/gpu] Dither to 8.
    [cplayer] first video frame after restart shown
    [cplayer] playback restart complete @ 0.000000, audio=eof, video=playing
    [vo/gpu/x11] Disabling screensaver.
    [cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"r":0,"t":0} -> 1
    [cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"r":0,"t":0} -> 1
    [vo/gpu] Resize: 1918x1052
    [vo/gpu] Window size: 1918x1052 (Borders: l=0 t=0 r=0 b=0)
    [vo/gpu] Video source: 1920x1080 (1:1)
    [vo/gpu] Video display: (0, 0) 1920x1080 -> (24, 0) 1870x1052
    [vo/gpu] Video scale: 0.973958/0.974074
    [vo/gpu] OSD borders: l=24 t=0 r=24 b=0
    [vo/gpu] Video borders: l=24 t=0 r=24 b=0
    [vo/gpu] Reported display depth: 8
    [cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"r":0,"t":0} -> 1
    [cplayer] EOF code: 5  
    [statusline] V: 00:00:10 / 00:04:49 (4%) Dropped: 220
    [cplayer] finished playback, success (reason 3)
    [cplayer] Running hook: ytdl_hook/on_after_end_file
    [vo/gpu/x11] Enabling screensaver.
    [cplayer] Exiting... (Quit)
    [cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"r":0,"t":0} -> 1
    roberto@orangepizero3:~/mpv-official/mpv-0.40.0$

     

    When I try mpv-0.3.9 (from the source folder, so I dont need to install it), I get the same result: v4l2request works perfectly in 720p, but choppy in 1080p

  8. Anyone trying to compile mpv 0.3.9, is it possible to do it with Linux 6.15? With the libraries in Debian Trixie?

    (considering mpv 0.3.9 is from sept 2024, and Trixie came with mpv-0.4.0)

     

    https://github.com/mpv-player/mpv/releases

     

    I think I am failing the compilation's linking stage, because I had a different mpv and its libraries already installed. Probably I need to format my microSD and re-image.

  9. I am not sure if I am using the git command correctly to get mpv-0.3.9 with PR14690.. Please help

     

    roberto@orangepizero3:~$ mkdir mpv-official
    roberto@orangepizero3:~$ cd mpv-official/
    roberto@orangepizero3:~/mpv-official$ git clone https://github.com/mpv-player/mpv

    roberto@orangepizero3:~/mpv-official$ cd mpv

    roberto@orangepizero3:~/mpv-official/mpv$ git checkout -b release/0.39

    roberto@orangepizero3:~/mpv-official/mpv$ gh pr checkout 14690  <- downloads and applies the v4l2request changes :) 

    roberto@orangepizero3:~/mpv-official/mpv$ nano video/out/gpu/hwdec.c  <-- I see the added changes in the hwdec.c file

    roberto@orangepizero3:~/mpv-official/mpv$ meson setup build  <-- everything configures ok, but at the end, it shows that I got mpv-0.40 :( 

     

    I asked in the mpv github and a contributor said they are waiting for ffmpeg first incorporate v4l2request, then they will add the feature in mpv

    Ref: https://github.com/mpv-player/mpv/pull/14690#issuecomment-3369829206

     

    Applying the pr14690 manually on top of mpv 0.3.9 is something that i could do, if there’s no choice

     

    For later:

    Use something like https://github.com/foo/bar/commit/${SHA}.patch , to try to get the PR14690

    https://stackoverflow.com/questions/21903805/how-to-download-a-single-commit-diff-from-github

    Patches to apply:

    https://github.com/mpv-player/mpv/commit/d9bb7241bbc8dfdf1c76293d28cb162c2688e2b6.patch

    https://github.com/mpv-player/mpv/commit/17a8ef7e8752e39f8c5284127b5d7ba1cce64f48.patch

    Previous discussions and ffmpeg too:

    https://github.com/mpv-player/mpv/pull/14511

    https://ffmpeg.org/pipermail/ffmpeg-devel/2024-August/332034.html

    https://ffmpeg.org/pipermail/ffmpeg-devel/2024-August/332035.html

     

    How to patch.

    Spoiler

    * download the 2 patch files above

    $ cd mpv

    $ patch -p1 < 17a8ef7e8752e39f8c5284127b5d7ba1cce64f48.patch

    patching file video/hwdec.c
    patching file video/hwdec.h
    Hunk #1 succeeded at 108 (offset -13 lines).
    patching file video/out/gpu/hwdec.c
    patching file video/out/hwdec/hwdec_drmprime.c
    patching file video/out/hwdec/hwdec_drmprime_overlay.c
    patching file video/out/vo_dmabuf_wayland.c
    Hunk #1 FAILED at 857.
    1 out of 1 hunk FAILED -- saving rejects to file video/out/vo_dmabuf_wayland.c.rej
    patching file video/v4l2request.c

    $ patch -p1 < d9bb7241bbc8dfdf1c76293d28cb162c2688e2b6.patch 
    patching file meson.build
    Hunk #1 succeeded at 1406 (offset 1 line).
    Hunk #2 succeeded at 1865 (offset -4 lines).
    can't find file to patch at input line 44
    Perhaps you used the wrong -p or --strip option?
    The text leading up to this was:
    --------------------------
    |diff --git a/meson.options b/meson.options
    |index dae0a333ef71b..3dba7a1451dab 100644
    |--- a/meson.options
    |+++ b/meson.options
    --------------------------
    File to patch: meson_options.txt
    patching file meson_options.txt
    Hunk #1 succeeded at 101 (offset 2 lines).

    Finally, I got this error since the first linking action

    [307/310] Linking target mpv
    FAILED: mpv 
    cc  -o mpv libmpv.so.2.3.0.p/aud...

    (and over a thousand linking errors)

  10. 1 hour ago, jock said:

    I compiled mpv 0.40.0 on Debian Trixie with the patches for v4l2request, but the outcome is messy at best. There is a new hwdec v4l2request, but also two new gpu-hwdec-interop v4l2request and v4l2request-overlay. It works with acceleration when launched from a terminal, but in wayland/weston v4l2request refuses to work. I don't know what happened, but it looks like a big regression from 0.39. Better use the old mpv version IMHO.

     

    I thought that v4l2request was exclusively in this github project and branch: https://github.com/philipl/mpv/tree/v4l2request

    Which github project and branch/release are you trying?

     

    I successfully compiled and installed the mpv from https://github.com/philipl/mpv/tree/v4l2request

    I made the /etc/mpv.conf as per the original post

    Result: 50% cpu in 4 cores, about half dropped frames:

    Spoiler

    roberto@orangepizero3:~/mpv-philippl-v4l2request/mpv$ DISPLAY=:0.0 mpv -v ~/donde\ venderan\ buen\ trago\ 720p.mp4 
    [cplayer] Command line options: '-v' '/home/roberto/donde venderan buen trago 720p.mp4'
    [cplayer] mpv v0.1.0-18356-g17a8ef7e8 Copyright © 2000-2025 mpv/MPlayer/mplayer2 projects
    [cplayer]  built on Oct  5 2025 18:48:33
    [cplayer] libplacebo version: v7.349.0
    [cplayer] FFmpeg version: 7.1.1-1
    [cplayer] FFmpeg library versions:
    [cplayer]    libavcodec      61.19.101
    [cplayer]    libavdevice     61.3.100
    [cplayer]    libavfilter     10.4.100
    [cplayer]    libavformat     61.7.100
    [cplayer]    libavutil       59.39.100
    [cplayer]    libswresample   5.3.100
    [cplayer]    libswscale      8.3.100
    [cplayer] Configuration: 
    [cplayer] List of enabled features: alsa build-date caca cdda cplugins debug dmabuf-interop-gl dmabuf-wayland drm dvbin dvdnav egl egl-drm egl-wayland egl-x11 ffmpeg gbm gl glibc-thread-name glob glob-posix gpl iconv jack javascript jpeg lcms2 libarchive libass libavdevice libbluray libdl libplacebo linux-fstatfs lua52 memfd-create memrchr pipewire posix posix-shm ppoll pthread-condattr-setclock pulse rubberband rubberband-3 sixel sndio sndio-1-9 uchardet v4l2request vaapi vaapi-drm vaapi-wayland vaapi-x11 vdpau vector vk-khr-display vt.h vulkan wayland wayland-protocols-1-32 wayland-protocols-1-38 wayland-protocols-1-39 wayland-protocols-1-41 wayland-protocols-1-44 x11 xv zlib
    [cplayer] Setting option 'v' = '' (flags = 😎
    [clipboard] Initialized vo clipboard backend.
    [cplayer] Waiting for scripts...
    [cplayer] Set property: user-data/osc/visibility="auto" -> 1
    [cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"r":0,"t":0} -> 1
    [cplayer] Done loading scripts.
    [cplayer] Running hook: auto_profiles/on_before_start_file
    [cplayer] Failed sending hook command auto_profiles/on_before_start_file. Removing hook.
    [cplayer] Running hook: auto_profiles/on_load
    [cplayer] Failed sending hook command auto_profiles/on_load. Removing hook.
    [cplayer] Running hook: ytdl_hook/on_load
    [cplayer] Running hook: ytdl_hook/on_load
    [ytdl_hook] playlist hook
    [ifo_dvdnav] Opening /home/roberto/donde venderan buen trago 720p.mp4
    [bdmv/bluray] Opening /home/roberto/donde venderan buen trago 720p.mp4
    [file] Opening /home/roberto/donde venderan buen trago 720p.mp4
    [demux] Trying demuxers for level=normal.
    [cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"r":0,"t":0} -> 1
    [cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"r":0,"t":0} -> 1
    [osd/libass] libass API version: 0x1703000
    [osd/libass] libass source: tarball: 0.17.3
    [osd/libass] Shaper: FriBidi 1.0.15 (SIMPLE) HarfBuzz-ng 10.2.0 (COMPLEX)
    [osd/libass] Setting up fonts...
    [lavf] Found 'mov,mp4,m4a,3gp,3g2,mj2' at score=100 size=2048.
    [demux] Detected file format: mov,mp4,m4a,3gp,3g2,mj2 (libavformat)
    [cplayer] Opening done: /home/roberto/donde venderan buen trago 720p.mp4
    [osd/libass] Using font provider fontconfig
    [osd/libass] Done.
    [find_files] Loading external files in /home/roberto/
    [cplayer] Running hook: auto_profiles/on_preloaded
    [cplayer] Failed sending hook command auto_profiles/on_preloaded. Removing hook.
    [cplayer] Running hook: ytdl_hook/on_preloaded
    [lavf] select track 0
    [lavf] select track 1
    [cplayer] ● Video  --vid=1               (h264 1280x720 29.97 fps) [default]
    [cplayer] ● Audio  --aid=1  --alang=eng  (aac 2ch 44100 Hz 128 kbps) [default]
    [vo/gpu-next] Probing for best GPU context.
    [vo/gpu-next/auto] Initializing GPU context 'auto'
    [vo/gpu-next/vulkan] Initializing GPU context 'waylandvk'
    [vo/gpu-next/libplacebo] Initialized libplacebo v7.349.0 (API v349)
    [vo/gpu-next/libplacebo] Creating vulkan instance with extensions:
    [vo/gpu-next/libplacebo]     VK_KHR_get_physical_device_properties2
    [vo/gpu-next/libplacebo]     VK_KHR_portability_enumeration
    [vo/gpu-next/libplacebo]     VK_KHR_surface
    [vo/gpu-next/libplacebo]     VK_KHR_wayland_surface
    [vo/gpu-next/libplacebo] Failed creating instance: VK_ERROR_INCOMPATIBLE_DRIVER
    [vo/gpu-next/libplacebo] Failed initializing vulkan instance
    [vo/gpu-next/vulkan] Initializing GPU context 'x11vk'
    [vo/gpu-next/libplacebo] Initialized libplacebo v7.349.0 (API v349)
    [vo/gpu-next/libplacebo] Creating vulkan instance with extensions:
    [vo/gpu-next/libplacebo]     VK_KHR_get_physical_device_properties2
    [vo/gpu-next/libplacebo]     VK_KHR_portability_enumeration
    [vo/gpu-next/libplacebo]     VK_KHR_surface
    [vo/gpu-next/libplacebo]     VK_KHR_xlib_surface
    [vo/gpu-next/libplacebo] Failed creating instance: VK_ERROR_INCOMPATIBLE_DRIVER
    [vo/gpu-next/libplacebo] Failed initializing vulkan instance
    [vo/gpu-next/opengl] Initializing GPU context 'wayland'
    [vo/gpu-next/opengl] Initializing GPU context 'x11egl'
    [vo/gpu-next/x11] X11 opening display: :0.0
    [vo/gpu-next/x11] Display 0 (HDMI-1): [0, 0, 1920, 1080] @ 60.000000 FPS
    [vo/gpu-next/x11] Current display FPS: 60.000000
    [vo/gpu-next/opengl] EGL_VERSION=1.5
    [vo/gpu-next/opengl] EGL_VENDOR=Mesa Project
    [vo/gpu-next/opengl] EGL_CLIENT_APIS=OpenGL OpenGL_ES 
    [vo/gpu-next/opengl] Trying to create Desktop OpenGL context.
    [vo/gpu-next/opengl] Choosing visual EGL config 0x9, visual ID 0x21
    [vo/gpu-next/x11] The XPresent extension was found.
    [vo/gpu-next/x11] XPresent enabled.
    [vo/gpu-next/opengl] GL_VERSION='3.1 Mesa 25.0.7-2'
    [vo/gpu-next/opengl] Detected desktop OpenGL 3.1.
    [vo/gpu-next/opengl] GL_VENDOR='Mesa'
    [vo/gpu-next/opengl] GL_RENDERER='Mali-G31 (Panfrost)'
    [vo/gpu-next/opengl] GL_SHADING_LANGUAGE_VERSION='1.40'
    [vo/gpu-next/opengl] Loaded extension GL_ARB_sync.
    [vo/gpu-next/opengl] Loaded extension GL_ARB_timer_query.
    [vo/gpu-next/opengl] Loaded extension GL_ARB_invalidate_subdata.
    [vo/gpu-next/opengl] Loaded extension GL_ARB_get_program_binary.
    [vo/gpu-next/opengl] Loaded extension GL_ARB_buffer_storage.
    [vo/gpu-next/opengl] Loaded extension GL_ARB_shader_image_load_store.
    [vo/gpu-next/opengl] Loaded extension GL_ARB_shader_storage_buffer_object.
    [vo/gpu-next/opengl] Loaded extension GL_ARB_arrays_of_arrays.
    [vo/gpu-next/opengl] Loaded extension GL_ARB_debug_output.
    [vo/gpu-next/opengl] Loaded extension GL_KHR_debug.
    [vo/gpu-next/libplacebo] Initialized libplacebo v7.349.0 (API v349)
    [vo/gpu-next/libplacebo] Detected OpenGL version strings:
    [vo/gpu-next/libplacebo]     GL_VERSION:  3.1 Mesa 25.0.7-2
    [vo/gpu-next/libplacebo]     GL_VENDOR:   Mesa
    [vo/gpu-next/libplacebo]     GL_RENDERER: Mali-G31 (Panfrost)
    [vo/gpu-next/libplacebo]     GL_SHADING_LANGUAGE_VERSION: 1.40
    [vo/gpu-next/libplacebo] GPU information:
    [vo/gpu-next/libplacebo]     GLSL version: 140
    [vo/gpu-next/libplacebo]       subgroup_size:             0
    [vo/gpu-next/libplacebo]       min_gather_offset:         0
    [vo/gpu-next/libplacebo]       max_gather_offset:         0
    [vo/gpu-next/libplacebo]     Limits:
    [vo/gpu-next/libplacebo]       thread_safe:               0
    [vo/gpu-next/libplacebo]       callbacks:                 1
    [vo/gpu-next/libplacebo]       max_buf_size:              18446744073709551615
    [vo/gpu-next/libplacebo]       max_ubo_size:              65536
    [vo/gpu-next/libplacebo]       max_ssbo_size:             134217728
    [vo/gpu-next/libplacebo]       max_vbo_size:              18446744073709551615
    [vo/gpu-next/libplacebo]       max_mapped_size:           18446744073709551615
    [vo/gpu-next/libplacebo]       max_buffer_texels:         0
    [vo/gpu-next/libplacebo]       align_host_ptr:            0
    [vo/gpu-next/libplacebo]       host_cached:               0
    [vo/gpu-next/libplacebo]       max_tex_1d_dim:            16384
    [vo/gpu-next/libplacebo]       max_tex_2d_dim:            16384
    [vo/gpu-next/libplacebo]       max_tex_3d_dim:            16384
    [vo/gpu-next/libplacebo]       blittable_1d_3d:           0
    [vo/gpu-next/libplacebo]       buf_transfer:              1
    [vo/gpu-next/libplacebo]       align_tex_xfer_pitch:      4
    [vo/gpu-next/libplacebo]       align_tex_xfer_offset:     32
    [vo/gpu-next/libplacebo]       max_variable_comps:        16380
    [vo/gpu-next/libplacebo]       max_constants:             0
    [vo/gpu-next/libplacebo]       max_pushc_size:            0
    [vo/gpu-next/libplacebo]       align_vertex_stride:       1
    [vo/gpu-next/libplacebo]       fragment_queues:           1
    [vo/gpu-next/libplacebo]       compute_queues:            0
    [vo/gpu-next/libplacebo]     External API interop:
    [vo/gpu-next/libplacebo]       UUID: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
    [vo/gpu-next/libplacebo]       PCI: 0000:00:00:0
    [vo/gpu-next/libplacebo]       buf export caps: 0x0
    [vo/gpu-next/libplacebo]       buf import caps: 0x0
    [vo/gpu-next/libplacebo]       tex export caps: 0x8
    [vo/gpu-next/libplacebo]       tex import caps: 0x8
    [vo/gpu-next/libplacebo]       sync export caps: 0x0
    [vo/gpu-next/libplacebo]       sync import caps: 0x0
    [vo/gpu-next] Assuming 60.000000 FPS for display sync.
    [vd] Container reported FPS: 29.970030
    [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_cuvid (h264) - Nvidia CUVID H264 decoder
    [vd] Opening decoder h264
    [vd] No hardware decoding requested.
    [vd] Using software decoding.
    [vd] Detected 4 logical cores.
    [vd] Requesting 5 threads for decoding.
    [vd] Selected decoder: h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
    [vf] User filter list:
    [vf]   (empty)
    [ad] Codec list:
    [ad]     aac - AAC (Advanced Audio Coding)
    [ad]     aac_fixed (aac) - AAC (Advanced Audio Coding)
    [ad] Opening decoder aac
    [ad] Requesting 1 threads for decoding.
    [ad] Selected decoder: aac - AAC (Advanced Audio Coding)
    [af] User filter list:
    [af]   (empty)
    [cplayer] Starting playback...
    [af] [in] 44100Hz stereo 2ch floatp
    [af] [userspeed] 44100Hz stereo 2ch floatp
    [af] [userspeed] (disabled)
    [af] [convert] 44100Hz stereo 2ch floatp
    [vd] DR failed - disabling.
    [vd] Using software decoding.
    [vd] Decoder format: 1280x720 yuv420p bt.709/bt.709/bt.1886/limited/auto CL=mpeg2/4/h264 crop=1280x720+0+0 A=none
    [vd] Using container aspect ratio.
    [vf] [in] 1280x720 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1280x720+0+0 A=none
    [vf] [userdeint] 1280x720 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1280x720+0+0 A=none
    [vf] [userdeint] (disabled)
    [vf] [autovflip] 1280x720 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1280x720+0+0 A=none
    [vf] [autovflip] (disabled)
    [vf] [autorotate] 1280x720 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1280x720+0+0 A=none
    [vf] [autorotate] (disabled)
    [vf] [convert] 1280x720 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1280x720+0+0 A=none
    [vf] [convert] (disabled)
    [vf] [out] 1280x720 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1280x720+0+0 A=none
    [osd/libass] libass API version: 0x1703000
    [osd/libass] libass source: tarball: 0.17.3
    [osd/libass] Shaper: FriBidi 1.0.15 (SIMPLE) HarfBuzz-ng 10.2.0 (COMPLEX)
    [osd/libass] Setting up fonts...
    [osd/libass] Using font provider fontconfig
    [osd/libass] Done.
    [ao] Trying audio driver 'pipewire'
    [ao/pipewire] requested format: 44100 Hz, stereo channels, floatp
    [ao/pipewire] Headers version: 1.4.2
    [ao/pipewire] Library version: 1.4.2
    [W][19:21:30.962233] pw.conf      | [          conf.c: 1182 try_load_conf()] can't load config client.conf: No such file or directory
    [E][19:21:30.962448] pw.conf      | [          conf.c: 1215 pw_conf_load_conf_for_context()] can't load config client.conf: No such file or directory
    [ao] Trying audio driver 'pulse'
    [ao/pulse] requested format: 44100 Hz, stereo channels, floatp
    [ao/pulse] Library version: 17.0.0
    [ao/pulse] Proto: 35
    [ao/pulse] Server proto: 35
    [ao/pulse] Channel layouts:
    [ao/pulse]  - #fl
    [ao/pulse]  - #fr
    [ao/pulse]  - #fc
    [ao/pulse]  - #lfe
    [ao/pulse]  - #bl
    [ao/pulse]  - #br
    [ao/pulse]  - #flc
    [ao/pulse]  - #frc
    [ao/pulse]  - #bc
    [ao/pulse]  - #sl
    [ao/pulse]  - #sr
    [ao/pulse]  - #tc
    [ao/pulse]  - #tfl
    [ao/pulse]  - #tfc
    [ao/pulse]  - #tfr
    [ao/pulse]  - #tbl
    [ao/pulse]  - #tbc
    [ao/pulse]  - #tbr
    [ao/pulse] result: stereo
    [ao/pulse] device buffer: 6172 samples.
    [ao/pulse] using soft-buffer of 8820 samples.
    [cplayer] AO: [pulse] 44100Hz stereo 2ch float
    [cplayer] AO: Description: PulseAudio audio output
    [autoconvert] inserting resampler
    [swresample] format change, reinitializing resampler
    [swresample] 44100Hz stereo floatp -> 44100Hz stereo float
    [af] [out] 44100Hz stereo 2ch float
    [cplayer] VO: [gpu-next] 1280x720 yuv420p
    [cplayer] VO: Description: Video output based on libplacebo
    [vo/gpu-next] reconfig to 1280x720 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1280x720+0+0 A=none
    [vo/gpu-next] Window size: 1280x720 (Borders: l=0 t=0 r=0 b=0)
    [vo/gpu-next] Video source: 1280x720 (1:1)
    [vo/gpu-next] Video display: (0, 0) 1280x720 -> (0, 0) 1280x720
    [vo/gpu-next] Video scale: 1.000000/1.000000
    [vo/gpu-next] OSD borders: l=0 t=0 r=0 b=0
    [vo/gpu-next] Video borders: l=0 t=0 r=0 b=0
    [vo/gpu-next/libplacebo] Dithering to 8 bit depth
    [cplayer] first video frame after restart shown
    [cplayer] audio ready
    [cplayer] starting audio playback
    [vo/gpu-next/x11] Disabling screensaver.
    [cplayer] playback restart complete @ 0.000000, audio=playing, video=playing
    [ao/pulse] starting AO
    [vo/gpu-next/libplacebo] Detected fps ratio 0.0000 below threshold 0.0100, disabling interpolation
    [cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"r":0,"t":0} -> 1
    [vo/gpu-next/libplacebo] Detected fps ratio 0.5000 exceeds threshold 0.0100, re-enabling interpolation
    [vo/gpu-next/libplacebo] Estimated source FPS: 29.970, display FPS: 9.990
    [vo/gpu-next/libplacebo] Estimated source FPS: 29.970, display FPS: 14.985
    [vo/gpu-next/libplacebo] Estimated source FPS: 29.970, display FPS: 9.990
    [vo/gpu-next/libplacebo] Estimated source FPS: 29.970, display FPS: 14.985
    [cplayer] EOF code: 5  
    [statusline] AV: 00:00:15 / 00:04:18 (6%) A-V:  0.000 Dropped: 283
    [cplayer] finished playback, success (reason 3)
    [cplayer] Running hook: ytdl_hook/on_after_end_file
    [vo/gpu-next/x11] Enabling screensaver.
    [cplayer] Exiting... (Quit)
    roberto@orangepizero3:~/mpv-philippl-v4l2request/mpv$

     

    I don't see any mention of hwdec=drm in the mpv log

     

    I used the libplacebo from Trixie, not compiled on my own... I can try that next. <- final update for this post: libplacebo downloaded and built by myself did not help... but now I will try mpv 0.3.9

  11. Ok the problem is that I didn't download the correct source code:

     

    This: wget https://github.com/philipl/mpv/archive/refs/heads/v4l2request.zip

     

    Gets me a hwdec.c without the lines:

    extern const struct ra_hwdec_driver ra_hwdec_v4l2request;
    extern const struct ra_hwdec_driver ra_hwdec_v4l2request_overlay;

    And possibly more missing stuff

     

    New try for source download:

    $ git clone https://github.com/philipl/mpv.git 

    $ cd mpv

    git checkout -b v4l2request origin/v4l2request

    $ nano video/out/gpu/hwdec.c   <-- contains the changes for v4l2 request, then exit nano without changes

    $ meson setup build  <-- shows the same warnings as before

    $ meson compile -C build

    ...

    :( I still get this build error

     

    Spoiler

    /usr/bin/ld: libmpv.so.2.5.0.p/video_out_gpu_hwdec.c.o: in function `ra_hwdec_validate_opt_full':
    /home/roberto/mpv/build/../video/out/gpu/hwdec.c:196:(.text+0x64): undefined reference to `ra_hwdec_v4l2request'
    /usr/bin/ld: /home/roberto/mpv/build/../video/out/gpu/hwdec.c:196:(.text+0x68): undefined reference to `ra_hwdec_v4l2request'
    /usr/bin/ld: libmpv.so.2.5.0.p/video_out_gpu_hwdec.c.o: in function `load_hwdecs_all':
    /home/roberto/mpv/build/../video/out/gpu/hwdec.c:250:(.text+0x744): undefined reference to `ra_hwdec_v4l2request'
    /usr/bin/ld: /home/roberto/mpv/build/../video/out/gpu/hwdec.c:250:(.text+0x748): undefined reference to `ra_hwdec_v4l2request'
    /usr/bin/ld: libmpv.so.2.5.0.p/video_out_gpu_hwdec.c.o: in function `ra_hwdec_ctx_init':
    /home/roberto/mpv/build/../video/out/gpu/hwdec.c:284:(.text+0x7cc): undefined reference to `ra_hwdec_v4l2request'
    /usr/bin/ld: libmpv.so.2.5.0.p/video_out_gpu_hwdec.c.o:/home/roberto/mpv/build/../video/out/gpu/hwdec.c:284: more undefined references to `ra_hwdec_v4l2request' follow
    /usr/bin/ld: libmpv.so.2.5.0.p/video_out_gpu_hwdec.c.o:(.data.rel.ro+0x8): undefined reference to `ra_hwdec_v4l2request_overlay'
    collect2: error: ld returned 1 exit status
    ninja: build stopped: subcommand failed.

     

     

    Can anybody suggest, how I use these instuctions: https://gist.github.com/linguisticmind/d765a12e121bfdef2e8878b38d11b5ef

     

    But use this repo's specific branch: https://github.com/philipl/mpv/tree/v4l2request ?

     

    UPDATE: I followed the first step of https://gist.github.com/linguisticmind/d765a12e121bfdef2e8878b38d11b5ef

    and it installed many more dependencies than I did by myself manually.

    I returned to the git folder source from philipl, and tried again:

    Now "meson setup build" shows x11 and wayland support... all the options are enabled, except d3d11

  12. Yep... that looks like the method I had thought about: get the source from https://github.com/philipl/mpv.git#branch=v4l2request and compile it with the v4l2request option

     

    I have old experience making redhat rpms, but I need to learn how to make debian debs :)

     

    UPDATE: I wrote my self built debian trixie xfce image with 6.15.4 from July (need 6.13+ for v4l2 kernel functions)... then

    Install the apt.undo.it repo and ffmpeg, as per the first post of this thread

     

    (Following guide from https://github.com/philipl/mpv/tree/v4l2request)

     

    $ sudo apt install libavcodec-dev (installs libavutil-dev libswresample-dev automatically)

    $ sudo apt install libavdevice-dev (installs libavfilter-dev  libavformat-dev  libpostproc-dev  libswscale-dev automatically)

    $ sudo apt install meson cmake pkg-config

     

    Download code:

    $ wget https://github.com/philipl/mpv/archive/refs/heads/v4l2request.zip

    $ unzip v4l2request.zip

    $ cd mpv-4l2request

     

    Install libplacebo source

    $ mkdir -p subprojects
    $ git clone https://code.videolan.org/videolan/libplacebo.git --depth=1 --recursive subprojects/libplacebo

    $ sudo apt install libplacebo-dev libass-dev

     

    Build:

    $ meson setup build

     

    Spoiler

    roberto@orangepizero3:~/mpv-4l2request$ meson setup build
    The Meson build system
    Version: 1.7.0
    Source dir: /home/roberto/mpv-4l2request
    Build dir: /home/roberto/mpv-4l2request/build
    Build type: native build
    Project name: mpv
    Project version: 0.40.0-UNKNOWN
    C compiler for the host machine: cc (gcc 14.2.0 "cc (Debian 14.2.0-19) 14.2.0")
    C linker for the host machine: cc ld.bfd 2.44
    Host machine cpu family: aarch64
    Host machine cpu: aarch64
    Program python3 found: YES (/usr/bin/python3)
    Found pkg-config: YES (/usr/bin/pkg-config) 1.8.1
    Run-time dependency libavcodec found: YES 61.19.101
    Run-time dependency libavfilter found: YES 10.4.100
    Run-time dependency libavformat found: YES 61.7.100
    Run-time dependency libavutil found: YES 59.39.100
    Run-time dependency libswresample found: YES 5.3.100
    Run-time dependency libswscale found: YES 8.3.100
    Run-time dependency libplacebo found: YES 7.349.0
    Run-time dependency libass found: YES 0.17.3
    Compiler for C supports arguments -Wdisabled-optimization: YES 
    Compiler for C supports arguments -Wempty-body: YES 
    Compiler for C supports arguments -Wformat: YES 
    Compiler for C supports arguments -Wimplicit-fallthrough: YES 
    Compiler for C supports arguments -Wparentheses: YES 
    Compiler for C supports arguments -Wpointer-arith: YES 
    Compiler for C supports arguments -Wshadow: YES 
    Compiler for C supports arguments -Wundef: YES 
    Compiler for C supports arguments -Wvla: YES 
    Compiler for C supports arguments -Wno-cast-function-type: YES 
    Compiler for C supports arguments -Wno-format-zero-length: YES 
    Compiler for C supports arguments -Wno-missing-field-initializers: YES 
    Compiler for C supports arguments -Wno-sign-compare: YES 
    Compiler for C supports arguments -Wno-switch: YES 
    Compiler for C supports arguments -Wno-unused-parameter: YES 
    Compiler for C supports arguments -fno-math-errno: YES 
    Compiler for C supports arguments -fno-signed-zeros: YES 
    Compiler for C supports arguments -fno-trapping-math: YES 
    Compiler for C supports arguments -Wmissing-prototypes: YES 
    Compiler for C supports arguments -Wstrict-prototypes: YES 
    Compiler for C supports arguments -Werror=implicit-function-declaration: YES 
    Compiler for C supports arguments -Wno-pointer-sign: YES 
    Compiler for C supports arguments -Wformat -Werror=format-security: YES 
    Compiler for C supports link arguments -Wl,--nxcompat,--no-seh,--dynamicbase: NO 
    Compiler for C supports link arguments -Wl,-z,noexecstack: YES 
    Run-time dependency dl found: YES
    Library atomic found: YES
    Compiler for C supports link arguments -rdynamic: YES 
    Run-time dependency threads found: YES
    Header "pthread.h" has symbol "pthread_condattr_setclock" with dependency threads: YES 
    Run-time dependency appleframeworks found: NO (tried framework)
    Checking for function "fork" : YES 
    Checking for function "ppoll" : YES 
    Checking for function "memrchr" : YES 
    Library windowsapp skipped: feature uwp disabled
    Checking for function "glob" : YES 
    Header "sys/vt.h" has symbol "VT_GETMODE" : YES 
    Header "dev/wscons/wsdisplay_usl_io.h" has symbol "VT_GETMODE" : NO 
    Checking for function "pthread_setname_np" with dependency threads: YES 
    Checking for function "fstatfs" : NO 
    Checking for function "fstatfs" : YES 
    Compiler for C supports function attribute vector_size: YES 
    Program /home/roberto/mpv-4l2request/TOOLS/docutils-wrapper.py found: YES (/home/roberto/mpv-4l2request/TOOLS/docutils-wrapper.py)
    Program /home/roberto/mpv-4l2request/TOOLS/file2string.py found: YES (/home/roberto/mpv-4l2request/TOOLS/file2string.py)
    Program /home/roberto/mpv-4l2request/TOOLS/matroska.py found: YES (/home/roberto/mpv-4l2request/TOOLS/matroska.py)
    Program /home/roberto/mpv-4l2request/TOOLS/gen-mpv-desktop.py found: YES (/home/roberto/mpv-4l2request/TOOLS/gen-mpv-desktop.py)
    Program git found: YES (/usr/bin/git)
    Found CMake: /usr/bin/cmake (3.31.6)
    Run-time dependency libcdio found: NO (tried pkgconfig and cmake)
    Run-time dependency libcdio_paranoia found: NO (tried pkgconfig and cmake)
    Has header "linux/dvb/frontend.h" : YES 
    Run-time dependency dvdnav found: NO (tried pkgconfig and cmake)
    Run-time dependency iconv found: YES
    Run-time dependency mujs found: NO (tried pkgconfig and cmake)
    Run-time dependency lcms2 found: YES 2.16
    Run-time dependency libarchive found: NO (tried pkgconfig and cmake)
    Run-time dependency libavdevice found: YES 61.3.100
    Run-time dependency libbluray found: NO (tried pkgconfig and cmake)
    Library m found: YES
    Library rt found: YES
    Run-time dependency lua found: NO (tried pkgconfig and cmake)
    Run-time dependency lua52 found: NO (tried pkgconfig and cmake)
    Run-time dependency lua5.2 found: NO (tried pkgconfig and cmake)
    Run-time dependency lua-5.2 found: NO (tried pkgconfig and cmake)
    Run-time dependency luajit found: NO (tried pkgconfig and cmake)
    Run-time dependency lua51 found: NO (tried pkgconfig and cmake)
    Run-time dependency lua5.1 found: NO (tried pkgconfig and cmake)
    Run-time dependency lua-5.1 found: NO (tried pkgconfig and cmake)
    Run-time dependency rubberband found: NO (tried pkgconfig and cmake)
    Dependency sdl2 skipped: feature sdl2 disabled
    Run-time dependency uchardet found: NO (tried pkgconfig and cmake)
    Run-time dependency vapoursynth found: NO (tried pkgconfig and cmake)
    Run-time dependency vapoursynth-script found: NO (tried pkgconfig and cmake)
    Run-time dependency zimg found: NO (tried pkgconfig and cmake)
    Run-time dependency zlib found: YES 1.3.1
    Run-time dependency alsa found: NO (tried pkgconfig and cmake)
    Dependency appleframeworks (modules: Foundation, AudioToolbox) skipped: feature audiounit disabled
    Header "AudioToolbox/AudioToolbox.h" has symbol "kAudioUnitSubType_RemoteIO" skipped: feature audiounit disabled
    Run-time dependency appleframeworks found: NO (tried framework)
    Run-time dependency appleframeworks found: NO (tried framework)
    Run-time dependency jack found: NO (tried pkgconfig and cmake)
    Dependency openal skipped: feature openal disabled
    Library OpenSLES found: NO
    Header "sys/soundcard.h" has symbol "SNDCTL_DSP_HALT" : NO 
    Run-time dependency libpipewire-0.3 found: NO (tried pkgconfig and cmake)
    Run-time dependency libpulse found: NO (tried pkgconfig and cmake)
    Run-time dependency sndio found: NO (tried pkgconfig and cmake)
    Header "audioclient.h" has symbol "IAudioClient" skipped: feature wasapi disabled
    Run-time dependency caca found: NO (tried pkgconfig and cmake)
    Has header "d3d9.h" skipped: feature direct3d disabled
    Run-time dependency libdrm found: NO (tried pkgconfig and cmake)
    Run-time dependency libdisplay-info found: NO (tried pkgconfig and cmake)
    Dependency gbm skipped: feature gbm disabled
    Run-time dependency libjpeg found: NO (tried pkgconfig and cmake)
    Dependency shaderc skipped: feature shaderc disabled
    Run-time dependency libsixel found: NO (tried pkgconfig and cmake)
    Checking for function "shm_open" : YES 
    Dependency spirv-cross-c-shared skipped: feature spirv-cross disabled
    Run-time dependency wayland-client found: NO (tried pkgconfig and cmake)
    Run-time dependency wayland-cursor found: NO (tried pkgconfig and cmake)
    Run-time dependency wayland-protocols found: NO (tried pkgconfig and cmake)
    Run-time dependency xkbcommon found: NO (tried pkgconfig and cmake)
    Run-time dependency wayland-client found: NO (tried pkgconfig and cmake)
    Has header "linux/input-event-codes.h" with dependency wayland-client: YES 
    Program wayland-scanner found: NO
    Run-time dependency x11 found: NO (tried pkgconfig and cmake)
    Run-time dependency xscrnsaver found: NO (tried pkgconfig and cmake)
    Run-time dependency xext found: NO (tried pkgconfig and cmake)
    Run-time dependency xpresent found: NO (tried pkgconfig and cmake)
    Run-time dependency xrandr found: NO (tried pkgconfig and cmake)
    Dependency xv skipped: feature xv disabled
    Library EGL skipped: feature egl-angle-lib disabled
    Run-time dependency egl found: NO (tried pkgconfig and cmake)
    Library EGL skipped: feature egl-android disabled
    Dependency wayland-egl skipped: feature egl-wayland disabled
    Run-time dependency vulkan found: YES 1.4.309
    Header "vulkan/vulkan_core.h" has symbol "VK_VERSION_1_3" with dependency vulkan: YES 
    Checking for function "vkCreateDisplayPlaneSurfaceKHR" with dependency vulkan: YES 
    Run-time dependency ffnvcodec found: NO (tried pkgconfig and cmake)
    Header "OpenGLES/ES3/glext.h" has symbol "GL_RGB32F" skipped: feature ios-gl disabled
    Header "libavutil/hwcontext.h" has symbol "AV_HWDEVICE_TYPE_V4L2REQUEST" : YES 
    Run-time dependency libva found: NO (tried pkgconfig and cmake)
    Dependency libva-drm skipped: feature vaapi-drm disabled
    Dependency libva-wayland skipped: feature vaapi-wayland disabled
    Dependency libva-x11 skipped: feature vaapi-x11 disabled
    Dependency libva-win32 skipped: feature vaapi-win32 disabled
    Dependency vdpau skipped: feature vdpau disabled
    Dependency appleframeworks (modules: CoreVideo) skipped: feature videotoolbox-pl disabled
    Program xcrun skipped: feature swift-build disabled
    Program rst2man rst2man.py found: NO
    Program rst2html rst2html.py skipped: feature html-build disabled
    Program rst2pdf skipped: feature pdf-build disabled
    Configuring config.h using configuration
    Message: List of enabled features: build-date cplugins debug dvbin ffmpeg gl glibc-thread-name glob glob-posix gpl iconv lcms2 libass libavdevice libdl libplacebo linux-fstatfs memrchr posix posix-shm ppoll pthread-condattr-setclock v4l2request vector vk-khr-display vt.h vulkan zlib
    Fetching value of define "MPV_CLIENT_API_VERSION" : (((2) << 16) | (5) | 0UL) 
    Compiler for C supports link arguments -Wl,-Bsymbolic: YES 
    Build targets in project: 28

    mpv 0.40.0-UNKNOWN

        d3d11      : NO
        javascript : NO
        libmpv     : YES
        lua        : NO
        opengl     : YES
        v4l2request: YES
        vulkan     : YES
        wayland    : NO
        x11        : NO

    Found ninja-1.12.1 at /usr/bin/ninja

     

    $

     

    ^ Finally all the essential dependencies were found, and the disabled features are with a RED "NO"... but v4l2request is ENABLED :)

     

    Compile:

     

    $ meson compile -C build

     

    FAILED :(

    Spoiler

    roberto@orangepizero3:~/mpv-4l2request$ meson compile -C build
    INFO: autodetecting backend as ninja
    INFO: calculating backend command to run: /usr/bin/ninja -C /home/roberto/mpv-4l2request/build
    ninja: Entering directory `/home/roberto/mpv-4l2request/build'
    [232/235] Linking target mpv
    FAILED: mpv 
    cc  -o mpv libmpv.so.2.5.0.p/audio_aframe.c.o libmpv.so.2.5.0.p/audio_chmap.c.o libmpv.so.2.5.0.p/audio_chmap_avchannel.c.o libmpv.so.2.5.0.p/audio_chmap_sel.c.o libmpv.so.2.5.0.p/audio_decode_ad_lavc.c.o libmpv.so.2.5.0.p/audio_decode_ad_spdif.c.o libmpv.so.2.5.0.p/audio_filter_af_drop.c.o libmpv.so.2.5.0.p/audio_filter_af_format.c.o libmpv.so.2.5.0.p/audio_filter_af_lavcac3enc.c.o libmpv.so.2.5.0.p/audio_filter_af_scaletempo.c.o libmpv.so.2.5.0.p/audio_filter_af_scaletempo2.c.o libmpv.so.2.5.0.p/audio_filter_af_scaletempo2_internals.c.o libmpv.so.2.5.0.p/audio_fmt-conversion.c.o libmpv.so.2.5.0.p/audio_format.c.o libmpv.so.2.5.0.p/audio_out_ao.c.o libmpv.so.2.5.0.p/audio_out_ao_lavc.c.o libmpv.so.2.5.0.p/audio_out_ao_null.c.o libmpv.so.2.5.0.p/audio_out_ao_pcm.c.o libmpv.so.2.5.0.p/audio_out_buffer.c.o libmpv.so.2.5.0.p/common_av_common.c.o libmpv.so.2.5.0.p/common_av_log.c.o libmpv.so.2.5.0.p/common_codecs.c.o libmpv.so.2.5.0.p/common_common.c.o libmpv.so.2.5.0.p/common_encode_lavc.c.o libmpv.so.2.5.0.p/common_msg.c.o libmpv.so.2.5.0.p/common_playlist.c.o libmpv.so.2.5.0.p/common_recorder.c.o libmpv.so.2.5.0.p/common_stats.c.o libmpv.so.2.5.0.p/common_tags.c.o libmpv.so.2.5.0.p/common_version.c.o libmpv.so.2.5.0.p/demux_codec_tags.c.o libmpv.so.2.5.0.p/demux_cue.c.o libmpv.so.2.5.0.p/demux_cache.c.o libmpv.so.2.5.0.p/demux_demux.c.o libmpv.so.2.5.0.p/demux_demux_cue.c.o libmpv.so.2.5.0.p/demux_demux_disc.c.o libmpv.so.2.5.0.p/demux_demux_edl.c.o libmpv.so.2.5.0.p/demux_demux_lavf.c.o libmpv.so.2.5.0.p/demux_demux_mf.c.o libmpv.so.2.5.0.p/demux_demux_mkv.c.o libmpv.so.2.5.0.p/demux_demux_mkv_timeline.c.o libmpv.so.2.5.0.p/demux_demux_mpv.c.o libmpv.so.2.5.0.p/demux_demux_null.c.o libmpv.so.2.5.0.p/demux_demux_playlist.c.o libmpv.so.2.5.0.p/demux_demux_raw.c.o libmpv.so.2.5.0.p/demux_demux_timeline.c.o libmpv.so.2.5.0.p/demux_ebml.c.o libmpv.so.2.5.0.p/demux_packet.c.o libmpv.so.2.5.0.p/demux_packet_pool.c.o libmpv.so.2.5.0.p/demux_timeline.c.o libmpv.so.2.5.0.p/filters_f_async_queue.c.o libmpv.so.2.5.0.p/filters_f_autoconvert.c.o libmpv.so.2.5.0.p/filters_f_auto_filters.c.o libmpv.so.2.5.0.p/filters_f_decoder_wrapper.c.o libmpv.so.2.5.0.p/filters_f_demux_in.c.o libmpv.so.2.5.0.p/filters_f_hwtransfer.c.o libmpv.so.2.5.0.p/filters_f_lavfi.c.o libmpv.so.2.5.0.p/filters_f_output_chain.c.o libmpv.so.2.5.0.p/filters_f_swresample.c.o libmpv.so.2.5.0.p/filters_f_swscale.c.o libmpv.so.2.5.0.p/filters_f_utils.c.o libmpv.so.2.5.0.p/filters_filter.c.o libmpv.so.2.5.0.p/filters_frame.c.o libmpv.so.2.5.0.p/filters_user_filters.c.o libmpv.so.2.5.0.p/input_cmd.c.o libmpv.so.2.5.0.p/input_event.c.o libmpv.so.2.5.0.p/input_input.c.o libmpv.so.2.5.0.p/input_ipc.c.o libmpv.so.2.5.0.p/input_keycodes.c.o libmpv.so.2.5.0.p/misc_bstr.c.o libmpv.so.2.5.0.p/misc_charset_conv.c.o libmpv.so.2.5.0.p/misc_codepoint_width.c.o libmpv.so.2.5.0.p/misc_dispatch.c.o libmpv.so.2.5.0.p/misc_io_utils.c.o libmpv.so.2.5.0.p/misc_json.c.o libmpv.so.2.5.0.p/misc_language.c.o libmpv.so.2.5.0.p/misc_natural_sort.c.o libmpv.so.2.5.0.p/misc_node.c.o libmpv.so.2.5.0.p/misc_path_utils.c.o libmpv.so.2.5.0.p/misc_random.c.o libmpv.so.2.5.0.p/misc_rendezvous.c.o libmpv.so.2.5.0.p/misc_thread_pool.c.o libmpv.so.2.5.0.p/misc_thread_tools.c.o libmpv.so.2.5.0.p/options_m_config_core.c.o libmpv.so.2.5.0.p/options_m_config_frontend.c.o libmpv.so.2.5.0.p/options_m_option.c.o libmpv.so.2.5.0.p/options_m_property.c.o libmpv.so.2.5.0.p/options_options.c.o libmpv.so.2.5.0.p/options_parse_commandline.c.o libmpv.so.2.5.0.p/options_parse_configfile.c.o libmpv.so.2.5.0.p/options_path.c.o libmpv.so.2.5.0.p/player_audio.c.o libmpv.so.2.5.0.p/player_client.c.o libmpv.so.2.5.0.p/player_command.c.o libmpv.so.2.5.0.p/player_configfiles.c.o libmpv.so.2.5.0.p/player_external_files.c.o libmpv.so.2.5.0.p/player_loadfile.c.o libmpv.so.2.5.0.p/player_main.c.o libmpv.so.2.5.0.p/player_misc.c.o libmpv.so.2.5.0.p/player_osd.c.o libmpv.so.2.5.0.p/player_playloop.c.o libmpv.so.2.5.0.p/player_screenshot.c.o libmpv.so.2.5.0.p/player_scripting.c.o libmpv.so.2.5.0.p/player_sub.c.o libmpv.so.2.5.0.p/player_video.c.o libmpv.so.2.5.0.p/player_clipboard_clipboard.c.o libmpv.so.2.5.0.p/player_clipboard_clipboard-vo.c.o libmpv.so.2.5.0.p/stream_cookies.c.o libmpv.so.2.5.0.p/stream_stream.c.o libmpv.so.2.5.0.p/stream_stream_avdevice.c.o libmpv.so.2.5.0.p/stream_stream_cb.c.o libmpv.so.2.5.0.p/stream_stream_concat.c.o libmpv.so.2.5.0.p/stream_stream_edl.c.o libmpv.so.2.5.0.p/stream_stream_file.c.o libmpv.so.2.5.0.p/stream_stream_lavf.c.o libmpv.so.2.5.0.p/stream_stream_memory.c.o libmpv.so.2.5.0.p/stream_stream_mf.c.o libmpv.so.2.5.0.p/stream_stream_mpv.c.o libmpv.so.2.5.0.p/stream_stream_null.c.o libmpv.so.2.5.0.p/stream_stream_slice.c.o libmpv.so.2.5.0.p/sub_ass_mp.c.o libmpv.so.2.5.0.p/sub_dec_sub.c.o libmpv.so.2.5.0.p/sub_draw_bmp.c.o libmpv.so.2.5.0.p/sub_filter_sdh.c.o libmpv.so.2.5.0.p/sub_img_convert.c.o libmpv.so.2.5.0.p/sub_lavc_conv.c.o libmpv.so.2.5.0.p/sub_osd.c.o libmpv.so.2.5.0.p/sub_osd_libass.c.o libmpv.so.2.5.0.p/sub_sd_ass.c.o libmpv.so.2.5.0.p/sub_sd_lavc.c.o libmpv.so.2.5.0.p/video_csputils.c.o libmpv.so.2.5.0.p/video_decode_vd_lavc.c.o libmpv.so.2.5.0.p/video_filter_refqueue.c.o libmpv.so.2.5.0.p/video_filter_vf_format.c.o libmpv.so.2.5.0.p/video_filter_vf_sub.c.o libmpv.so.2.5.0.p/video_fmt-conversion.c.o libmpv.so.2.5.0.p/video_hwdec.c.o libmpv.so.2.5.0.p/video_image_loader.c.o libmpv.so.2.5.0.p/video_image_writer.c.o libmpv.so.2.5.0.p/video_img_format.c.o libmpv.so.2.5.0.p/video_mp_image.c.o libmpv.so.2.5.0.p/video_mp_image_pool.c.o libmpv.so.2.5.0.p/video_out_aspect.c.o libmpv.so.2.5.0.p/video_out_bitmap_packer.c.o libmpv.so.2.5.0.p/video_out_dither.c.o libmpv.so.2.5.0.p/video_out_dr_helper.c.o libmpv.so.2.5.0.p/video_out_filter_kernels.c.o libmpv.so.2.5.0.p/video_out_gpu_context.c.o libmpv.so.2.5.0.p/video_out_gpu_error_diffusion.c.o libmpv.so.2.5.0.p/video_out_gpu_hwdec.c.o libmpv.so.2.5.0.p/video_out_gpu_lcms.c.o libmpv.so.2.5.0.p/video_out_gpu_libmpv_gpu.c.o libmpv.so.2.5.0.p/video_out_gpu_osd.c.o libmpv.so.2.5.0.p/video_out_gpu_ra.c.o libmpv.so.2.5.0.p/video_out_gpu_shader_cache.c.o libmpv.so.2.5.0.p/video_out_gpu_spirv.c.o libmpv.so.2.5.0.p/video_out_gpu_user_shaders.c.o libmpv.so.2.5.0.p/video_out_gpu_utils.c.o libmpv.so.2.5.0.p/video_out_gpu_video.c.o libmpv.so.2.5.0.p/video_out_gpu_video_shaders.c.o libmpv.so.2.5.0.p/video_out_libmpv_sw.c.o libmpv.so.2.5.0.p/video_out_vo.c.o libmpv.so.2.5.0.p/video_out_vo_gpu.c.o libmpv.so.2.5.0.p/video_out_vo_image.c.o libmpv.so.2.5.0.p/video_out_vo_lavc.c.o libmpv.so.2.5.0.p/video_out_vo_libmpv.c.o libmpv.so.2.5.0.p/video_out_vo_null.c.o libmpv.so.2.5.0.p/video_out_vo_tct.c.o libmpv.so.2.5.0.p/video_out_vo_kitty.c.o libmpv.so.2.5.0.p/video_out_win_state.c.o libmpv.so.2.5.0.p/video_repack.c.o libmpv.so.2.5.0.p/video_sws_utils.c.o libmpv.so.2.5.0.p/video_out_placebo_ra_pl.c.o libmpv.so.2.5.0.p/video_out_placebo_utils.c.o libmpv.so.2.5.0.p/video_out_vo_gpu_next.c.o libmpv.so.2.5.0.p/video_out_gpu_next_context.c.o libmpv.so.2.5.0.p/osdep_io.c.o libmpv.so.2.5.0.p/osdep_subprocess.c.o libmpv.so.2.5.0.p/osdep_timer.c.o libmpv.so.2.5.0.p/ta_ta.c.o libmpv.so.2.5.0.p/ta_ta_talloc.c.o libmpv.so.2.5.0.p/ta_ta_utils.c.o libmpv.so.2.5.0.p/osdep_threads-posix.c.o libmpv.so.2.5.0.p/osdep_subprocess-posix.c.o libmpv.so.2.5.0.p/input_ipc-unix.c.o libmpv.so.2.5.0.p/osdep_poll_wrapper.c.o libmpv.so.2.5.0.p/osdep_terminal-unix.c.o libmpv.so.2.5.0.p/sub_filter_regex.c.o libmpv.so.2.5.0.p/osdep_language-posix.c.o libmpv.so.2.5.0.p/osdep_path-unix.c.o libmpv.so.2.5.0.p/osdep_timer-linux.c.o libmpv.so.2.5.0.p/stream_dvb_tune.c.o libmpv.so.2.5.0.p/stream_stream_dvb.c.o libmpv.so.2.5.0.p/video_out_opengl_common.c.o libmpv.so.2.5.0.p/video_out_opengl_context.c.o libmpv.so.2.5.0.p/video_out_opengl_formats.c.o libmpv.so.2.5.0.p/video_out_opengl_libmpv_gl.c.o libmpv.so.2.5.0.p/video_out_opengl_ra_gl.c.o libmpv.so.2.5.0.p/video_out_opengl_utils.c.o libmpv.so.2.5.0.p/video_out_hwdec_hwdec_vulkan.c.o libmpv.so.2.5.0.p/video_out_vulkan_context.c.o libmpv.so.2.5.0.p/video_out_vulkan_utils.c.o libmpv.so.2.5.0.p/video_filter_vf_gpu_vulkan.c.o libmpv.so.2.5.0.p/video_out_vulkan_context_display.c.o libmpv.so.2.5.0.p/video_filter_vf_gpu.c.o libmpv.so.2.5.0.p/video_v4l2request.c.o mpv.p/osdep_main-fn-unix.c.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-z,noexecstack -rdynamic -Wl,--start-group /usr/lib/aarch64-linux-gnu/libass.so /usr/lib/aarch64-linux-gnu/libavcodec.so /usr/lib/aarch64-linux-gnu/libavfilter.so /usr/lib/aarch64-linux-gnu/libavformat.so /usr/lib/aarch64-linux-gnu/libavutil.so /usr/lib/aarch64-linux-gnu/libplacebo.so /usr/lib/aarch64-linux-gnu/libswresample.so /usr/lib/aarch64-linux-gnu/libswscale.so -latomic -pthread /usr/lib/aarch64-linux-gnu/liblcms2.so /usr/lib/aarch64-linux-gnu/liblcms2_fast_float.a /usr/lib/aarch64-linux-gnu/liblcms2_threaded.a -lm /usr/lib/aarch64-linux-gnu/libavdevice.so -lrt /usr/lib/aarch64-linux-gnu/libz.so /usr/lib/aarch64-linux-gnu/libvulkan.so -Wl,--end-group
    /usr/bin/ld: libmpv.so.2.5.0.p/video_out_gpu_hwdec.c.o: in function `ra_hwdec_validate_opt_full':
    /home/roberto/mpv-4l2request/build/../video/out/gpu/hwdec.c:196:(.text+0x64): undefined reference to `ra_hwdec_v4l2request'
    /usr/bin/ld: /home/roberto/mpv-4l2request/build/../video/out/gpu/hwdec.c:196:(.text+0x68): undefined reference to `ra_hwdec_v4l2request'
    /usr/bin/ld: libmpv.so.2.5.0.p/video_out_gpu_hwdec.c.o: in function `load_hwdecs_all':
    /home/roberto/mpv-4l2request/build/../video/out/gpu/hwdec.c:250:(.text+0x744): undefined reference to `ra_hwdec_v4l2request'
    /usr/bin/ld: /home/roberto/mpv-4l2request/build/../video/out/gpu/hwdec.c:250:(.text+0x748): undefined reference to `ra_hwdec_v4l2request'
    /usr/bin/ld: libmpv.so.2.5.0.p/video_out_gpu_hwdec.c.o: in function `ra_hwdec_ctx_init':
    /home/roberto/mpv-4l2request/build/../video/out/gpu/hwdec.c:284:(.text+0x7cc): undefined reference to `ra_hwdec_v4l2request'
    /usr/bin/ld: libmpv.so.2.5.0.p/video_out_gpu_hwdec.c.o:/home/roberto/mpv-4l2request/build/../video/out/gpu/hwdec.c:284: more undefined references to `ra_hwdec_v4l2request' follow
    /usr/bin/ld: libmpv.so.2.5.0.p/video_out_gpu_hwdec.c.o:(.data.rel.ro+0x8): undefined reference to `ra_hwdec_v4l2request_overlay'
    collect2: error: ld returned 1 exit status
    [233/235] Linking target libmpv.so.2.5.0
    ninja: build stopped: subcommand failed.

    roberto@orangepizero3:~/mpv-4l2request$

     

    /usr/bin/ld: libmpv.so.2.5.0.p/video_out_gpu_hwdec.c.o:/home/roberto/mpv-4l2request/build/../video/out/gpu/hwdec.c:284: more undefined references to `ra_hwdec_v4l2request' follow
    /usr/bin/ld: libmpv.so.2.5.0.p/video_out_gpu_hwdec.c.o:(.data.rel.ro+0x8): undefined reference to `ra_hwdec_v4l2request_overlay'

     

    Does anybody have any idea how to fix this? What to check?

     

    I ran out of time again to research

     

    Maybe its the libplacebo (which is a very bad name for GPU libraries)... Debian Trixie=7.349 (mid 2024), VLC repo=7.351 (mid 2025)

     

    Repeating the mpv compilation, with libplacebo from VLC

     

    Spoiler

    roberto@orangepizero3:~/mpv-4l2request$ meson setup build
    The Meson build system
    Version: 1.7.0
    Source dir: /home/roberto/mpv-4l2request
    Build dir: /home/roberto/mpv-4l2request/build
    Build type: native build
    Project name: mpv
    Project version: 0.40.0-UNKNOWN
    C compiler for the host machine: cc (gcc 14.2.0 "cc (Debian 14.2.0-19) 14.2.0")
    C linker for the host machine: cc ld.bfd 2.44
    Host machine cpu family: aarch64
    Host machine cpu: aarch64
    Program python3 found: YES (/usr/bin/python3)
    Found pkg-config: YES (/usr/bin/pkg-config) 1.8.1
    Run-time dependency libavcodec found: YES 61.19.101
    Run-time dependency libavfilter found: YES 10.4.100
    Run-time dependency libavformat found: YES 61.7.100
    Run-time dependency libavutil found: YES 59.39.100
    Run-time dependency libswresample found: YES 5.3.100
    Run-time dependency libswscale found: YES 8.3.100
    Found CMake: /usr/bin/cmake (3.31.6)
    Run-time dependency libplacebo found: NO (tried pkgconfig and cmake)
    Looking for a fallback subproject for the dependency libplacebo

    Executing subproject libplacebo 

    libplacebo| Project name: libplacebo
    libplacebo| Project version: 7.356.0
    libplacebo| C compiler for the host machine: cc (gcc 14.2.0 "cc (Debian 14.2.0-19) 14.2.0")
    libplacebo| C linker for the host machine: cc ld.bfd 2.44
    libplacebo| C++ compiler for the host machine: c++ (gcc 14.2.0 "c++ (Debian 14.2.0-19) 14.2.0")
    libplacebo| C++ linker for the host machine: c++ ld.bfd 2.44
    libplacebo| Compiler for C supports arguments -Wincompatible-pointer-types: YES
    libplacebo| Compiler for C supports link arguments -Wl,--exclude-libs=ALL: YES
    libplacebo| Library m found: YES
    libplacebo| Program python3 found: YES (/usr/bin/python3)
    libplacebo| Run-time dependency threads found: YES
    libplacebo| Header "pthread.h" has symbol "pthread_condattr_setclock" with dependency threads: YES
    libplacebo| Run-time dependency libunwind found: NO (tried pkgconfig and cmake)
    libplacebo| Library execinfo found: NO
    libplacebo| Checking for function "backtrace_symbols" with dependency -lexecinfo: YES
    libplacebo| Check usable header "dbghelp.h" : NO
    libplacebo| Fetching value of define "__MINGW32__" : (undefined)
    libplacebo| Run-time dependency shaderc found: NO (tried pkgconfig, pkgconfig, pkgconfig and system)
    libplacebo| Library glslang-default-resource-limits found: NO
    libplacebo| Library SPIRV found: NO
    libplacebo| Library SPIRV found: NO
    libplacebo| Check usable header "d3d11.h" : NO
    libplacebo| Check usable header "d3d11_4.h" : NO
    libplacebo| Check usable header "dxgi1_6.h" : NO
    libplacebo| Run-time dependency spirv-cross-c-shared found: NO (tried pkgconfig and cmake)
    libplacebo| Library version found: NO
    libplacebo| Library dl found: YES
    libplacebo| Run-time dependency vulkan found: YES 1.4.309
    libplacebo| Header "vulkan/vulkan_core.h" has symbol "VK_VERSION_1_4" : YES
    libplacebo| Run-time dependency lcms2 found: YES 2.16
    libplacebo| subprojects/libplacebo/src/meson.build:179: WARNING: Building without any GLSL compiler (shaderc, glslang), but with APIs required that require one (vulkan, d3d11). This build is very likely to be very limited in functionality!
    libplacebo| Run-time dependency dovi found: NO (tried pkgconfig and cmake)
    libplacebo| Run-time dependency libxxhash found: YES 0.8.3
    libplacebo| Configuring config.h using configuration
    libplacebo| Configuring config_internal.h using configuration
    libplacebo| WARNING: Library target 'placebo' has 'name_prefix' set. Compilers may not find it from its '-lplacebo' linker flag in the 'libplacebo.pc' pkg-config file.
    libplacebo| WARNING: Library target 'placebo' has 'name_prefix' set. Compilers may not find it from its '-lplacebo' linker flag in the 'libplacebo-uninstalled.pc' pkg-config file.
    libplacebo| Build targets in project: 17
    libplacebo| Subproject libplacebo finished.

    Dependency libplacebo found: YES 7.356.0 (overridden)
    Run-time dependency libass found: YES 0.17.3
    Compiler for C supports arguments -Wdisabled-optimization: YES 
    Compiler for C supports arguments -Wempty-body: YES 
    Compiler for C supports arguments -Wformat: YES 
    Compiler for C supports arguments -Wimplicit-fallthrough: YES 
    Compiler for C supports arguments -Wparentheses: YES 
    Compiler for C supports arguments -Wpointer-arith: YES 
    Compiler for C supports arguments -Wshadow: YES 
    Compiler for C supports arguments -Wundef: YES 
    Compiler for C supports arguments -Wvla: YES 
    Compiler for C supports arguments -Wno-cast-function-type: YES 
    Compiler for C supports arguments -Wno-format-zero-length: YES 
    Compiler for C supports arguments -Wno-missing-field-initializers: YES 
    Compiler for C supports arguments -Wno-sign-compare: YES 
    Compiler for C supports arguments -Wno-switch: YES 
    Compiler for C supports arguments -Wno-unused-parameter: YES 
    Compiler for C supports arguments -fno-math-errno: YES 
    Compiler for C supports arguments -fno-signed-zeros: YES 
    Compiler for C supports arguments -fno-trapping-math: YES 
    Compiler for C supports arguments -Wmissing-prototypes: YES 
    Compiler for C supports arguments -Wstrict-prototypes: YES 
    Compiler for C supports arguments -Werror=implicit-function-declaration: YES 
    Compiler for C supports arguments -Wno-pointer-sign: YES 
    Compiler for C supports arguments -Wformat -Werror=format-security: YES 
    Compiler for C supports link arguments -Wl,--nxcompat,--no-seh,--dynamicbase: NO 
    Compiler for C supports link arguments -Wl,-z,noexecstack: YES 
    Run-time dependency dl found: YES
    Library atomic found: YES
    Compiler for C supports link arguments -rdynamic: YES 
    Dependency threads found: YES unknown (cached)
    Header "pthread.h" has symbol "pthread_condattr_setclock" with dependency threads: YES 
    Run-time dependency appleframeworks found: NO (tried framework)
    Checking for function "fork" : YES 
    Checking for function "ppoll" : YES 
    Checking for function "memrchr" : YES 
    Library windowsapp skipped: feature uwp disabled
    Checking for function "glob" : YES 
    Header "sys/vt.h" has symbol "VT_GETMODE" : YES 
    Header "dev/wscons/wsdisplay_usl_io.h" has symbol "VT_GETMODE" : NO 
    Checking for function "pthread_setname_np" with dependency threads: YES 
    Checking for function "fstatfs" : NO 
    Checking for function "fstatfs" : YES 
    Compiler for C supports function attribute vector_size: YES 
    Program /home/roberto/mpv-4l2request/TOOLS/docutils-wrapper.py found: YES (/home/roberto/mpv-4l2request/TOOLS/docutils-wrapper.py)
    Program /home/roberto/mpv-4l2request/TOOLS/file2string.py found: YES (/home/roberto/mpv-4l2request/TOOLS/file2string.py)
    Program /home/roberto/mpv-4l2request/TOOLS/matroska.py found: YES (/home/roberto/mpv-4l2request/TOOLS/matroska.py)
    Program /home/roberto/mpv-4l2request/TOOLS/gen-mpv-desktop.py found: YES (/home/roberto/mpv-4l2request/TOOLS/gen-mpv-desktop.py)
    Program git found: YES (/usr/bin/git)
    Run-time dependency libcdio found: NO (tried pkgconfig and cmake)
    Run-time dependency libcdio_paranoia found: NO (tried pkgconfig and cmake)
    Has header "linux/dvb/frontend.h" : YES 
    Run-time dependency dvdnav found: NO (tried pkgconfig and cmake)
    Run-time dependency iconv found: YES
    Run-time dependency mujs found: NO (tried pkgconfig and cmake)
    Dependency lcms2 found: YES 2.16 (cached)
    Run-time dependency libarchive found: NO (tried pkgconfig and cmake)
    Run-time dependency libavdevice found: YES 61.3.100
    Run-time dependency libbluray found: NO (tried pkgconfig and cmake)
    Library m found: YES
    Library rt found: YES
    Run-time dependency lua found: NO (tried pkgconfig and cmake)
    Run-time dependency lua52 found: NO (tried pkgconfig and cmake)
    Run-time dependency lua5.2 found: NO (tried pkgconfig and cmake)
    Run-time dependency lua-5.2 found: NO (tried pkgconfig and cmake)
    Run-time dependency luajit found: NO (tried pkgconfig and cmake)
    Run-time dependency lua51 found: NO (tried pkgconfig and cmake)
    Run-time dependency lua5.1 found: NO (tried pkgconfig and cmake)
    Run-time dependency lua-5.1 found: NO (tried pkgconfig and cmake)
    Run-time dependency rubberband found: NO (tried pkgconfig and cmake)
    Dependency sdl2 skipped: feature sdl2 disabled
    Run-time dependency uchardet found: NO (tried pkgconfig and cmake)
    Run-time dependency vapoursynth found: NO (tried pkgconfig and cmake)
    Run-time dependency vapoursynth-script found: NO (tried pkgconfig and cmake)
    Run-time dependency zimg found: NO (tried pkgconfig and cmake)
    Run-time dependency zlib found: YES 1.3.1
    Run-time dependency alsa found: NO (tried pkgconfig and cmake)
    Dependency appleframeworks (modules: Foundation, AudioToolbox) skipped: feature audiounit disabled
    Header "AudioToolbox/AudioToolbox.h" has symbol "kAudioUnitSubType_RemoteIO" skipped: feature audiounit disabled
    Run-time dependency appleframeworks found: NO (tried framework)
    Run-time dependency appleframeworks found: NO (tried framework)
    Run-time dependency jack found: NO (tried pkgconfig and cmake)
    Dependency openal skipped: feature openal disabled
    Library OpenSLES found: NO
    Header "sys/soundcard.h" has symbol "SNDCTL_DSP_HALT" : NO 
    Run-time dependency libpipewire-0.3 found: NO (tried pkgconfig and cmake)
    Run-time dependency libpulse found: NO (tried pkgconfig and cmake)
    Run-time dependency sndio found: NO (tried pkgconfig and cmake)
    Header "audioclient.h" has symbol "IAudioClient" skipped: feature wasapi disabled
    Run-time dependency caca found: NO (tried pkgconfig and cmake)
    Has header "d3d9.h" skipped: feature direct3d disabled
    Run-time dependency libdrm found: NO (tried pkgconfig and cmake)
    Run-time dependency libdisplay-info found: NO (tried pkgconfig and cmake)
    Dependency gbm skipped: feature gbm disabled
    Run-time dependency libjpeg found: YES 2.1.5
    Dependency shaderc skipped: feature shaderc disabled
    Run-time dependency libsixel found: NO (tried pkgconfig and cmake)
    Checking for function "shm_open" : YES 
    Dependency spirv-cross-c-shared skipped: feature spirv-cross disabled
    Run-time dependency wayland-client found: NO (tried pkgconfig and cmake)
    Run-time dependency wayland-cursor found: NO (tried pkgconfig and cmake)
    Run-time dependency wayland-protocols found: NO (tried pkgconfig and cmake)
    Run-time dependency xkbcommon found: NO (tried pkgconfig and cmake)
    Run-time dependency wayland-client found: NO (tried pkgconfig and cmake)
    Has header "linux/input-event-codes.h" with dependency wayland-client: YES 
    Program wayland-scanner found: NO
    Run-time dependency x11 found: NO (tried pkgconfig and cmake)
    Run-time dependency xscrnsaver found: NO (tried pkgconfig and cmake)
    Run-time dependency xext found: NO (tried pkgconfig and cmake)
    Run-time dependency xpresent found: NO (tried pkgconfig and cmake)
    Run-time dependency xrandr found: NO (tried pkgconfig and cmake)
    Dependency xv skipped: feature xv disabled
    Library EGL skipped: feature egl-angle-lib disabled
    Run-time dependency egl found: NO (tried pkgconfig and cmake)
    Library EGL skipped: feature egl-android disabled
    Dependency wayland-egl skipped: feature egl-wayland disabled
    Dependency vulkan found: YES 1.4.309 (cached)
    Header "vulkan/vulkan_core.h" has symbol "VK_VERSION_1_3" with dependency vulkan: YES 
    Checking for function "vkCreateDisplayPlaneSurfaceKHR" with dependency vulkan: YES 
    Run-time dependency ffnvcodec found: NO (tried pkgconfig and cmake)
    Header "OpenGLES/ES3/glext.h" has symbol "GL_RGB32F" skipped: feature ios-gl disabled
    Header "libavutil/hwcontext.h" has symbol "AV_HWDEVICE_TYPE_V4L2REQUEST" : YES 
    Run-time dependency libva found: NO (tried pkgconfig and cmake)
    Dependency libva-drm skipped: feature vaapi-drm disabled
    Dependency libva-wayland skipped: feature vaapi-wayland disabled
    Dependency libva-x11 skipped: feature vaapi-x11 disabled
    Dependency libva-win32 skipped: feature vaapi-win32 disabled
    Dependency vdpau skipped: feature vdpau disabled
    Dependency appleframeworks (modules: CoreVideo) skipped: feature videotoolbox-pl disabled
    Program xcrun skipped: feature swift-build disabled
    Program rst2man rst2man.py found: NO
    Program rst2html rst2html.py skipped: feature html-build disabled
    Program rst2pdf skipped: feature pdf-build disabled
    Configuring config.h using configuration
    Message: List of enabled features: build-date cplugins debug dvbin ffmpeg gl glibc-thread-name glob glob-posix gpl iconv jpeg lcms2 libass libavdevice libdl libplacebo linux-fstatfs memrchr posix posix-shm ppoll pthread-condattr-setclock v4l2request vector vk-khr-display vt.h vulkan zlib
    Fetching value of define "MPV_CLIENT_API_VERSION" : (((2) << 16) | (5) | 0UL) 
    Compiler for C supports link arguments -Wl,-Bsymbolic: YES 
    Build targets in project: 45

    libplacebo 7.356.0

      Optional features
        d3d11       : NO
        dovi        : YES
        gl-proc-addr: YES
        glslang     : NO
        lcms        : YES
        libdovi     : NO
        opengl      : YES
        shaderc     : NO
        vk-proc-addr: YES
        vulkan      : YES
        xxhash      : YES

    mpv 0.40.0-UNKNOWN

        d3d11      : NO
        javascript : NO
        libmpv     : YES
        lua        : NO
        opengl     : YES
        v4l2request: YES
        vulkan     : YES
        wayland    : NO
        x11        : NO

      Subprojects
        libplacebo : YES 3 warnings

    Found ninja-1.12.1 at /usr/bin/ninja
    roberto@orangepizero3:~/mpv-4l2request$

     

    There's no wayland or X11 support... someone please please tell me what to do

     

    Build... failed

    Spoiler

    roberto@orangepizero3:~/mpv-4l2request$ meson compile -C build
    INFO: autodetecting backend as ninja
    INFO: calculating backend command to run: /usr/bin/ninja -C /home/roberto/mpv-4l2request/build
    ninja: Entering directory `/home/roberto/mpv-4l2request/build'
    [304/307] Linking target mpv
    FAILED: mpv 
    c++  -o mpv libmpv.so.2.5.0.p/audio_aframe.c.o libmpv.so.2.5.0.p/audio_chmap.c.o libmpv.so.2.5.0.p/audio_chmap_avchannel.c.o libmpv.so.2.5.0.p/audio_chmap_sel.c.o libmpv.so.2.5.0.p/audio_decode_ad_lavc.c.o libmpv.so.2.5.0.p/audio_decode_ad_spdif.c.o libmpv.so.2.5.0.p/audio_filter_af_drop.c.o libmpv.so.2.5.0.p/audio_filter_af_format.c.o libmpv.so.2.5.0.p/audio_filter_af_lavcac3enc.c.o libmpv.so.2.5.0.p/audio_filter_af_scaletempo.c.o libmpv.so.2.5.0.p/audio_filter_af_scaletempo2.c.o libmpv.so.2.5.0.p/audio_filter_af_scaletempo2_internals.c.o libmpv.so.2.5.0.p/audio_fmt-conversion.c.o libmpv.so.2.5.0.p/audio_format.c.o libmpv.so.2.5.0.p/audio_out_ao.c.o libmpv.so.2.5.0.p/audio_out_ao_lavc.c.o libmpv.so.2.5.0.p/audio_out_ao_null.c.o libmpv.so.2.5.0.p/audio_out_ao_pcm.c.o libmpv.so.2.5.0.p/audio_out_buffer.c.o libmpv.so.2.5.0.p/common_av_common.c.o libmpv.so.2.5.0.p/common_av_log.c.o libmpv.so.2.5.0.p/common_codecs.c.o libmpv.so.2.5.0.p/common_common.c.o libmpv.so.2.5.0.p/common_encode_lavc.c.o libmpv.so.2.5.0.p/common_msg.c.o libmpv.so.2.5.0.p/common_playlist.c.o libmpv.so.2.5.0.p/common_recorder.c.o libmpv.so.2.5.0.p/common_stats.c.o libmpv.so.2.5.0.p/common_tags.c.o libmpv.so.2.5.0.p/common_version.c.o libmpv.so.2.5.0.p/demux_codec_tags.c.o libmpv.so.2.5.0.p/demux_cue.c.o libmpv.so.2.5.0.p/demux_cache.c.o libmpv.so.2.5.0.p/demux_demux.c.o libmpv.so.2.5.0.p/demux_demux_cue.c.o libmpv.so.2.5.0.p/demux_demux_disc.c.o libmpv.so.2.5.0.p/demux_demux_edl.c.o libmpv.so.2.5.0.p/demux_demux_lavf.c.o libmpv.so.2.5.0.p/demux_demux_mf.c.o libmpv.so.2.5.0.p/demux_demux_mkv.c.o libmpv.so.2.5.0.p/demux_demux_mkv_timeline.c.o libmpv.so.2.5.0.p/demux_demux_mpv.c.o libmpv.so.2.5.0.p/demux_demux_null.c.o libmpv.so.2.5.0.p/demux_demux_playlist.c.o libmpv.so.2.5.0.p/demux_demux_raw.c.o libmpv.so.2.5.0.p/demux_demux_timeline.c.o libmpv.so.2.5.0.p/demux_ebml.c.o libmpv.so.2.5.0.p/demux_packet.c.o libmpv.so.2.5.0.p/demux_packet_pool.c.o libmpv.so.2.5.0.p/demux_timeline.c.o libmpv.so.2.5.0.p/filters_f_async_queue.c.o libmpv.so.2.5.0.p/filters_f_autoconvert.c.o libmpv.so.2.5.0.p/filters_f_auto_filters.c.o libmpv.so.2.5.0.p/filters_f_decoder_wrapper.c.o libmpv.so.2.5.0.p/filters_f_demux_in.c.o libmpv.so.2.5.0.p/filters_f_hwtransfer.c.o libmpv.so.2.5.0.p/filters_f_lavfi.c.o libmpv.so.2.5.0.p/filters_f_output_chain.c.o libmpv.so.2.5.0.p/filters_f_swresample.c.o libmpv.so.2.5.0.p/filters_f_swscale.c.o libmpv.so.2.5.0.p/filters_f_utils.c.o libmpv.so.2.5.0.p/filters_filter.c.o libmpv.so.2.5.0.p/filters_frame.c.o libmpv.so.2.5.0.p/filters_user_filters.c.o libmpv.so.2.5.0.p/input_cmd.c.o libmpv.so.2.5.0.p/input_event.c.o libmpv.so.2.5.0.p/input_input.c.o libmpv.so.2.5.0.p/input_ipc.c.o libmpv.so.2.5.0.p/input_keycodes.c.o libmpv.so.2.5.0.p/misc_bstr.c.o libmpv.so.2.5.0.p/misc_charset_conv.c.o libmpv.so.2.5.0.p/misc_codepoint_width.c.o libmpv.so.2.5.0.p/misc_dispatch.c.o libmpv.so.2.5.0.p/misc_io_utils.c.o libmpv.so.2.5.0.p/misc_json.c.o libmpv.so.2.5.0.p/misc_language.c.o libmpv.so.2.5.0.p/misc_natural_sort.c.o libmpv.so.2.5.0.p/misc_node.c.o libmpv.so.2.5.0.p/misc_path_utils.c.o libmpv.so.2.5.0.p/misc_random.c.o libmpv.so.2.5.0.p/misc_rendezvous.c.o libmpv.so.2.5.0.p/misc_thread_pool.c.o libmpv.so.2.5.0.p/misc_thread_tools.c.o libmpv.so.2.5.0.p/options_m_config_core.c.o libmpv.so.2.5.0.p/options_m_config_frontend.c.o libmpv.so.2.5.0.p/options_m_option.c.o libmpv.so.2.5.0.p/options_m_property.c.o libmpv.so.2.5.0.p/options_options.c.o libmpv.so.2.5.0.p/options_parse_commandline.c.o libmpv.so.2.5.0.p/options_parse_configfile.c.o libmpv.so.2.5.0.p/options_path.c.o libmpv.so.2.5.0.p/player_audio.c.o libmpv.so.2.5.0.p/player_client.c.o libmpv.so.2.5.0.p/player_command.c.o libmpv.so.2.5.0.p/player_configfiles.c.o libmpv.so.2.5.0.p/player_external_files.c.o libmpv.so.2.5.0.p/player_loadfile.c.o libmpv.so.2.5.0.p/player_main.c.o libmpv.so.2.5.0.p/player_misc.c.o libmpv.so.2.5.0.p/player_osd.c.o libmpv.so.2.5.0.p/player_playloop.c.o libmpv.so.2.5.0.p/player_screenshot.c.o libmpv.so.2.5.0.p/player_scripting.c.o libmpv.so.2.5.0.p/player_sub.c.o libmpv.so.2.5.0.p/player_video.c.o libmpv.so.2.5.0.p/player_clipboard_clipboard.c.o libmpv.so.2.5.0.p/player_clipboard_clipboard-vo.c.o libmpv.so.2.5.0.p/stream_cookies.c.o libmpv.so.2.5.0.p/stream_stream.c.o libmpv.so.2.5.0.p/stream_stream_avdevice.c.o libmpv.so.2.5.0.p/stream_stream_cb.c.o libmpv.so.2.5.0.p/stream_stream_concat.c.o libmpv.so.2.5.0.p/stream_stream_edl.c.o libmpv.so.2.5.0.p/stream_stream_file.c.o libmpv.so.2.5.0.p/stream_stream_lavf.c.o libmpv.so.2.5.0.p/stream_stream_memory.c.o libmpv.so.2.5.0.p/stream_stream_mf.c.o libmpv.so.2.5.0.p/stream_stream_mpv.c.o libmpv.so.2.5.0.p/stream_stream_null.c.o libmpv.so.2.5.0.p/stream_stream_slice.c.o libmpv.so.2.5.0.p/sub_ass_mp.c.o libmpv.so.2.5.0.p/sub_dec_sub.c.o libmpv.so.2.5.0.p/sub_draw_bmp.c.o libmpv.so.2.5.0.p/sub_filter_sdh.c.o libmpv.so.2.5.0.p/sub_img_convert.c.o libmpv.so.2.5.0.p/sub_lavc_conv.c.o libmpv.so.2.5.0.p/sub_osd.c.o libmpv.so.2.5.0.p/sub_osd_libass.c.o libmpv.so.2.5.0.p/sub_sd_ass.c.o libmpv.so.2.5.0.p/sub_sd_lavc.c.o libmpv.so.2.5.0.p/video_csputils.c.o libmpv.so.2.5.0.p/video_decode_vd_lavc.c.o libmpv.so.2.5.0.p/video_filter_refqueue.c.o libmpv.so.2.5.0.p/video_filter_vf_format.c.o libmpv.so.2.5.0.p/video_filter_vf_sub.c.o libmpv.so.2.5.0.p/video_fmt-conversion.c.o libmpv.so.2.5.0.p/video_hwdec.c.o libmpv.so.2.5.0.p/video_image_loader.c.o libmpv.so.2.5.0.p/video_image_writer.c.o libmpv.so.2.5.0.p/video_img_format.c.o libmpv.so.2.5.0.p/video_mp_image.c.o libmpv.so.2.5.0.p/video_mp_image_pool.c.o libmpv.so.2.5.0.p/video_out_aspect.c.o libmpv.so.2.5.0.p/video_out_bitmap_packer.c.o libmpv.so.2.5.0.p/video_out_dither.c.o libmpv.so.2.5.0.p/video_out_dr_helper.c.o libmpv.so.2.5.0.p/video_out_filter_kernels.c.o libmpv.so.2.5.0.p/video_out_gpu_context.c.o libmpv.so.2.5.0.p/video_out_gpu_error_diffusion.c.o libmpv.so.2.5.0.p/video_out_gpu_hwdec.c.o libmpv.so.2.5.0.p/video_out_gpu_lcms.c.o libmpv.so.2.5.0.p/video_out_gpu_libmpv_gpu.c.o libmpv.so.2.5.0.p/video_out_gpu_osd.c.o libmpv.so.2.5.0.p/video_out_gpu_ra.c.o libmpv.so.2.5.0.p/video_out_gpu_shader_cache.c.o libmpv.so.2.5.0.p/video_out_gpu_spirv.c.o libmpv.so.2.5.0.p/video_out_gpu_user_shaders.c.o libmpv.so.2.5.0.p/video_out_gpu_utils.c.o libmpv.so.2.5.0.p/video_out_gpu_video.c.o libmpv.so.2.5.0.p/video_out_gpu_video_shaders.c.o libmpv.so.2.5.0.p/video_out_libmpv_sw.c.o libmpv.so.2.5.0.p/video_out_vo.c.o libmpv.so.2.5.0.p/video_out_vo_gpu.c.o libmpv.so.2.5.0.p/video_out_vo_image.c.o libmpv.so.2.5.0.p/video_out_vo_lavc.c.o libmpv.so.2.5.0.p/video_out_vo_libmpv.c.o libmpv.so.2.5.0.p/video_out_vo_null.c.o libmpv.so.2.5.0.p/video_out_vo_tct.c.o libmpv.so.2.5.0.p/video_out_vo_kitty.c.o libmpv.so.2.5.0.p/video_out_win_state.c.o libmpv.so.2.5.0.p/video_repack.c.o libmpv.so.2.5.0.p/video_sws_utils.c.o libmpv.so.2.5.0.p/video_out_placebo_ra_pl.c.o libmpv.so.2.5.0.p/video_out_placebo_utils.c.o libmpv.so.2.5.0.p/video_out_vo_gpu_next.c.o libmpv.so.2.5.0.p/video_out_gpu_next_context.c.o libmpv.so.2.5.0.p/osdep_io.c.o libmpv.so.2.5.0.p/osdep_subprocess.c.o libmpv.so.2.5.0.p/osdep_timer.c.o libmpv.so.2.5.0.p/ta_ta.c.o libmpv.so.2.5.0.p/ta_ta_talloc.c.o libmpv.so.2.5.0.p/ta_ta_utils.c.o libmpv.so.2.5.0.p/osdep_threads-posix.c.o libmpv.so.2.5.0.p/osdep_subprocess-posix.c.o libmpv.so.2.5.0.p/input_ipc-unix.c.o libmpv.so.2.5.0.p/osdep_poll_wrapper.c.o libmpv.so.2.5.0.p/osdep_terminal-unix.c.o libmpv.so.2.5.0.p/sub_filter_regex.c.o libmpv.so.2.5.0.p/osdep_language-posix.c.o libmpv.so.2.5.0.p/osdep_path-unix.c.o libmpv.so.2.5.0.p/osdep_timer-linux.c.o libmpv.so.2.5.0.p/stream_dvb_tune.c.o libmpv.so.2.5.0.p/stream_stream_dvb.c.o libmpv.so.2.5.0.p/video_out_opengl_common.c.o libmpv.so.2.5.0.p/video_out_opengl_context.c.o libmpv.so.2.5.0.p/video_out_opengl_formats.c.o libmpv.so.2.5.0.p/video_out_opengl_libmpv_gl.c.o libmpv.so.2.5.0.p/video_out_opengl_ra_gl.c.o libmpv.so.2.5.0.p/video_out_opengl_utils.c.o libmpv.so.2.5.0.p/video_out_hwdec_hwdec_vulkan.c.o libmpv.so.2.5.0.p/video_out_vulkan_context.c.o libmpv.so.2.5.0.p/video_out_vulkan_utils.c.o libmpv.so.2.5.0.p/video_filter_vf_gpu_vulkan.c.o libmpv.so.2.5.0.p/video_out_vulkan_context_display.c.o libmpv.so.2.5.0.p/video_filter_vf_gpu.c.o libmpv.so.2.5.0.p/video_v4l2request.c.o mpv.p/osdep_main-fn-unix.c.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-z,noexecstack -rdynamic -Wl,--start-group subprojects/libplacebo/src/libplacebo.a /usr/lib/aarch64-linux-gnu/libass.so /usr/lib/aarch64-linux-gnu/libavcodec.so /usr/lib/aarch64-linux-gnu/libavfilter.so /usr/lib/aarch64-linux-gnu/libavformat.so /usr/lib/aarch64-linux-gnu/libavutil.so /usr/lib/aarch64-linux-gnu/libswresample.so /usr/lib/aarch64-linux-gnu/libswscale.so -latomic -pthread /usr/lib/aarch64-linux-gnu/liblcms2.so /usr/lib/aarch64-linux-gnu/liblcms2_fast_float.a /usr/lib/aarch64-linux-gnu/liblcms2_threaded.a -lm /usr/lib/aarch64-linux-gnu/libavdevice.so -lrt /usr/lib/aarch64-linux-gnu/libz.so /usr/lib/aarch64-linux-gnu/libjpeg.so /usr/lib/aarch64-linux-gnu/libvulkan.so -ldl -Wl,--end-group
    /usr/bin/ld: libmpv.so.2.5.0.p/video_out_gpu_hwdec.c.o: in function `ra_hwdec_validate_opt_full':
    /home/roberto/mpv-4l2request/build/../video/out/gpu/hwdec.c:196:(.text+0x64): undefined reference to `ra_hwdec_v4l2request'
    /usr/bin/ld: /home/roberto/mpv-4l2request/build/../video/out/gpu/hwdec.c:196:(.text+0x68): undefined reference to `ra_hwdec_v4l2request'
    /usr/bin/ld: libmpv.so.2.5.0.p/video_out_gpu_hwdec.c.o: in function `load_hwdecs_all':
    /home/roberto/mpv-4l2request/build/../video/out/gpu/hwdec.c:250:(.text+0x744): undefined reference to `ra_hwdec_v4l2request'
    /usr/bin/ld: /home/roberto/mpv-4l2request/build/../video/out/gpu/hwdec.c:250:(.text+0x748): undefined reference to `ra_hwdec_v4l2request'
    /usr/bin/ld: libmpv.so.2.5.0.p/video_out_gpu_hwdec.c.o: in function `ra_hwdec_ctx_init':
    /home/roberto/mpv-4l2request/build/../video/out/gpu/hwdec.c:284:(.text+0x7cc): undefined reference to `ra_hwdec_v4l2request'
    /usr/bin/ld: libmpv.so.2.5.0.p/video_out_gpu_hwdec.c.o:/home/roberto/mpv-4l2request/build/../video/out/gpu/hwdec.c:284: more undefined references to `ra_hwdec_v4l2request' follow
    /usr/bin/ld: libmpv.so.2.5.0.p/video_out_gpu_hwdec.c.o:(.data.rel.ro+0x8): undefined reference to `ra_hwdec_v4l2request_overlay'
    collect2: error: ld returned 1 exit status

    [305/307] Linking target libmpv.so.2.5.0
    ninja: build stopped: subcommand failed.
    roberto@orangepizero3:~/mpv-4l2request$

    Same ra_hwdec_v4l2request and ra_hwdec_v4l2request_request missing error

     

    for next try: install wayland-protocols-dev, libx11-dev, libgl-dev, libwayland-dev

  13. On 9/27/2025 at 9:15 AM, JFL said:

    Not sure whether is specific to Opi5-Plus, on Arch Linux mpv-0.40.0 somehow also did not support --hwdec=v4l2request as such had to resort to the mpv-full-git which supports --hwdec=v4l2request.

     

    Debian-Trixie's repo mpv-0.40.0 also doesn't  seems to support --hwdec=v4l2request.

     

    Did you mean that you had success getting HW acceleration in Arch Linux+mpv-0.40.0?

     

    Which github page did you use, and did you use the standard official instructions in that github page, to build?

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines