Re: [gentoo-user] Wayland! Beware of!

2024-09-23 Thread Matt Jolly



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!

2024-09-23 Thread Mitchell Dorrell
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!

2024-09-23 Thread Alan Mackenzie
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!

2024-09-23 Thread Wol
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!

2024-09-23 Thread Michael Orlitzky
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!

2024-09-23 Thread Alan Mackenzie
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!

2024-09-23 Thread Eli Schwartz
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!

2024-09-23 Thread Arsen Arsenović
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!

2024-09-23 Thread karl
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!

2024-09-23 Thread Eli Schwartz
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!

2024-09-23 Thread Eli Schwartz
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