You are not logged in.
Hi,
I've been reading through different articels around the web including the wiki about this. I've gotten to understand it a little better but it seems to be a quite complex subject. And the concepts can be quite hard to grasp. I'm not a native english speaker so my reading reading comprehension skills are not that great and it can be challenging sometimes when it comes to technical details. (Just started linux, and installed arch and now trying to read further from https://wiki.archlinux.org/title/Genera … mendations and going through everything. Really want to learn linux and understand its components that make up linux.
From what I have been able to understand so far is that
A) Display server or windowing system, more often called display server. Is a software that manages different aspects on how different applications, windows should be drawn to the the screen. So the applications ask for a windows or whatever and the display server gives it to the application and it shows up on the screen. Mutter is one of them?
B) Protocol, this is a way to describe a way of communication of how hardware/things are able to communicate or how they are allowed/should communicate (Same thing with network like http/https). So, x11 and wayland are protocols that tells how display server and hardware should communicate?
Also, I dont understand the term "This is an implementation of wayland". From my understanding "implementation" means, if you have and idea you implement it. Example, I want to build a park, I have an idea about how to build it. I sketch it up then I build it. Is this the same idea?
C) Wayland, now has a built in window manager, and x11 does not and it instead relies on other like compiz to manage windows.
D) DE - Desktop environment, is all of the above bundeld into "one" thing so you get a out of the box experience. Example, sudo pacman -S gnome, and it has all of the thing you need instead of getting each part yourself. It already has it in the package so it becomes and out of the box experience when installing a new distro. (Desktop,GUI,Wayland,X11,xorg etc,Icons,themes ect)
E) Is hyprland considered a DE?? Or does a DE need to have a "Square desktop" to be considered a desktop? from what I can see it check out the boxes of being a desktop just that is used windows to manage as a "desktop" instead.
F) So, if I install xorg only, and start it what happens then? Do I need other tools, or GUI's???
So, mutter is a display server. And it uses the wayland protocol. But it also uses the x11 window manager. But isn't compiz a window manager that you use with xorg? Is x11 xorg?
Kind of a bad post, cause i'm not even sure what to ask myself. Been watching some videos about this topic and i've read about 20+ articles but they all have somewhat kind of different answer all the time. Considering my english level this might be the issue since I can't seem to understand the contex fully.
All help appreciated for helping my dumb ass understand this.
Offline
Let's build from the bottom up:
1) There are different protocols used for graphical displays. The presently relevant ones are X11 or Wayland. These protocols are not software - they are concepts, or a set of rules about how things should work.
2) These protocols have to be implemented in software to be of any use. The full implementation would be the display server which could be Xorg or any number of wayland compositors including weston, sway, or hyprland. But a display server on it's own isn't particularly useful. In the case of Xorg, you could run the Xorg server on it's own, but it would exit successfully immediately. You could give it something to do like "sleep 300" and it'd run for 5 minutes ... doing nothing. In the case of wayland display servers this is a little muddier as these bits of software actually serve several other purposes: hyprland, for example, is the display server, the compositor, and the equivalent of a window manager, and possibly several other things all bundled in one monolithic executable. There is much less modularity in wayland, so there is no bit of software that is just a display server - this wouldn't be possible (well, technically it'd be *possible* to make one ... but it'd be completely useless).
3) For the display server to have anything to display, you need to run some graphical client programs. These would include terminals, browsers, editors, etc. But under X11, this would also include a Window Manager which is just a client program that moves around other client's windows. Under X11, this might also include status bars, panels, docks, etc. This kind of interaction between clients, however, is not allowed under the wayland protocol, so the display server's themselves have to provide all this functionality (some non-standard protocols allow for clients to interact, but still not directly, rather only through mechanisms provided by the compositor: this is why under X11 you can mix and match WMs and docks / panels, but you really cant for Wayland).
4) You might also want a set of client programs all designed by a single team or coordinated set of developers to make those clients all work well together. This collection of programs can be referred to as a Desktop Environment. And while there are common elements in different DEs, I don't know of any real list of requirements or a true definition of a "DE".
As noted above, under wayland, the bit of software that does the job of the Display Server, Window Manager, and Compositor is - for no great reason at all - just called the compositor (weston, sway, and hyprland are compositors). In X11, these would be done by different bits of software such as Xorg, openbox, and compiz. Note that in Xorg one doesn't need a compositor, nor do they strictly need a window manager. Also under X11, there are quite a few bits of software that provide both window manager and compositor (many of DEs used by bigger WMs do this). But in wayland all three are required, and all three must be done by the same bit of software.
Last edited by Trilby (2024-02-10 22:58:17)
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Let's build from the bottom up:
1) There are different protocols used for graphical displays. The presently relevant ones are X11 or Wayland. These protocols are not software - they are concepts, or a set of rules about how things should work.
2) These protocols have to be implemented in software to be of any use. The full implementation would be the display server which could be Xorg or any number of wayland compositors including weston, sway, or hyprland. But a display server on it's own isn't particularly useful. In the case of Xorg, you could run the Xorg server on it's own, but it would exit successfully immediately. You could give it something to do like "sleep 300" and it'd run for 5 minutes ... doing nothing. In the case of wayland display servers this is a little muddier as these bits of software actually serve several other purposes: hyprland, for example, is the display server, the compositor, and the equivalent of a window manager, and possibly several other things all bundled in one monolithic executable. There is much less modularity in wayland, so there is no bit of software that is just a display server - this wouldn't be possible (well, technically it'd be *possible* to make one ... but it'd be completely useless).
3) For the display server to have anything to display, you need to run some graphical client programs. These would include terminals, browsers, editors, etc. But under X11, this would also include a Window Manager which is just a client program that moves around other client's windows. Under X11, this might also include status bars, panels, docks, etc. This kind of interaction between clients, however, is not allowed under the wayland protocol, so the display server's themselves have to provide all this functionality (some non-standard protocols allow for clients to interact, but still not directly, rather only through mechanisms provided by the compositor: this is why under X11 you can mix and match WMs and docks / panels, but you really cant for Wayland).
4) You might also want a set of client programs all designed by a single team or coordinated set of developers to make those clients all work well together. This collection of programs can be referred to as a Desktop Environment. And while there are common elements in different DEs, I don't know of any real list of requirements or a true definition of a "DE".
As noted above, under wayland, the bit of software that does the job of the Display Server, Window Manager, and Compositor is - for no great reason at all - just called the compositor (weston, sway, and hyprland are compositors). In X11, these would be done by different bits of software such as Xorg, openbox, and compiz. Note that in Xorg one doesn't need a compositor, nor do they strictly need a window manager. Also under X11, there are quite a few bits of software that provide both window manager and compositor (many of DEs used by bigger WMs do this). But in wayland all three are required, and all three must be done by the same bit of software.
Thanks a lot. This really clears up a lot of things. This seems to be a complex subject and a lot of concepts and mechanics that needs to be built in order for things to work. This gave me a good general rundown. So it would just be easier to install packages like hyprland, gnome ect.. that has everything you need to have a DE. It's nice and fun to know what goes under the hood and this clears up a lot, i've heard people talking about ricing and other stuff and talking about WM and whatnot.
So in theory, we could install, hyprland as the display server or as we would call it compositor that has these technical aspects for a display server to work, and then install or build every indivdual thing for a GUI to work? Instead of install the gnome package and have it working out of the box, or the hyprland package?
Offline
So it would just be easier to install packages like hyprland, gnome ect..
As opposed to what? Install what you want to use, and it will pull in any dependencies it needs. That's the point of package management.
As for your question about hyprland / gnome, I'm sorry I'm not sure what you're asking. You install what you want to use, that's it. You can install and run gnome, or hyprland. You can install both of them, and just run one or the other at a time. Or you can install both, and run both ...
There's no magic to any of these, they're just packages like any other package. Install the packages you want to use.
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
nabie wrote:So it would just be easier to install packages like hyprland, gnome ect..
As opposed to what? Install what you want to use, and it will pull in any dependencies it needs. That's the point of package management.
As for your question about hyprland / gnome, I'm sorry I'm not sure what you're asking. You install what you want to use, that's it. You can install and run gnome, or hyprland. You can install both of them, and just run one or the other at a time. Or you can install both, and run both ...
There's no magic to any of these, they're just packages like any other package. Install the packages you want to use.
I'm asking if I would only install hyprland the compositor, and I would choose to run this program only and not other programs just this program. As you stated earlier it has three key compontens
hyprland, for example, is the display server, the compositor, and the equivalent of a window manager, and possibly several other things all bundled in one monolithic executable
You also stated that
For the display server to have anything to display, you need to run some graphical client programs. These would include terminals, browsers, editors, etc
So if I understand it correctly, in theory I would only need hyprland in this example too display things to my screen.(Web browser, terminal, text editor ect) and no other programs. Please see an image as an example. (https://i.imgur.com/YzFobso.png)
Why am I asking this? Cause, when you search for the hyprland package on arch there is 44 dependencies (description: a highly customizable dynamic tiling Wayland compositor) Are all these programs necessary for hyprland to display things to the screen? Or even work? Same with mutter, 34 dependencies.
So, to summarize it all. After I have installed arch from the bottom up using the install guide. And I decide I need a GUI. Could I only instal hyprland and nothing else. No package whatsoever and still get a desktop, web broswer,terminal displayed onto my screen? As you stated earlier, it already has a window manager so I would be able to resize, have the ability to resize and close buttons, status bars etc so this would not be needed since hyprland already has this.
Offline
Are all these programs necessary for hyprland to display things to the screen? Or even work?
Strictly? Perhaps not. hyprland might work w/o xwayland.
Will you run into trouble if you remove some of them? Likely.
If you don't know what you're doing at all? For sure.
You're way overthinking this.
The technical aspects don't matter for an end user at all and will quickly move over a newbies head.
The package manager handles dependencies for you. You install whatever package/software you want and the stuff that's required for that software to work will be installed along.
This is completely unrelated to the wayland/xorg conceptual differences.
Could I only instal hyprland and nothing else. No package whatsoever and still get a desktop, web broswer,terminal displayed onto my screen?
No?
hyprland itself builds upon on a ton of libraries, the compositor itself is comparatively little code.
Those are the packaged dependencies.
"pacman -Syu hyprland" however will allow you to run hyprland, yes.
Online
I'm asking if I would only install hyprland the compositor
seth is correct, you are confusing / over-complicating things. I've been answering in this thread primarily at the conceptual level as that's what your questions seemed directed towards. But you've now shifted to a practical use level and did a little slight of hand with the question: you cannot install "hyprland the compositor". You can install the hyprland package (which includes, among other things, the compositor, and also depends on other packages). Most end users don't know and don't need to know about the details you are asking about. So if you are pursuing these topics out of curiosity or to expand your knowledge, great, let's keep going - but if you're just trying to figure out what you need to have a functional system, then really just drop this all right now as it's not what you need to know.
I would choose to run this program only and not other programs just this program.
This would "work" better that just running Xorg on it's own. As I noted, Xorg, without some client program to run, will exit immediately. Hyprland would actually run and display something on your screen (it's own background / wallpaper / whatever). But this would be completely useless to you as you couldn't actually do anything other than look at it.
... I would only need hyprland in this example too display things to my screen.(Web browser, terminal, text editor ect) and no other programs.
No. You would also need a web browser, terminal, and text editor installed if you actually wanted a web browser, terminal, and text editor displayed on the screen. This seems silly to say ... which is why I feel like I'm missing something in your question. The hyprland package does not include nor depend on any web browser, terminal, or editor.
Though this is where the concept of a "DE" could come in. Again, DE's aren't really software - they're just abstract ideas - perhaps lists of software. And some of these are bundled together in packages (technically they might be groups or meta-packages, but they're targets you can install with pacman). Theoretically, one could create a hyprland-DE meta-package that depended on hyprland itself, along with firefox, alacritty, and vim, and that would be what the author of the package called the hyprland-DE. But there's nothing special about these choices, it could just as easily be hyprland+chromium+emacs+etc. A "DE" is really just an arbitrary collection of software that some list-maker feels all work together well (often because elements of that list are made by the same group of developers specifically to work well together).
there is 44 dependencies ... Are all these programs necessary for hyprland to display things to the screen?
You're conflating packages with programs again. Many of those 44 dependencies are not included for their executable programs - many of them may not even contain any programs - they may be libraries, fonts, etc.
And while seth is correct in noting that strictly speaking hyprland might be able to function without a couple of them, for all practical purposes they are considered required in order for hyprland to function properly. If they weren't they wouldn't be dependencies (there are "optional dependencies" which add features but are not required).
Could I only instal hyprland and nothing else. No package whatsoever and still get a desktop, web broswer,terminal displayed onto my screen? As you stated earlier, it already has a window manager so I would be able to resize, have the ability to resize and close buttons, status bars etc so this would not be needed since hyprland already has this.
Installing just the hyprland package (along with it's dependencies) would provide the ability to resize, have close buttons (if hyprland uses these), status bars, etc. These are all included in hyprland. But - as already noted, you cannot have it show you a web browser unless you install a web browser. You can not have it show you a terminal unless you install a terminal. So again, install what you want to use.
EDIT: Please note there is no need to full quote. You can reply without quoting at all. Or you can quote relevant snipets to emphasize what you are commenting on as seth and I have done.
Last edited by Trilby (2024-02-11 18:56:49)
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Are all these programs necessary for hyprland to display things to the screen? Or even work?
Strictly? Perhaps not. hyprland might work w/o xwayland.
Will you run into trouble if you remove some of them? Likely.
If you don't know what you're doing at all? For sure.You're way overthinking this.
The technical aspects don't matter for an end user at all and will quickly move over a newbies head.
The package manager handles dependencies for you. You install whatever package/software you want and the stuff that's required for that software to work will be installed along.
This is completely unrelated to the wayland/xorg conceptual differences.Could I only instal hyprland and nothing else. No package whatsoever and still get a desktop, web broswer,terminal displayed onto my screen?
No?
hyprland itself builds upon on a ton of libraries, the compositor itself is comparatively little code.
Those are the packaged dependencies."pacman -Syu hyprland" however will allow you to run hyprland, yes.
You are right about that I am overthinking this. And I should probably just move on. But I am generelly curious mostly why I am asking. I might even be asking the wrong questions.
Offline
nabie wrote:I'm asking if I would only install hyprland the compositor
seth is correct, you are confusing / over-complicating things. I've been answering in this thread primarily at the conceptual level as that's what your questions seemed directed towards. But you've now shifted to a practical use level and did a little slight of hand with the question: you cannot install "hyprland the compositor". You can install the hyprland package (which includes, among other things, the compositor, and also depends on other packages). Most end users don't know and don't need to know about the details you are asking about. So if you are pursuing these topics out of curiosity or to expand your knowledge, great, let's keep going - but if you're just trying to figure out what you need to have a functional system, then really just drop this all right now as it's not what you need to know.
nabie wrote:I would choose to run this program only and not other programs just this program.
This would "work" better that just running Xorg on it's own. As I noted, Xorg, without some client program to run, will exit immediately. Hyprland would actually run and display something on your screen (it's own background / wallpaper / whatever). But this would be completely useless to you as you couldn't actually do anything other than look at it.
nabie wrote:... I would only need hyprland in this example too display things to my screen.(Web browser, terminal, text editor ect) and no other programs.
No. You would also need a web browser, terminal, and text editor installed if you actually wanted a web browser, terminal, and text editor displayed on the screen. This seems silly to say ... which is why I feel like I'm missing something in your question. The hyprland package does not include nor depend on any web browser, terminal, or editor.
Though this is where the concept of a "DE" could come in. Again, DE's aren't really software - they're just abstract ideas - perhaps lists of software. And some of these are bundled together in packages (technically they might be groups or meta-packages, but they're targets you can install with pacman). Theoretically, one could create a hyprland-DE meta-package that depended on hyprland itself, along with firefox, alacritty, and vim, and that would be what the author of the package called the hyprland-DE. But there's nothing special about these choices, it could just as easily be hyprland+chromium+emacs+etc. A "DE" is really just an arbitrary collection of software that some list-maker feels all work together well (often because elements of that list are made by the same group of developers specifically to work well together).
nabie wrote:there is 44 dependencies ... Are all these programs necessary for hyprland to display things to the screen?
You're conflating packages with programs again. Many of those 44 dependencies are not included for their executable programs - many of them may not even contain any programs - they may be libraries, fonts, etc.
And while seth is correct in noting that strictly speaking hyprland might be able to function without a couple of them, for all practical purposes they are considered required in order for hyprland to function properly. If they weren't they wouldn't be dependencies (there are "optional dependencies" which add features but are not required).
nabie wrote:Could I only instal hyprland and nothing else. No package whatsoever and still get a desktop, web broswer,terminal displayed onto my screen? As you stated earlier, it already has a window manager so I would be able to resize, have the ability to resize and close buttons, status bars etc so this would not be needed since hyprland already has this.
Installing just the hyprland package (along with it's dependencies) would provide the ability to resize, have close buttons (if hyprland uses these), status bars, etc. These are all included in hyprland. But - as already noted, you cannot have it show you a web browser unless you install a web browser. You can not have it show you a terminal unless you install a terminal. So again, install what you want to use.
I've understand what I need for a working system, I'm just curious on a deeper level. It is fun to learn and i'm genuinely trying to learn because I think it is fun.
To summarize, I know that the package I need to install has all the tools I need so I can setup the environment. Either a Window tilling manager environment or just window manager (Some call it Window manager, I put in the environment cause IMO it is some kind of environment) or a desktop environment such as GNOME etc.. that is why we have the repository. And that is a great thing and respect for those who does a good job packaging all the necessary programs needed in that package for it to work.
(https://www.youtube.com/watch?v=npR4vHLA890&t=427s)
To clear out things, I understand that I need the individual program installed for it to display(Firefox,terminal (gnome,kitty etc..)). What I mean is I know I need to install these programs to have anything to display. I was asking cause I researched further and display server is the one who draws stuff to the screen etc... (Firefox ask for a windows and so on) So I was more after a deeper technical aspect of it all. Because the answer is quite ambiguous, and i', really trying to learn as i stated it is fun and I enjoy it, otherwise I would just stick with debian. I'm trying to go through the nitty gritty to understand my system/linux as a whole. I might be over my head as I stated when I quote Seth earlier. Hopefully I'm making more sense now. And I do appreciete the help so far and the discussion.
Last edited by nabie (2024-02-11 19:11:50)
Offline
Is that your video? The bit you linked to is a bit odd. The person in the video contrasts what he calls "desktop environments" and "window managers", but really he's just comparing a stacking WM to a tiling WMs. You can have a DE with a stacking or tiling WM (though the big ones use a stacking WM by default). You can also have standalone stacking or tiling without a DE. So whether or not the WM is a tiler is completely orthogonal to (a separate question from) whether one is running a DE or not.
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Is that your video? The bit you linked to is a bit odd. The person in the video contrasts what he calls "desktop environments" and "window managers", but really he's just comparing a stacking WM to a tiling WMs. You can have a DE with a stacking or tiling WM (though the big ones use a stacking WM by default). You can also have standalone stacking or tiling without a DE. So whether or not the WM is a tiler is completely orthogonal to (a separate question from) whether one is running a DE or not.
No not my video, just a guy I subscribe to. Sorry, It was meant to link from the start. Why do we only call it WM? Shouldn't it be called something like WME? (Window manager environment) 1.25 he talks about using a WM but IMO it looks like an environment. Almost like a DE just that you nagivate through windows and not a desktop where on a desktop you can use a cursor. Also from 2.45 he starts talking about DE about the layout and the window manager. And this is true what he is talking about. It feels weird that people are talking about WM synonymous with WM when you can use it as a environment, and the other aspect of it is a technical thing.
Idk, I might just be an idiot. Tell me honestly.
Last edited by nabie (2024-02-11 19:39:40)
Offline
l
Last edited by nabie (2024-02-11 19:39:11)
Offline
FWIW:
https://wiki.archlinux.org/title/Desktop_environment
https://wiki.archlinux.org/title/Xorg
https://wiki.archlinux.org/title/Window_manager
https://wiki.archlinux.org/title/Wayland
These links include a bunch of useful links, as well
Offline
Idk, I might just be an idiot. Tell me honestly.
In this video I discuss some of the differences between desktop environments and window managers, and some of my advantages by using a window manager.
"In this post I discuss some of the differences between villages and houses, and some of my advantages by living in a house."
One may pefectly deem the integrated DEs (KDE & gnome) a bloated waste of memory and prefer a lean WM and some selected tools for jobs like starting programs, but that at this point becomes your personal DE.
In reality, the video is just about this:
Subscribe to my YouTube channel.
and be sure to click that notification bell so you know when new videos are released. ₿???
Help Support the Channel by Donating Crypto???₿
Online
FWIW:
https://wiki.archlinux.org/title/Desktop_environment
https://wiki.archlinux.org/title/Xorg
https://wiki.archlinux.org/title/Window_manager
https://wiki.archlinux.org/title/WaylandThese links include a bunch of useful links, as well
"A window manager (WM) is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface (GUI). It can be part of a desktop environment (DE) or be used standalone."
I see :-)
Offline
Idk, I might just be an idiot. Tell me honestly.
The idiot you follow on youtube wrote:In this video I discuss some of the differences between desktop environments and window managers, and some of my advantages by using a window manager.
"In this post I discuss some of the differences between villages and houses, and some of my advantages by living in a house."
One may pefectly deem the integrated DEs (KDE & gnome) a bloated waste of memory and prefer a lean WM and some selected tools for jobs like starting programs, but that at this point becomes your personal DE.
In reality, the video is just about this:
Subscribe to my YouTube channel.
and be sure to click that notification bell so you know when new videos are released. ₿???
Help Support the Channel by Donating Crypto???₿
There is a lot of information out there and not everything can be right, I should be critical as a noob when searching for other sources online. But easier said that done haha :-)
Offline
Again:
EDIT: Please note there is no need to full quote. You can reply without quoting at all. Or you can quote relevant snipets to emphasize what you are commenting on as seth and I have done.
As to why certain bits of software are called "Window Managers" and not "Window Manager Environment" is mostly just that the former is what people call them. However, I'd also argue "Environment" doesn't add anything. The software manages windows, so we call it a window manager*. Desktop Environments earn the name "environment" as they provide much more of the peripheral software. Of course desktop environments couldn't follow the traditional naming scheme of being named by what they do ... their authors wouldn't want them to really be called Diskspace Wasters or Memory Fillers.
* Like in StarGate the ship that goes through the gate was called a gate ship ... until the scientists were overruled and some military guy with a very non-military haircut who called it a puddle jumper.
Last edited by Trilby (2024-02-11 22:11:42)
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
I've never watched anything beside stargate sg1, so i'm not familiar with that :-)
When i'm talking about environment i'm mostly referring to the "interface" or if the correct analogy is GUI. Because in one way or form, it is an environment that you have on your computer you use it for a graphical interface at the end of the day instead of living in a CLI environment. Mostly it is a GUI, but you can either have set it up as a DE environment or WM environment. Or if you wish just live in the CLI if it was a server.
Because at the end of the day, if you either wish to have a menu bar, icons, shortcuts to programs on your desk( Think W10 or 11). Or just navigate through windows with shortcuts keys only using a window manager software at the end of the day they follow a similar line. And that is the ability to use a GUI. And that is where I conclude that these both should be called either DE, or WME. Cause it is an environment that you setup and make yourself familiar with.
IMO it's arbitrary to say that you are using a window manager when infact you are using a window manager software to have a working GUI environment to display stuff to the screen. Like saying all processors are CPU's when in fact processors are just a term for a mechanic or techincal aspect that some GPU also can do. Or even some drives. Or saying all cookies are oreos just because oreo is a kind of cookie. If you define a cookie "Round shape, contains sugar, flour, ect.." you can't say all cookies are oreos but you say oreo is a special kind of cookie.
Last edited by nabie (2024-02-11 22:48:13)
Offline