Re: [gentoo-user] Wayland! Beware of!
On 24/9/24 10:52, Mitchell Dorrell wrote: I run a four-monitor system using NVIDIA's closed-source drivers. Last I heard, Wayland did not work with such a combination. Has that changed? I run several 3-monitor NVIDIA setups on Wayland with no issue. One of my 4-monitor setups has one screen plugged into an intel iGPU port, so I can't say for sure that 4 plugged into a single Nvidia card work, however I can say that driving 4 screens total (or 3x2k@144Hz) isn't a problem for devolopment and even gaming if the hardware is otherwise capable. Give it a try, you may be pleasantly surprised by what you discover. I would go with 555 or 560 drivers for the Explicit Sync support though - I found that it made my xwayland experience (on Plasma...) significantly better. Cheers, Matt.
Re: [gentoo-user] Wayland! Beware of!
On Mon, Sep 23, 2024 at 5:11 PM Eli Schwartz wrote: > The resulting packages pull in support libraries that implement both > technologies. This is (usually, absent dlopen tricks) a fundamental > requirement of "ld.so", the runtime loader: if you compile support for > it, you have to have it installed. I run a lean X system for desktop workflows, with USE="-wayland". Every unconditional dev-libs/wayland dependency I've encountered has used dlopen. These were proprietary binary applications like Zoom and Slack. On an X system, they work completely fine without dev-libs/wayland, though. If I remember correctly, the word was, "Upstream says it's a dependency, so it's a dependency.". The moral of that story is, an unconditional dependency on Wayland *does not mean* that it isn't fully functional without dev-libs/wayland. On Mon, Sep 23, 2024 at 5:20 PM Wol wrote: > So put pretty simply, Wayland is fast becoming - if it isn't already - a > hard dependency of X11. But if you want to run X11 as your sole > windowing system, that's no problem, just run it over Wayland. I run a four-monitor system using NVIDIA's closed-source drivers. Last I heard, Wayland did not work with such a combination. Has that changed? -MD
[gentoo-user] Wayland! Beware of!
Hello, Gentoo. I got a nasty shock earlier on this evening when I was updating my (still newish) system. Around (perhaps) 70 packages to be updated or reloaded, several of them big packages. What's going on? There were lots of qt and kde packages being sucked in. But what stood out prominently was the wayland USE flag, which appeared to have been enabled in most of these packages. What on Earth is going on? I never asked for wayland, and I haven't received any news items about it in the last few weeks. I know little about this X substitute, but one thing's vitually certain; that installing it as emerge intended would lead to a lot of breakage. So I disabled the wayland USE flag in my make.conf, and the number of packages to merge went down to 29. I merged them. I'm hoping my machine is still stable. It would have been nice to have got a news item about this change. :-( -- Alan Mackenzie (Nuremberg, Germany).
Re: [gentoo-user] Wayland! Beware of!
On 23/09/2024 21:14, Alan Mackenzie wrote: What on Earth is going on? I never asked for wayland, and I haven't received any news items about it in the last few weeks. I know little about this X substitute, but one thing's vitually certain; that installing it as emerge intended would lead to a lot of breakage. Well, everything is slowly moving to Wayland, or X13 as they didn't call it. And while I don't understand the details, X Org is basically dead. X comes in two halves, the front end (or server, they use the words the other way round to normal), which is still maintained. And the back end, or client, that drives the hardware - this bit is basically abandonware apart from the Wayland compositor or whatever it is. So put pretty simply, Wayland is fast becoming - if it isn't already - a hard dependency of X11. But if you want to run X11 as your sole windowing system, that's no problem, just run it over Wayland. What makes you think that enabling Wayland will cause breakage? It shouldn't really do anything much, other than allowing apps to access Wayland features if they want. Given that both KDE/Plasma, and Gnome, are moving to Wayland (and pretty much hide Wayland from you, just like they hide X), I would have thought disabling Wayland was actually MORE likely to cause breakage. Not that your hardware/X combo is going to bitrot, but the apps you rely on might start relying on Wayland and won't be happy if they can't find it. (I'm cursing Plasma 6, but that's not Wayland's fault. afaict it's having problems importing/updating the old Plasma 5 settings with the result it resets itself every time I log in :-( Cheers, Wol
Re: [gentoo-user] Wayland! Beware of!
On Mon, 2024-09-23 at 22:08 +, Alan Mackenzie wrote: > > But the unused code still gets built in, doesn't it? That's a somewhat > un-gentoo like situation. > It depends on the language, but in a compiled language, not usually. Regardless: if you aren't a fan of widespread changes to global USE flags based on what's fashionable at the time, you're gonna have a bad time in the desktop profile. Run "eselect profile list" and pick one that's higher up the tree.
Re: [gentoo-user] Wayland! Beware of!
Hello, Eli. On Mon, Sep 23, 2024 at 17:11:14 -0400, Eli Schwartz wrote: > On 9/23/24 4:14 PM, Alan Mackenzie wrote: > > Hello, Gentoo. > > I got a nasty shock earlier on this evening when I was updating my > > (still newish) system. Around (perhaps) 70 packages to be updated or > > reloaded, several of them big packages. What's going on? > > There were lots of qt and kde packages being sucked in. But what stood > > out prominently was the wayland USE flag, which appeared to have been > > enabled in most of these packages. > > What on Earth is going on? I never asked for wayland, and I haven't > > received any news items about it in the last few weeks. I know little > > about this X substitute, but one thing's vitually certain; that > > installing it as emerge intended would lead to a lot of breakage. > Intriguing that you feel it is "vitally certain" it will lead to > breakage. Where do you derive that conclusion from? It's a big change, wayland is known to be incompatible with X, as far as I'm aware XFCE doesn't yet work with it, and there is no completely satisfactory version of Emacs which runs with wayland (I'm an Emacs developer, and bugs keep coming in from people trying Emacs on wayland.) > To be sure, installing it as emerge intended would lead to a lot of > recompiling and packages that you aren't using. Yes. > That's the description of bloat, not the description of breakage. Maybe so, but who wants bloat? There are binary distribution for such people. ;-) > To be perfectly clear: both X and Wayland support can be and frequently > are compiled into the same program and/or the same toolkit. It kind of > needs to, because binary distros such as Arch, Debian, Fedora etc only > provide one build, and that has to work for people using X, and it has > to work for people using Wayland. OK, thanks. I didn't know that. > The resulting packages pull in support libraries that implement both > technologies. This is (usually, absent dlopen tricks) a fundamental > requirement of "ld.so", the runtime loader: if you compile support for > it, you have to have it installed. > But no code is *run*, because it is all conditional on a check that > looks like such: > #if defined(COMPILED_WITH_WAYLAND_SUPPORT) > if get_current_display_server_type() == 'wayland': > run_wayland_specific_code() > #elif defined(COMPILED_WITH_X_SUPPORT) > if get_current_display_server_type() == 'xorg': > run_xorg_specific_code() > #endif OK. > Please note that no matter what display server you run, > get_current_display_server_type() is the same function either way, so > you're not actually running any "wayland code" even if you check to see > whether you are running wayland. But the unused code still gets built in, doesn't it? That's a somewhat un-gentoo like situation. > But you do need to install the wayland libraries, since the body of the > if statement runs "wayland code". Unless you compile the package with > USE="-wayland", which means that neither > get_current_display_server_type() nor run_wayland_specific_code() are > compiled at all. That's what I ended up doing. > In short, installing wayland will NOT break your X11 system and it is > rank paranoia to assume so or claim so. Put yourself in my position, which wasn't one of knowledge. It's a matter of decades of experience which suggest that big changes cause breakage, just like throwing crockery onto the floor does. > But it will make you compile a bunch of stuff you don't want or need. > Surely, that is reason enough for you to make an informed choice about > disabling USE flags that you do not need, rather than worrying about how > Gentoo is broken all of a sudden? That was kind of the point I was making. I had to guess which flag to disable; I don't think it was in any documentation. > Do you have that little faith in the Gentoo Developers, that you think > we'd make a USE flag change that made everyone's systems suddenly break? It happens, from time to time, by accident. For example, emerge --depclean on my system wants to unmerge openrc. Not a deliberate move by the developers, just some accident. But it's the reason I don't do emerge --depclean, ever. > :( > > So I disabled the wayland USE flag in my make.conf, and the number of > > packages to merge went down to 29. I merged them. > > I'm hoping my machine is still stable. It would have been nice to have > > got a news item about this change. :-( > Your machine was, is, and will continue to be stable. Please, relax. :) Thanks! > News items are a better fit for scenarios where users are required to > take action. No one is required to take action here, though you may take > action if you wish. There are lots of other things that don't require > action, but you may choose to take action over. Any system update can > update a package that you like, to a new upstream version that removes > your favorite features. Does there need to be a news item every time a > p
Re: [gentoo-user] Wayland! Beware of!
On 9/23/24 4:14 PM, Alan Mackenzie wrote: > Hello, Gentoo. > > I got a nasty shock earlier on this evening when I was updating my > (still newish) system. Around (perhaps) 70 packages to be updated or > reloaded, several of them big packages. What's going on? > > There were lots of qt and kde packages being sucked in. But what stood > out prominently was the wayland USE flag, which appeared to have been > enabled in most of these packages. > > What on Earth is going on? I never asked for wayland, and I haven't > received any news items about it in the last few weeks. I know little > about this X substitute, but one thing's vitually certain; that > installing it as emerge intended would lead to a lot of breakage. Intriguing that you feel it is "vitally certain" it will lead to breakage. Where do you derive that conclusion from? To be sure, installing it as emerge intended would lead to a lot of recompiling and packages that you aren't using. That's the description of bloat, not the description of breakage. To be perfectly clear: both X and Wayland support can be and frequently are compiled into the same program and/or the same toolkit. It kind of needs to, because binary distros such as Arch, Debian, Fedora etc only provide one build, and that has to work for people using X, and it has to work for people using Wayland. The resulting packages pull in support libraries that implement both technologies. This is (usually, absent dlopen tricks) a fundamental requirement of "ld.so", the runtime loader: if you compile support for it, you have to have it installed. But no code is *run*, because it is all conditional on a check that looks like such: #if defined(COMPILED_WITH_WAYLAND_SUPPORT) if get_current_display_server_type() == 'wayland': run_wayland_specific_code() #elif defined(COMPILED_WITH_X_SUPPORT) if get_current_display_server_type() == 'xorg': run_xorg_specific_code() #endif Please note that no matter what display server you run, get_current_display_server_type() is the same function either way, so you're not actually running any "wayland code" even if you check to see whether you are running wayland. But you do need to install the wayland libraries, since the body of the if statement runs "wayland code". Unless you compile the package with USE="-wayland", which means that neither get_current_display_server_type() nor run_wayland_specific_code() are compiled at all. In short, installing wayland will NOT break your X11 system and it is rank paranoia to assume so or claim so. But it will make you compile a bunch of stuff you don't want or need. Surely, that is reason enough for you to make an informed choice about disabling USE flags that you do not need, rather than worrying about how Gentoo is broken all of a sudden? Do you have that little faith in the Gentoo Developers, that you think we'd make a USE flag change that made everyone's systems suddenly break? :( > So I disabled the wayland USE flag in my make.conf, and the number of > packages to merge went down to 29. I merged them. > > I'm hoping my machine is still stable. It would have been nice to have > got a news item about this change. :-( Your machine was, is, and will continue to be stable. Please, relax. :) News items are a better fit for scenarios where users are required to take action. No one is required to take action here, though you may take action if you wish. There are lots of other things that don't require action, but you may choose to take action over. Any system update can update a package that you like, to a new upstream version that removes your favorite features. Does there need to be a news item every time a package is updated? I assure you you'd get quite sick and tired of the constant news items if that actually happened. P.S. Yes, I disabled the wayland USE as well. I'm not trying to push wayland on you, don't worry. -- Eli Schwartz OpenPGP_signature.asc Description: OpenPGP digital signature
Re: [gentoo-user] Wayland! Beware of!
Hello, Alan, Alan Mackenzie writes: > Hello, Gentoo. > > I got a nasty shock earlier on this evening when I was updating my > (still newish) system. Around (perhaps) 70 packages to be updated or > reloaded, several of them big packages. What's going on? > > There were lots of qt and kde packages being sucked in. But what stood > out prominently was the wayland USE flag, which appeared to have been > enabled in most of these packages. > > What on Earth is going on? I never asked for wayland, and I haven't > received any news items about it in the last few weeks. I know little > about this X substitute, but one thing's vitually certain; that > installing it as emerge intended would lead to a lot of breakage. That should not be the case. If something breaks, that's a bug. Wayland was added to the default USE of the desktop profiles because most DE developers have started phasing out X11 support, or at least treating it as second-class, and because enabling USE=wayland should have no impact on those using the X session, as most/all Wayland support is runtime-conditional. So, that change agrees with developers of software we ship, while not bringing our users much disadvantage. Hence it was enabled. Hope that helps, have a lovely evening. -- Arsen Arsenović signature.asc Description: PGP signature
Re: [gentoo-user] Wayland! Beware of!
Wol: ... > X comes in two halves, the front end (or server, they use the words the > other way round to normal), ... No, server is a software concept, a program that waits and responds to inbound calls, the X-server is just that. A client is a program/user that pokes at the server and get responses. It's just the pc hoard that thinks a server is some machine handling databases, mail, files, printers or whatever. It has noting to do with what is there or here. Regards, /Karl Hammar
Re: [gentoo-user] Wayland! Beware of!
On 9/23/24 6:08 PM, Alan Mackenzie wrote: >> Do you have that little faith in the Gentoo Developers, that you think >> we'd make a USE flag change that made everyone's systems suddenly break? > > It happens, from time to time, by accident. For example, emerge > --depclean on my system wants to unmerge openrc. Not a deliberate move > by the developers, just some accident. But it's the reason I don't do > emerge --depclean, ever. This should not generally be possible. The @system set contains virtual/service-manager, so you cannot depclean that. $ emerge -pvc systemd Calculating dependencies... done! sys-apps/systemd-255.11 pulled in by: [...] virtual/service-manager-1-r2 requires sys-apps/systemd [...] $ emerge -pvc virtual/service-manager Calculating dependencies... done! virtual/service-manager-1-r2 pulled in by: @system requires virtual/service-manager And this works the same in an openrc chroot as well! # emerge -pvc virtual/service-manager Calculating dependencies... done! virtual/service-manager-1-r2 pulled in by: @system requires virtual/service-manager # emerge -pvc openrc Calculating dependencies... done! sys-apps/openrc-0.54.2 pulled in by: net-misc/netifrc-0.7.8-r1 requires >=sys-apps/openrc-0.15 virtual/service-manager-1-r2 requires sys-apps/openrc It does that using an "any-of" dependency: # cat /var/db/pkg/virtual/service-manager-1-r2/RDEPEND || ( sys-apps/openrc sys-apps/openrc-navi sys-apps/s6-rc sys-apps/systemd sys-process/runit virtual/daemontools ) So, @system requires you to have any one of: - openrc - openrc-navi (a testing fork with openrc user services) - s6 - systemd - runit - daemontools It's possible you have installed another one of these packages too. If you do, then virtual/service-manager will still be satisfied, and it will allow you to depclean openrc. In theory, one should not have multiple init systems installed. And openrc is the preferred satisfier, so if you use `emerge --depclean` it will try to depclean the other package, not openrc. But you can depclean openrc itself in that case, since portage doesn't know which init system you intend to keep. Even in this case it emits a warning: !!! 'sys-apps/openrc' (virtual/service-manager) is part of your system profile. !!! Unmerging it may be damaging to your system. to make sure you are fully aware that you intend to depclean a package that *might* be the wrong one. -- Eli Schwartz OpenPGP_signature.asc Description: OpenPGP digital signature
Re: [gentoo-user] Wayland! Beware of!
On 9/23/24 8:52 PM, Mitchell Dorrell wrote: > I run a lean X system for desktop workflows, with USE="-wayland". > Every unconditional dev-libs/wayland dependency I've encountered has > used dlopen. These were proprietary binary applications like Zoom and > Slack. On an X system, they work completely fine without > dev-libs/wayland, though. If I remember correctly, the word was, > "Upstream says it's a dependency, so it's a dependency.". > > The moral of that story is, an unconditional dependency on Wayland > *does not mean* that it isn't fully functional without > dev-libs/wayland. I took a look at Gentoo's net-im/zoom package as an example. It has USE=wayland. If you disable wayland support, it deletes: - /opt/zoom/cef/libGLESv2.so conditional on the bundled Qt: - /opt/zoom/Qt/lib/libQt5Wayland*.so* - /opt/zoom/Qt/plugins/wayland* - /opt/zoom/Qt/plugins/platforms/libqwayland*.so - /opt/zoom/Qt/qml/QtWayland including comments such as "Soname dependency on libwayland-client.so.0" (for libGLESv2, which doesn't actually seem to be accurate?) I did say "usually" for a reason. Proprietary software has a dual habit of: - statically linking to support libraries such as say, libwayland-client - going to extremes to defer loading libraries which they don't bundle, behind dlopen conditionals to make it more likely it will run on diverse end user systems This is typically just not the case for open source software, because they can rely on package manager distribution with enforced dependencies, and people rebuilding from source if they don't want a specific dependency. And of course: compiling against libwayland-client and hiding it behind a dlopen still requires you to have what to compile against as a build dependency, making it less attractive to people that know the software can simply be recompiled from source. slack does indeed have only one dependency on dev-libs/wayland that I can find -- it comes from https://swiftshader.googlesource.com/SwiftShader/+/a88d056919f1a84777c8b33531f40acc74a19d1e%5E%21/ Previously, slack was modified to have an unconditional RDEPEND on wayland via https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0328dbab456f04c57b286cf93235f7323c7c5a0f The commit message indicates exactly why it was added and it was not "upstream says it's a dependency, so it's a dependency". :) Please open a bug report for it. Thanks. ... Overall I think that these phantom wayland dependencies are an artifact of Electron's constant churn and the fact that every application using electron basically bundles its own inconsistent copy of it. -- Eli Schwartz OpenPGP_signature.asc Description: OpenPGP digital signature