Bug 1028028 - X11 Pattern doesn't work without recommends
Summary: X11 Pattern doesn't work without recommends
Status: NEW
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Basesystem (show other bugs)
Version: Current
Hardware: Other Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Simon Lees
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-03-06 01:51 UTC by Simon Lees
Modified: 2019-08-06 07:36 UTC (History)
4 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Lees 2017-03-06 01:51:51 UTC
Currently the X11 pattern doesn't work with the --no-recommends zypper option. It's my opinion atleast that zypper install --no-recommends [gnome|enlightenment|xfce] etc should install a working version of the particular desktop but probably without a web browser mail client etc (I'm not saying that we should claim this is well tested and well supported) but if someone tries and raises a bug we should atleast try to fix it.

As it would be ideal to share these patterns between Tumbleweed / Leap 43.X / SLE 13 I am asking you all for your opinions, i've listed below some things that I think need to be addressed but I'd welcome your feedback and further ideas.

1. Packages such as xorg-x11-server, xorg-x11-essentials, xorg-x11-driver-input, xorg-x11-driver-video should be required rather then recommended. (if anything only requires a subset of that to work it should potentially require the subset it needs rather then the whole pattern.

2. All display managers should "Provide: Display-Manager" so that the pattern installs 1 display manager but not necessarily several.

3. Do we need a wayland pattern? at some point its going to be possible to run a desktop without x11 installed (if its not already) what do we need to do in the current X11 pattern to make this possible if desired do we need a wayland pattern? Atm I think enlightenment just requires the wayland packages it needs, what do others do?
Comment 1 Dominique Leuenberger 2017-03-06 14:36:52 UTC
(In reply to Simon Lees from comment #0)
> Currently the X11 pattern doesn't work with the --no-recommends zypper
> option. It's my opinion atleast that zypper install --no-recommends
> [gnome|enlightenment|xfce] etc should install a working version of the
> particular desktop but probably without a web browser mail client etc (I'm
> not saying that we should claim this is well tested and well supported) but
> if someone tries and raises a bug we should atleast try to fix it.

I agree with the basic premise, but: GNOME does not require an X-Server (you can run it perfectly as a wayland session - then only XWayland is needed),

> 1. Packages such as xorg-x11-server, xorg-x11-essentials,
> xorg-x11-driver-input, xorg-x11-driver-video should be required rather then
> recommended. (if anything only requires a subset of that to work it should
> potentially require the subset it needs rather then the whole pattern.

xorg-x11-driver-input is just a meta-package - almost all input devices are handled by xf86-input-libinput by now
 
> 2. All display managers should "Provide: Display-Manager" so that the
> pattern installs 1 display manager but not necessarily several.

That would be analog to the 'windowmanager' we provide - and makes sense. But: running X does not require you to run a Login Manager (think startx)

> 3. Do we need a wayland pattern? at some point its going to be possible to
> run a desktop without x11 installed (if its not already) what do we need to
> do in the current X11 pattern to make this possible if desired do we need a
> wayland pattern? Atm I think enlightenment just requires the wayland
> packages it needs, what do others do?

Wayland might be a bit special - as it's mostly a protocol - implemented by various desktop environments (so far GNOME, KDE and Enlightenment are known by me to support wayland); I don't think a pattern makes much sense for that. for GNOME for example, you need gnome-session-wayland (which requires xorg-x11-server-wayland); xorg-x11-server can already be uninstalled on a GNOME session without loss of functionality
Comment 2 Simon Lees 2017-03-07 00:18:55 UTC
(In reply to Dominique Leuenberger from comment #1)
> (In reply to Simon Lees from comment #0)
> > Currently the X11 pattern doesn't work with the --no-recommends zypper
> > option. It's my opinion atleast that zypper install --no-recommends
> > [gnome|enlightenment|xfce] etc should install a working version of the
> > particular desktop but probably without a web browser mail client etc (I'm
> > not saying that we should claim this is well tested and well supported) but
> > if someone tries and raises a bug we should atleast try to fix it.
> 
> I agree with the basic premise, but: GNOME does not require an X-Server (you
> can run it perfectly as a wayland session - then only XWayland is needed),
> 
> > 1. Packages such as xorg-x11-server, xorg-x11-essentials,
> > xorg-x11-driver-input, xorg-x11-driver-video should be required rather then
> > recommended. (if anything only requires a subset of that to work it should
> > potentially require the subset it needs rather then the whole pattern.
> 
> xorg-x11-driver-input is just a meta-package - almost all input devices are
> handled by xf86-input-libinput by now
>  
> > 2. All display managers should "Provide: Display-Manager" so that the
> > pattern installs 1 display manager but not necessarily several.
> 
> That would be analog to the 'windowmanager' we provide - and makes sense.
> But: running X does not require you to run a Login Manager (think startx)
> 
Yeah, taking all of the above into account I think that "zypper in --no-recommends <your desktop here>" should provide what a "reasonable person" considers to be a working system. For now I think that should probably include a display manager and X11 (unless we can detect hardware from patterns given wayland doesn't work everywhere). If someone whats a more minimal system then this ie no displaymanager or no wayland these requires are only in the patterns themselves rather then the actual packages, so you could install say gnome or xfce without using a pattern or you could install using a pattern then remove the pattern. 

> > 3. Do we need a wayland pattern? at some point its going to be possible to
> > run a desktop without x11 installed (if its not already) what do we need to
> > do in the current X11 pattern to make this possible if desired do we need a
> > wayland pattern? Atm I think enlightenment just requires the wayland
> > packages it needs, what do others do?
> 
> Wayland might be a bit special - as it's mostly a protocol - implemented by
> various desktop environments (so far GNOME, KDE and Enlightenment are known
> by me to support wayland); I don't think a pattern makes much sense for
> that. for GNOME for example, you need gnome-session-wayland (which requires
> xorg-x11-server-wayland); xorg-x11-server can already be uninstalled on a
> GNOME session without loss of functionality

That was my thought as well, but I wanted to check, unless we needed a more generic pattern to cover everything used by all desktops regardless of whether they are X11 or wayland but atm I can't see a need.
Comment 3 Dominique Leuenberger 2017-03-07 18:07:46 UTC
(In reply to Simon Lees from comment #2)
> Yeah, taking all of the above into account I think that "zypper in
> --no-recommends <your desktop here>" should provide what a "reasonable
> person" considers to be a working system.

I tend to disagree - a person using --no-recommends states to know what they do and the pattern should install what is REQUIRED to run the stack chosen - not what we would recommend to make it workable in random scenarios.

> probably include a display manager and X11 (unless we can detect hardware
> from patterns given wayland doesn't work everywhere).

For now, the GNOME Pattern (still) has a requires: pattern(x11) - so at least from that end, no change is needed. What is broken imho is that xorg-x11-server is not required by the X11-pattern. As for the video and intel drivers, we would run into the same problem though: they are not requried to operate an X-session - but they are recommended to get a setup that can cope with all kind of setups. Again, if you use --no-recommends, you tell the system you know what you want to do and you claim to be smarter than packagers.
Comment 4 Dominique Leuenberger 2017-03-07 18:10:37 UTC
(In reply to Dominique Leuenberger from comment #3)
> For now, the GNOME Pattern (still) has a requires: pattern(x11)

That part is actually not true, just checked. But, as already stated: it's also not true in reality, as I can run a GNOME Session without an X-stack installed
Comment 5 Franck Bui 2017-03-08 13:48:27 UTC
(In reply to Simon Lees from comment #0)
> Currently the X11 pattern doesn't work with the --no-recommends zypper
> option. It's my opinion atleast that zypper install --no-recommends
> [gnome|enlightenment|xfce] etc should install a working version of the
> particular desktop but probably without a web browser mail client etc (I'm
> not saying that we should claim this is well tested and well supported) but
> if someone tries and raises a bug we should atleast try to fix it.
> 

I tend to agree : I'm hitting the same problem here when trying to install lxde.

 $ zypper in --no-recommends -t pattern lxde

does nothing useful either.
Comment 6 Stefan Behlert 2017-03-09 12:46:12 UTC
What about providing some generic pattern(xystem) in the xorg and wayland pattern, and recommending that in the lxde/gnome/kde/whatever patterns?
(patterns(xsystem) is a bad name, true).

I think recommending a desktop pattern in the xorg pattern is the wrong way round.
Comment 7 Dominique Leuenberger 2017-03-09 23:01:31 UTC
(In reply to Stefan Behlert from comment #6)
> What about providing some generic pattern(xystem) in the xorg and wayland
> pattern, and recommending that in the lxde/gnome/kde/whatever patterns?
> (patterns(xsystem) is a bad name, true).

Wayland does not have any pattern - the compositor so far is part of the DE in all cases (GNOME/KDE/Enlughtenment) - no serious deployment will ever be based on weston - so GNOME (on Wayland) needs no further packages

> I think recommending a desktop pattern in the xorg pattern is the wrong way
> round.

It's also wrong for KDE or GNOME to recommend (or even require) X11: it's simply inaccurate and wrong. Let alone that one can use Wayland nowadays, one is not forced to use a local X-server; xvnc would be a valid alternative or ssh -X and remote-X-displays.

We should likely take a step back and ask ourselves why so often users are told to install without recommends - when they do not really want to be in control of what they are doing.

So far the only real issue I have seen in this bug is that the x11 pattern does not even require an x-server (which one should likely expect to be installed as part of the x11 pattern)
Comment 8 Dominique Leuenberger 2017-03-09 23:07:56 UTC
(actually, GNOME pattern for example still pulls in the x11 pattern for now - hisotrical legacy)

zypper info --requires --recommends -t pattern gnome_basis
i | patterns-openSUSE-x11                | package | Required

gnome_basis is required by the gnome pattern...

thus, underlining once again: the only issue seems to be the x11 pattern not requiring an x-server - some more restructuring will be needed when we want to allow GNOME patterns to be installed entirely without an X-Server
Comment 9 Simon Lees 2017-03-10 00:19:10 UTC
(In reply to Stefan Behlert from comment #6)
> What about providing some generic pattern(xystem) in the xorg and wayland
> pattern, and recommending that in the lxde/gnome/kde/whatever patterns?
> (patterns(xsystem) is a bad name, true).
> 
> I think recommending a desktop pattern in the xorg pattern is the wrong way
> round.

Yeah I wasn't suggesting recommending a desktop pattern, I was more thinking we should require a display manager (lightdm, sddm, gdm etc) as a normal user may expect when installing the (enlightenment / xfce / gnome / kde / lxde) pattern with no recommends they will get a graphical screen, currently they have to use "startx" to launch the desktop unless they install one manually.

From my perspective (which isn't the same as everyone) If I install the enlightenment pattern with no recommends I should end up with lightdm installed so that it boots to a graphical system, if I just install the enlightenment package however, then lightdm shouldn't be installed and I either do it myself or use startx. If most people don't share this opinion i'm happy to do it another way but to me this is what a user would expect