this post was submitted on 16 Nov 2023
39 points (91.5% liked)

Linux

48247 readers
701 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Isn't this supposed to be a job for the window manager?

For example, my virtualbox install has some mouse pointer bugs on wayland, and I can't run waydroid on X. These things are weird to me. Shouldn't window managers abstract all that for the software we run?

you are viewing a single comment's thread
view the rest of the comments
[–] gabmus@lemm.ee 31 points 1 year ago (1 children)

The application needs to speak a protocol to be able to use it. If you use a X wm your apps need to be able to talk X's protocol to work, if you use a Wayland compositor your apps need to be able to talk Wayland's protocol (or run on Xwayland, which is basically an X server that runs inside Wayland).

The wm/compositor abstractions only work if your apps know how to use them via the correct protocol

[–] nossaquesapao@lemmy.eco.br 9 points 1 year ago (4 children)

I thought that wms worked as full abstraction layers. It helped to reduce my confusion, thanks.

[–] baseless_discourse@mander.xyz 9 points 1 year ago* (last edited 11 months ago) (1 children)

Typically the abstraction to draw elemnts inside a app window is in the application framework, like GTK, Qt, Electron (chromium), etc.

This is also why apps built with the same framework typically have the same problem on wayland (looking at you, electron).

The abstractions you are thinking of is not in the window manager, which only controls things outside of the main app window, like tiling, border, window top bar, etc.

[–] nossaquesapao@lemmy.eco.br 2 points 1 year ago

Yes, part of my confusion was simply mixing up the job of the app frameworks/gui toolkits for the wm. It was weird to me that some apps like firefox had to provide wayland support by themselves and couldn't simply rely on abstraction layers from whathever they're coded in. However, I looked for some info, and found out that firefox renders some widgets on its own, and now it makes sense that they need to provide wayland support.

[–] aperson@beehaw.org 4 points 1 year ago

They are themselves abstraction layers for the apps that are made for them. Software has many levels of abstraction from what you see on the screen all the way down to hardware.

[–] bitwolf@lemmy.one 3 points 1 year ago

That is how portals work in Wayland.

For X there was only one protocol, so they all wrote for x.
This also allowed some hacky things to be done that are questionable from a security standpoint afaik.

[–] phx@lemmy.ca 2 points 1 year ago

If you've ever had your WM crash, then you may lose the decorations on your windows, the ability to minimize/maximize them or move them around, but the windows themselves still stick around. Restarting the WM brings that all back as well