robertoj
-
Posts
512 -
Joined
-
Last visited
Content Type
Forums
Store
Crowdfunding
Applications
Events
Raffles
Community Map
Posts posted by robertoj
-
-
Getting video acceleration is realtively easy in bookworm, but making it work in Trixie would be newsworthy
-
It all depends on the GUI apps you want to run.
Web browser: at least 4GB
Your own Python GUI app: 1GB
16GB storage is fine.
"A more advanced build framework" only refers to the laptop you use to compile your own Armbian OS... it doesn't refer to the SBC where you will run it.
-
Yes, CONFIG_TINYDRM_ILI9486 is the kernel module for that model of LCD with DRM. There's another thread explaining how to use it.
I think you can use udev rules to force SPI LCD as /dev/fb0 and HDMI as /dev/fb1 always.
-
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?
-
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?
-
Try this solution for the orange pi zero LTS, which is the same chip as the opiPC, but change the pin definitions to what you have.
Do you have a 480x320 ili9341? Which one is it?
-
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
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.
-
For video acceleration, you need to stick with Bookworm.
-
Has anybody tried compiling mpv-0.35 + PR14690 within Trixie and ffmpeg 7.x.x?
If anyone is curious... mpv-0.37 fails in the compilation step in ad-spdif.c due to an incompatible pointer
But mpv-0.38 (without patches) compiles successfully
-
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 0If 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.
-
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 filesDEBUG: 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 unsetThe 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/labwcrpi-greeter does not allow selection of other sessions: only labwc
-
Thank you. I meant to ask about that PR14690
I would rather stay with trixie and low fps, because it seems easier to solve my other problem: need 100% wayland and 0% X11 due to a LCD driver problem.
-
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 deviceand ...
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?
-
This bug is not showing again with Trixie, and the repository labwc 0.8.3 (same), same orange pi zero 3, same HDMI monitor.
-
Those who are not getting hardware acceleration in Trixie, should compile their own mpv-0.4.0 with patches (in addition of using the ffmpeg-v4l2request deb version)
Some guidelines here:
-
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
Spoilerroberto@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
Spoilerroberto@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:
Spoilerroberto@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
-
ARM CPU running Linux 2GB RAM
NPU for AI (maybe as little as CV)
ARM MPU running Sketch (Arduino)
https://store-usa.arduino.cc/products/uno-q
Closed source
-
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.
-
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/mpvroberto@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)
-
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:
Spoilerroberto@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
-
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
-
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
Spoilerroberto@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: 28mpv 0.40.0-UNKNOWN
d3d11 : NO
javascript : NO
libmpv : YES
lua : NO
opengl : YES
v4l2request: YES
vulkan : YES
wayland : NO
x11 : NOFound 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
Spoilerroberto@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
Spoilerroberto@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 libplaceboExecuting 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: 45libplacebo 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 : YESmpv 0.40.0-UNKNOWN
d3d11 : NO
javascript : NO
libmpv : YES
lua : NO
opengl : YES
v4l2request: YES
vulkan : YES
wayland : NO
x11 : NOSubprojects
libplacebo : YES 3 warningsFound 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
Spoilerroberto@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
-
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?
-
Has anyone here configured armbian with a Wayland desktop, and completely free of X11?
How did you do it?
I have compiled labwc and it works great with my orange pi zero 3, with bookworm or trixie... but I can't figure out how to configure a wayland greeter.
I need to do this because my LCD driver can't work with X11 (panel-mipi-dbi-spi).

Orange Pi Zero 3 ili9486 TFT LCD (WaveShare 35a)
in Allwinner sunxi
Posted · Edited by robertoj
Start with this DTS and change the GPIO for your OPIZ3
https://github.com/raspberrypi/linux/blob/rpi-6.12.y/arch/arm/boot/dts/overlays/piscreen-overlay.dts
Or start with your DTS and change the "compatible" line to "compatible=waveshare,rpi-lcd-35" and copy the other parameters of piscreen-overlay.dts if needed
Let us know if it works