diff options
| author | Ron Nazarov <ron@noisytoot.org> | 2025-12-06 03:02:21 +0000 |
|---|---|---|
| committer | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2025-12-07 08:16:55 +0100 |
| commit | 7b9cfea908a787d31d5458c386653c0780af0e86 (patch) | |
| tree | 5996f216482df80b20448714b2f57905411ea6a0 /gnu | |
| parent | 2e9170642ee386559e4e76d5703993a0fafd21d6 (diff) | |
gnu: mpv: Fix 100% CPU usage on wayland.
* gnu/packages/patches/mpv-0.40.0-fix-wayland-cpu-usage.patch: New file.
* gnu/packages/video.scm (mpv): Use it.
* gnu/local.mk (dist_patch_DATA): Add it.
Change-Id: I80244eacc0f8294f2b4e521217f68ada7a347bf4
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Diffstat (limited to 'gnu')
| -rw-r--r-- | gnu/local.mk | 1 | ||||
| -rw-r--r-- | gnu/packages/patches/mpv-0.40.0-fix-wayland-cpu-usage.patch | 34 | ||||
| -rw-r--r-- | gnu/packages/video.scm | 3 |
3 files changed, 37 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 656315bdb79..7a6d044d9a2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1876,6 +1876,7 @@ dist_patch_DATA = \ %D%/packages/patches/mpg321-CVE-2019-14247.patch \ %D%/packages/patches/mpg321-gcc-10.patch \ %D%/packages/patches/mpv-0.40.0-fix-ffmpeg-8.0.patch \ + %D%/packages/patches/mpv-0.40.0-fix-wayland-cpu-usage.patch \ %D%/packages/patches/modglue-fix-build.patch \ %D%/packages/patches/modem-manager-fix-test-wrapper.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \ diff --git a/gnu/packages/patches/mpv-0.40.0-fix-wayland-cpu-usage.patch b/gnu/packages/patches/mpv-0.40.0-fix-wayland-cpu-usage.patch new file mode 100644 index 00000000000..fdc7d3714d2 --- /dev/null +++ b/gnu/packages/patches/mpv-0.40.0-fix-wayland-cpu-usage.patch @@ -0,0 +1,34 @@ +Upstream-status: https://github.com/mpv-player/mpv/pull/16140 + +From d20ded876d27497d3fe6a9494add8106b507a45c Mon Sep 17 00:00:00 2001 +From: llyyr <llyyr.public@gmail.com> +Date: Fri, 28 Mar 2025 15:34:33 +0530 +Subject: [PATCH] clipboard-wayland: prevent reading from hung up fd + +This causes mpv to use up 100% of a core if there's an offer for a +mime_type that mpv doesn't accept with ext_data_control clipboard +backend. +--- + player/clipboard/clipboard-wayland.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/player/clipboard/clipboard-wayland.c b/player/clipboard/clipboard-wayland.c +index c4a5e50472..bd8ac35af2 100644 +--- a/player/clipboard/clipboard-wayland.c ++++ b/player/clipboard/clipboard-wayland.c +@@ -348,6 +348,12 @@ static bool clipboard_wayland_dispatch_events(struct clipboard_wayland_priv *wl, + if (fds[1].revents & POLLIN) + return false; + ++ if (fds[2].revents & (POLLERR | POLLHUP | POLLNVAL)) ++ destroy_offer(wl->selection_offer); ++ ++ if (fds[3].revents & (POLLERR | POLLHUP | POLLNVAL)) ++ destroy_offer(wl->primary_selection_offer); ++ + if (fds[2].revents & POLLIN) + get_selection_data(wl, wl->selection_offer, false); + +-- +2.51.0 + diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 724194e48e0..3107c428457 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2743,7 +2743,8 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") (base32 "0w0qk61ll0mddbkiwavqfx048sacyvp6fwglms58ypw869rh7iy7")) (patches (search-patches - "mpv-0.40.0-fix-ffmpeg-8.0.patch")))) + "mpv-0.40.0-fix-ffmpeg-8.0.patch" + "mpv-0.40.0-fix-wayland-cpu-usage.patch")))) (build-system meson-build-system) (arguments (list |
