8 ms·
GNOME Shell and Mutter
- deleted 8y ago[deleted]
- shmerl 8y agoProblem of support for default server side decorations with Mutter is still not resolved. Toolkits like SDL and applications like mpv and the like can't make basic window controls (like title bar and title bar buttons) look consistent without it, unless they start depending on GTK. The issue seems to be on both sides. SDL, mpv and etc. don't want to depend on GTK, but it looks like Mutter developers don't want to do that either. The end result is very messy. Unlike Mutter, KWin for instance does depend on Qt, and provides server side decorations which allows such non GUI windows easily draw minimal controls and the title bar.
- lnx01 8y agoI consistently have a problem running Mate Desktop where I have to disable CSD in apps that try to use it by default - off the top of my head, Chrome, Chromium, Firefox and VSCode all have CSD functionality but are unusable in Mate Desktop unless CSD is disabled.
- shmerl 8y agoFor me Firefox seems to be using SSD by default (may be because I'm using KDE), unless I disable Customize > Title Bar. Then it starts using CSD which looks rather bad.
- donpdonp 8y agogot a link for a description of Client vs Server side decorations?
- eliaspro 8y agoA few years ago, some KDE developers invested quite some time in concepts of creating a CSD/SSD hybrid titled DWD, marrying up the best of both worlds. Unfortunately it didn't gain any traction, but I still have hopes they'll tackle this again once all the Wayland work is mostly done. https://kver.wordpress.com/2014/10/25/presenting-dwd-a-candidate-for-kde-window-decorations/ https://kver.wordpress.com/2014/10/25/presenting-dwd-a-candi... https://kver.wordpress.com/2014/10/25/what-if-kde-started-using-client-side-decorations/ https://kver.wordpress.com/2014/10/25/what-if-kde-started-us...
- solarkraft 8y agoIt was a terrible idea, inventing a new GUI toolkit for the window manager the application would have to support (and that they couldn't use with others), instead of just allowing applications to draw in the title bar/have them do their own decoration.
- emersion 8y agoNote that Mutter already draws decorations for X11 windows. There's also a standardized Wayland protocol to make the compositor draw window decorations. It's just that GNOME doesn't like server-side decorations, from a design point of view.
- vetinari 8y agoIt is not due design point of view. It is due to synchronizing painting chrome with painting the window content, for frame-perfect rendering. With SSDs/different processes having responsibility, you can't really do that. Rasterman, of the Enlightenment wm fame, also wrote about this, and he holds the same opinion as Gnome folks. He also noted, that other OS-es (i.e. Windows and macOS) also do client-side rendering. You just don't get to choose, whether you will link the library doing that, when it is required to open the window surface in the first place.
- Asooka 8y agoAnd it's always amazingly convenient and user-friendly when a MacOS application freezes and you can't move its windows or interact with it at all. Especially when it's fullscreen. At some point perfection in one area impedes functionality in another and I think having one frame lag between window frame and window contents is an acceptable price to pay for having always accessible window controls. I know I'll never use GNOME and I'll live happy, but the issue is that their stubbornness starts leaking GNOME implementation details to everyone else. They are not acting like good community contributors.
- floatboth 8y agoIn most WM/DE/compositor/things, you can move any window with Mod+left click drag. Works on frozen clients just fine :)
- sandGorgon 8y agoone request - could you guys help out Teamviewer and Anydesk guys ? cos their products still dont work on Wayland. There's been zillions of threads and questions on stackoverflow on this. This would be a godsend
- michaelmrose 8y agoIn all likelihood it will have to have work done on each and every possible wayland environment to work unless everyone can agree on standards. The logical solution is to use X for now.
- shmerl 8y agoIt should be prioritized more then. At least for screen capturing on Wayland there seems to be a common proposal to use Pipewire.
- diffeomorphism 8y agoI thought xdg-desktop-portal was the agreed on standard for that already? https://old.reddit.com/r/kde/comments/9i7p8e/complete_wayland_remote_desktop_support_coming_to/ https://old.reddit.com/r/kde/comments/9i7p8e/complete_waylan...
- emersion 8y agoThere are already ways to do this on Wayland, e.g. xdg-desktop-portal. It's just that those clients don't support it yet. This is more of a client bug than a Mutter bug.
- axaxs 8y agoPlease remove this silly JS engine that's been implemented, poorly. It didn't attract mass developers, and it's ruined performance.
- pjmlp 8y agoFully agree, Ubuntu dropping Unity for GNOME made me an happy XFCE user. I still tried to use it for a couple of months, but the performance difference is quite noticeable.
- Jasper_ 8y agoI don't think the JS interface is the main performance bottleneck, honestly. I would start to look at Clutter and modernizing the GPU backend (e.g. using UBOs, using the depth buffer, batching texture binds, etc.) before thinking about killing the JS interpreter.
- pjmlp 8y agoMight be, but it is does really lag behind what Unity was capable of, regarding performance.
- floatboth 8y agoWith Gtk 4 being based on a GPU accelerated scene graph thing, isn't it time to deprecate Clutter?
- Jasper_ 8y agoThis is a complex question. Using GTK+ in a window manager / compositor is tricky because GTK+ itself wants to talk to the window manager / compositor. So it's easy to end up in a deadlock. A DRM/libinput backend would have to be made for GDK and that's not an easy task, there are a lot of conceptual mismatches. I'm torn on whether it's the right way to go, basically.
- axaxs 8y agoIt may be or may not be anymore, but at one time not long ago it definitely was. When I cared enough to actually profile its performance, you could literally just move the mouse to the top corner to expose the dashboard, and back. Each time doing this, 4MB of memory gone for good. That particular bug has been fixed. JS engine memory leak. In fact, I invite anyone to look at the number of 'memory leak' commits in Gnome 3/Gnome Shell regarding its JS use.
- newnewpdro 8y ago> Thanks to the fantastic work by Jasper St. Pierre, GJS now supports overriding virtual functions. It's very unfortunate Jasper is no longer participating in the GNOME community. I'm hopeful he'll one day return.
- Jasper_ 8y agoHeh, I had no idea I attracted such a wide audience. I'm still around! These days I'm a professional graphics programmer -- I worked on a few games, fell in love with that, and I'm currently trying to figure out what's next. I don't know if Linux and GNOME are the right communities for me anymore for quite a few reasons. As always, if people have questions about the work I did, or just want to chat, please feel free to reach out -- my email is in my git commits :)
- sexydefinesher 8y agoIts 2019 and the leading linux DE still doesnt have fractional scaling. Doesn't a single dev use a 1440p screen?
- soganess 8y agoUh, yes it does (since 3.26)? It's experimental and requires wayland: https://www.omgubuntu.co.uk/2017/09/enable-fractional-scaling-gnome-linux https://www.omgubuntu.co.uk/2017/09/enable-fractional-scalin... But it does work. I personally think it looks way worse than just going to 1x (or 2x) and bumping up (or down) the font size.
- vetinari 8y agoThat's because it assumes 96 dpi for every X11 client and scales it up, even for non-fractional scaling (i.e. @2x) if the experimental support is enabled. There is supposedly work being done to address the problem by using two Xwayland servers, one exposing real dpi for dpi aware clients, and one fixed dpi for all the rest. Unfortunately, it is highlighted by the fact, that all current Linux browsers are X11 and not Wayland clients, so using it would mean you watch the upscaling ugliness on your display every day.
- soganess 8y agoI'm not trying to imply the situation is perfect, but its way more workable than you are letting on. In the gnome world, you are stuck with GTK3 apps if you want partial scaling that looks alright, but there are options for web browsers. * Epiphany has supported Wayland since the time of the dinosaurs. And I know its not a perfect browser, but it (1) looks native (2) starts up in a second, (3) has libva support support for hardware accelerated video, (4) has a built in adblocker. As for mainstream browsers: * Developer builds of Firefox support Wayland straight from Mozilla: https://www.phoronix.com/scan.php?page=news_item&px=Firefox-Nightly-Ships-Wayland https://www.phoronix.com/scan.php?page=news_item&px=Firefox-... * Most big name distros have some blessed(like fedora) or less blessed (aur/ppa) builds of the latest stable version of Firefox with baked in wayland support.
- AHTERIX5000 8y agoInteresting! Are those low frame rates visible in graph constrained by energy savings/minimizing work or caused by performance issues?