mpv drops GNOME support

From LinuxReviews
Jump to navigationJump to search

Most of the developers of the GNOME desktop environment have the strange idea that GNOME is somehow a "platform" that is separate from, and not a part of, the overall GNU/Linux ecosystem. One direct result of this self-isolation has been the regular breakage of non-GNOME software when it is running in GNOME. This has affected free software project like mpv, SuperTuxKart, SDL and many more. One mpv developer who has had enough of GNOME nonsense made mpv print a "no support" message and exit if it was running under GNOME earlier today.

written by 윤채경 (Yoon Chae-kyung)  2020-07-07 - last edited 2020-08-06. © CC BY

mpv playing a WJSN performance of their hit "Star" on the South Korean television show "Music Bank".

mpv developer wm4 removed GNOME support from mpv earlier today with a commit titled "Stop supporting GNOME" which explained that:

"On GNOME, you're supposed to use native GNOME software anyway."

mpv developer wm4


The code in the commit added these lines to mpv:

    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, "This player does not support GNOME.\n");
        return NULL;

Those paying attention will notice the return NULL; at the end - which made mpv abort and exit after printing a "This player does not support GNOME" message if mpv was launched in the GNOME desktop environment.

wm4 later, in a moment of weakness, reverted the commit and replaced the code with a far less based version that only warns GNOME users that they are using a platform developed by egomaniac developers who have no regard for their users or developers of non-GNOME free software:

    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");

Notice that the revised code does not have a return NULL; line after talloc_free(log);. mpv will, with this commit, still run as poorly as non-GNOME software runs on GNOME these days.

Dropping support for GNOME may seem like a drastic move but it is not at all shocking to those of us who have paid attention to how to the GNOME developers have been treating the rest of the GNU/Linux ecosystem like dirt the last few years. That, combined with a silly view that GNOME is a special software platform that is apart from, and not part of, the GNU/Linux ecosystem, has made it increasingly difficult to ensure that free software works as it should when it is running on the GNOME desktop environment. This problem is unique to GNOME; developers of games like The Secret Chronicles of Dr. M. can write with multi-platform support in mind and easily make the software run on Windows, macOS and all sane GNU/Linux desktop environments like KDE Plasma, LXQt, Xfce, IceWM and so on. GNOME is the only desktop environment that requires developers to write lines upon lines of code with GNOME-specific tweaks in order to satisfy unique special snowflake GNOME requirements.

Some free software projects have a very hard time making their software function properly under GNOME due to its intentional lack of basic building blocks like server-side window decorations which all other desktop environments have. The GNOME projects latest refusal to add a simple standardized Wayland method of inhibiting screensavers using idle-inhibit, something mpv needs, is what promoted wm4 to add the line of code that made mpv refuse to run under GNOME. It is yet another sad example of how the GNOME developers act towards the overall GNU/Linux ecosystem:

"I'd contend that an unstable protocol (..) not implemented by a project like GNOME isn't "widely accepted"."

As developer Drew DeVault pointed out in a response,

"GNOME is the only compositor which doesn't support it, which makes it qualify for widely supported in my book."

The GNOME projects unique blindness to the world outside of that toxic cesspool means that free software developers, and commercial developers, are forced to choose between two bad choices: They can either do a lot of extra work to make the software work under GNOME, even though it already works fine with all the other desktop environments, or drop GNOME support. mpv has finally had enough of their nonsense and gone with the "drop GNOME support" option.

mpv has had a FAQ entry titled "I use GNOME Wayland and I have x/y/z problem!" outlining some of the GNOME-specific programs that software project have to deal with for quite some time. The GNOME projects latest refusal to "write a few lines of code to support a very simple standard protocol" is simply the latest example of how difficult it is to work with the individuals in control of that particular project.

mpv may still run on GNOME but it will no longer be supported in the sense that those who use GNOME and run mpv and experience problems won't get help with their GNOME-specific problems. We expect that more free software projects will choose that route in the future as the GNOME developer team becomes increasingly difficult to work with.

The sad part is that this goes both ways. Some GNOME "apps", like Cheese, can simply not be used outside of GNOME. wm4 was right when he implied that the GNOME attitude is that "On GNOME, you're supposed to use native GNOME software anyway.". We can add: "You are only supposed to run GNOME apps on GNOME".

It would be a lot better if all parts of the GNU/Linux ecosystem could work together and ensure compatibility between all free software programs and all free software desktop environments. It is very unfortunate that a sub-set of the free software community is hell-bent on going in the opposite direction.

The Russian news website has an article covering this titled Медиаплеер MPV прекращает поддержку GNOME.

Lovelyz Kei ProTip.jpg
TIP: You can use mpv to search YouTube and play the search results by running mpv ytdl://ytsearch[n]:keywords (replace [n] with the number of search results you want added to the playlist - without brackets) if you have youtube-dl installed. Try mpv ytdl://ytsearch5:rockit\ little\ cat to enjoy a wonderful song by the South Korean duo Rockit Girl!

(2 votes)



18 months ago
Score 2++
Hey, thanks for the ytdl tip!

Anonymous (41fd5c12)

17 months ago
Score 0++
Really sad to read that. Gnome is absolute beautiful and I like it a lot. They should follow universal standards like everyone else
Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.