From 0216f8c787cb8a2526e0fe8207d7d12c5aeff327 Mon Sep 17 00:00:00 2001 From: Dudemanguy Date: Sun, 16 Aug 2020 19:14:54 -0500 Subject: wayland: soften GNOME warning We've had some serious issues with GNOME in the past, but since then their compositor has undergone some major internal improvements. The most severe one [1], random vsync spikes and mistimed frames, can no longer be reproduced by the original author of the issue. There are some minor UI-related things (lack of window decorations for instance since there is no xdg-decoration support), but users don't seem to complain about that too much and they aren't revelant to playback. 3.38 isn't out quite yet, but that should also fix playback issues when on a multimonitor setup (the fix is in the master branch at the moment). In terms of playback, the only real concerning issue is the lack of idle inhibit so a warning is still displayed. But GNOME has their own workaround that users can use for that so if anyone happens to complain, we can just point them to that. [1] https://gitlab.gnome.org/GNOME/mutter/-/issues/957 --- video/out/vo.c | 7 ------- video/out/wayland_common.c | 2 +- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/video/out/vo.c b/video/out/vo.c index 1535994a69..27be4735ab 100644 --- a/video/out/vo.c +++ b/video/out/vo.c @@ -340,13 +340,6 @@ error: struct vo *init_best_video_out(struct mpv_global *global, struct vo_extra *ex) { - const char *xdg_current_desktop = getenv("XDG_CURRENT_DESKTOP"); - if (xdg_current_desktop && strstr(xdg_current_desktop, "GNOME")) { - struct mp_log *log = mp_log_new(NULL, global->log, "vo"); - mp_fatal(log, "GNOME detected. Things will be broken.\n"); - talloc_free(log); - } - struct mp_vo_opts *opts = mp_get_config_group(NULL, global, &vo_sub_opts); struct m_obj_settings *vo_list = opts->video_driver_list; struct vo *vo = NULL; diff --git a/video/out/wayland_common.c b/video/out/wayland_common.c index 99aa8ee018..94261455af 100644 --- a/video/out/wayland_common.c +++ b/video/out/wayland_common.c @@ -1141,7 +1141,7 @@ int vo_wayland_init(struct vo *vo) const char *xdg_current_desktop = getenv("XDG_CURRENT_DESKTOP"); if (xdg_current_desktop != NULL && strstr(xdg_current_desktop, "GNOME")) - MP_WARN(wl, "GNOME's wayland compositor is known to have many serious issues with mpv. Switch to GNOME's xorg session for the best experience.\n"); + MP_WARN(wl, "GNOME's wayland compositor lacks support for the idle inhibit protocol. This means the screen can blank during playback.\n"); if (wl->dnd_devman && wl->seat) { wl->dnd_ddev = wl_data_device_manager_get_data_device(wl->dnd_devman, wl->seat); -- cgit v1.2.3