mpv-player / mpv

🎥 Command line video player
https://mpv.io
Other
28.79k stars 2.93k forks source link

mpv-0.30.0 shows no window border in gnome-3.34, weston-7.0.0, wayland #7136

Closed soloturn closed 5 years ago

soloturn commented 5 years ago

with mpv-0.30.0 the window border is missing, with v0.29.1 it is working, just like #3350, on arch linux, gnome 3.34, wayland. on X it is always working.

CounterPillow commented 5 years ago

Follow the actual issue template or we won't be able to help you.

Also looks like what you mean is that there is no border, which is expected behaviour on GNOME Wayland as it is a GNOME bug. Report it to them.

EDIT: Maybe to add to this, the reason why you are not seeing this in 0.29.1 is because 0.29.1 defaulted to the xwayland context. However, native wayland contexts in mpv now have significant enough advantages over xwayland (e.g. presentation feedback) that it would be unreasonable to make all wayland users have a suboptimal experience out of the box just because of the political games played by GNOME. Switching to a different Wayland compositor that actually respects its users and third-party developers is free.

soloturn commented 5 years ago

mpv does not show a border in weston-7.0.0 just like it does not in gnome, i adjusted the title, @CounterPillow.

$ yay -Q | grep waylan
qt5-wayland 5.13.2-1
wayland 1.17.0-1
wayland-protocols 1.18-1
xorg-server-xwayland 1.20.5-4
Dudemanguy commented 5 years ago

Weston also doesn't support xdg-decoration protocol. In their case, it's just a reference compositor so it's a reasonable choice to make. Regardless, mpv is not in the business of drawing window decorations. It's up to the compositor to support this. For instance, Plasma and Sway both have window decorations.

soloturn commented 5 years ago

@Dudemanguy thank you for the pointer, now i found the relevant piece in gnome mutter: https://gitlab.gnome.org/GNOME/mutter/issues/217

@fmuellner was commenting that applications not supporting client side decorations are not following the wayland specification. citing out of https://github.com/wayland-project/wayland-protocols/blob/master/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml

This interface allows a compositor to announce support for server-side
decorations.

[...]

If compositor and client do not negotiate the use of a server-side
decoration using this protocol, clients continue to self-decorate as they
see fit.

[...]

The decoration object allows the compositor to toggle server-side window
decorations for a toplevel surface. The client can request to switch to
another mode.

[...]

The compositor can decide not to use the client's mode and enforce a
different mode instead.

enlightment, gnome, weston did not implement server side decorations up to now. if it is not in the specification, it might be a little complicated to argue with gnome persons and tell them that it is a bug, @CounterPillow . but i understand your position, now than i read @BearOso, @jwrdegoede, @rcgordon in the resp gnome ticket.

CounterPillow commented 5 years ago

if it is not in the specification, it might be a little complicated to argue with gnome persons and tell them that it is a bug,

Server side decorations are part of the spec.

GNOME just wants everyone to use GTK, there is no other reason for them not supporting it.

soloturn commented 5 years ago

@Dudemanguy @CounterPillow would https://gitlab.gnome.org/jadahl/libdecoration be an option?

Dudemanguy commented 5 years ago

There's actually CSDs now thanks to #7186.

Rafostar commented 4 years ago

@soloturn You can get decorations by forcing mpv to use XWayland via --gpu-context=x11egl option. This also works with hardware acceleration.

soloturn commented 4 years ago

@Dudemanguy @philipl to do this via OSC, https://mpv.io/manual/master/#on-screen-controller, is extremely cool. works great.

soredake commented 3 years ago

https://github.com/libsdl-org/SDL/pull/4068

soredake commented 3 years ago

Can mpv support this through https://gitlab.gnome.org/jadahl/libdecoration?

Akemi commented 3 years ago

can, sure. want, probably not. we already have CSD now.

Dudemanguy commented 3 years ago

Nobody really wants to incur a dbus dependency so almost certainly no.