Gentoo Archives: gentoo-dev

From: Matt Turner <mattst88@g.o>
To: gentoo-dev@l.g.o
Cc: x11@g.o
Subject: [gentoo-dev] Monthly x11@ project status for April 2018
Date: Mon, 02 Apr 2018 03:08:45
Message-Id: 20180402030813.GA21189@ivybridge.mattst88.com
1 I'd like to start giving ~monthly updates on the status of x11@ packages
2 in Gentoo. I hope it gives some insight into the status of a rather
3 important set of packages and maybe encourages others to lend a hand to
4 a very understaffed project when possible.
5
6 I expect future reports to be significantly shorter.
7
8 x11@ currently maintains 291 packages. This number is down from 328
9 after the removal of 37 drivers for very old hardware in bug 606132.
10
11 x11@ is currently assigned or cc'd on 222 bugs. This number is down from
12 more than 412 in February 2015 (I reported this on #gentoo-desktop after
13 closing out a bunch of bugs that day).
14
15 I work on media-libs/mesa professionally for Intel, so I am involved
16 with upstream for a number of the projects maintained by x11@ and know
17 the right people to contact for the others. My strategy maintaining x11
18 packages is to keep a git ebuild in sync with upstream changes. When a
19 release is made, everything should already be ready on the Gentoo side,
20 and I'm able to just copy the git ebuild. This has enabled me to provide
21 new versions of packages very quickly. I believe it has also helped
22 reduce the time to stabilizing packages, since users often test and
23 report bugs against the git ebuilds.
24
25 My list of to-do items consists of:
26
27 == Fix x11-base/xorg-server suid/systemd situation ==
28 https://bugs.gentoo.org/635102
29
30 Under some circumstances (kernel modesetting driver + systemd, I think)
31 Xorg should be able to run without root privileges. We were shipping a
32 USE=suid option without anyone knowing or understanding its purpose.
33
34 For >=x11-base/xorg-server-1.20 I plan to ship the xserver in a way that
35 allows systemd/elogind users with kernel modesetting drivers to run Xorg
36 without root privileges. I expect to push version 1.19.99.902 (1.20 RC2)
37 into the tree soon with something working for systemd. I would very much
38 appreciate an ebuild patch from any elogind user as well as non-systemd
39 testing to make sure I haven't broken anything like I did with
40 1.19.99.901.
41
42 == Update packages to depend on x11-base/xorg-proto ==
43 https://bugs.gentoo.org/651286
44
45 The new x11-base/xorg-proto package combines nearly all (28 in fact) of
46 the x11-proto/* packages into one, with a very fast Meson build system.
47 It installs on my laptop in less time than it takes to ./configure one
48 of the individual x11-proto/ packages. I've kept empty versions of the
49 x11-proto/ packages to ease the transition.
50
51 Once the last two architectures have stabilized it (arm@ and arm64@), we
52 can begin transitioning to depending on x11-base/xorg-proto directly
53 instead of the x11-proto/ packages.
54
55 If there's a way to have repoman alert developers to deprecated
56 dependencies in the same way we handle deprecated eclasses, I'd like to
57 know about it.
58
59 == Remove x11-proto/printproto and x11-libs/libXp ==
60 https://bugs.gentoo.org/649076
61
62 Support for the Xprint extension was removed from xorg-server-1.6.0
63 released 9 years ago, yet a handful of packages still claimed a
64 dependence on the Xprint client library libXp.
65
66 We've nearly removed all traces of it, and are waiting on the last few
67 bugs to be closed out.
68
69 == Convert media-libs/mesa ebuild to build with Meson ==
70
71 Mesa has grown a Meson build system over the last few months. I plan to
72 ship media-libs/mesa-18.1 (Q2 2018) using Meson.
73
74 hanetzer in #gentoo-desktop has been working on this.
75
76 == Convert media-libs/xorg-server ebuild to build with Meson ==
77
78 The Xserver has also grown a Meson build system. I think it will
79 probably be in reasonable shape by 1.20, but I don't want to delay it
80 getting into the tree for that. 1.21 will probably be a long way off,
81 but I expect to ship it with Meson, if not something before.
82
83 No work has been done on this.
84
85 == Add and require glvnd ==
86 https://bugs.gentoo.org/606924
87 https://github.com/NVIDIA/libglvnd
88
89 OpenGL has historically been provided by a vendor's libGL.so. That's
90 caused a number of headaches for distributions, since both
91 x11-drivers/nvidia-drivers and media-libs/mesa would like to install
92 /usr/lib/libGL.so.
93
94 The GL Vendor-Neutral Dispatch library ("glvnd") defines a new common
95 library interface, which dispatches to the underlying hardware driver.
96
97 Mesa and the NVIDIA drivers both have support, but it needs to be wired
98 up in Gentoo. Doing this would allow us to get rid of
99 app-eselect/eselect-opengl and a whole class of build failures.
100
101 No work has been done on this. I plan to do it after Mesa is converted
102 to build with Meson.
103
104 == Drop app-eselect/eselect-mesa ==
105 https://bugs.gentoo.org/576334
106
107 While app-eselect/eselect-opengl allows users to switch between OpenGL
108 implementations (x11-drivers/nvidia-drivers vs media-libs/mesa),
109 app-eselect/eselect-mesa allows users to switch between Mesa drivers for
110 the same hardware. This made sense a few years ago, when there were both
111 Gallium and "classic" DRI drivers for the same hardware, but today only
112 the 10 year old i915/i945 integrated graphics still falls into this
113 category. Frankly, both of the driver options there are horrible.
114
115 We should just get rid of this complexity and rid ourselves of the
116 collection of unfixed bugs filed against eselect-mesa.
117
118 No work has been done on this. I plan to do it after Mesa is converted
119 to build with Meson.
120
121 == Fix/Remove OpenCL ==
122 https://bugs.gentoo.org/546320
123 https://bugs.gentoo.org/647330
124
125 Mesa provides an OpenCL implementation to some Gallium3D drivers
126 (radeonsi, nouveau, ...). I don't use these drivers and I don't use
127 OpenCL, so this has been difficult for me to maintain. Or, honestly...
128 care about.
129
130 app-eselect/eselect-opencl provides the mechanism for switching
131 libOpenCL.so symlinks between implementations, but I expect all
132 implementations support the OpenCL Installable Client Driver ("ICD")
133 interface, which allows drivers to be installed side-by-side like with
134 glvnd.
135
136 Or we can just rm -rf it all from the tree. That would suit me fine, and
137 no one else seems to care enough to maintain it. I have given serious
138 consideration to use.masking mesa's opencl flag.
139
140 == Clean out x11 overlay ==
141 https://gitweb.gentoo.org/proj/x11.git/
142
143 The X11 overlay held git ebuilds for x11 packages but keeping them
144 separate from the rest of the versions in the main tree is a receipe for
145 problems. I've periodically moved things out of the X11 overlay to the
146 main tree as it made sense. (For a lot of packages, there's no point in
147 a git ebuild so we should just delete those from the overlay)
148
149 Once that is done, I could see using the X11 overlay for things like old
150 xserver versions (ones with XAA, maybe) or old drivers.
151
152
153
154
155
156 If any of these pique your interest, please let me know. I'd love to get
157 some help!

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies