Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 911532 - x11-base/xorg-server extract glx as separate USE flag
Summary: x11-base/xorg-server extract glx as separate USE flag
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-07-31 18:58 UTC by stefan11111
Modified: 2023-08-01 22:47 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description stefan11111 2023-07-31 18:58:36 UTC
See: https://forums.gentoo.org/viewtopic-t-1164352.html
Steam needs glx to work. USE="minimal" disables glx among other things.
By extracting glx as a separate USE flag, xorg builds 572 files as opposed to 625.
Comment 1 Matt Turner gentoo-dev 2023-08-01 16:35:02 UTC
I checked what IUSE=minimal controls, and it seems like... not much:

> CDEPEND="
>   ...
> 	!minimal? (
> 		>=media-libs/mesa-18[X(+),egl(+),gbm(+)]
> 		>=media-libs/libepoxy-1.5.4[X,egl(+)]
> 	)
>   ...
> "
> 
> REQUIRED_USE="!minimal? (
> 		|| ( ${IUSE_SERVERS} )
> 	)
> 	...
> "
> 
> src_configure() {
>   ...
> 	local emesonargs=(
> 		...
> 		$(meson_use !minimal dri1)
> 		$(meson_use !minimal dri2)
> 		$(meson_use !minimal dri3)
> 		$(meson_use !minimal glamor)
> 		$(meson_use !minimal glx)
> 		...
> 	)
> 	...
> }

This looks like, if you need glx support, you're also going to want dri support.

So I did three test builds:

USE="-* udev xorg" ebuild xorg-server-21.1.8-r2.ebuild clean install
- 617 targets
-  * Final size of installed tree:  13116 KiB (12.8 MiB)
- 187 files installed

USE="-* udev xorg minimal " ebuild xorg-server-21.1.8-r2.ebuild clean install
- 527 targets
- * Final size of installed tree:  12324 KiB (12.0 MiB)
- 179 files

USE="-* udev -xorg minimal " ebuild xorg-server-21.1.8-r2.ebuild clean install
- Builds 316 targets
- * Final size of installed tree:   7636 KiB ( 7.4 MiB)
- 5 files installed: man page and documentation only, this is a completely useless and broken configuration

What do you think you're gaining by building with USE=minimal?

So I don't understand what this is supposed to accomplish.
Comment 2 stefan11111 2023-08-01 18:29:40 UTC
Why the udev assumption?

$ USE="-* minimal xorg" doas emerge -1av xorg-server (my configuration with glx enabled)
Final size of installed tree:  12776 KiB (12.4 MiB)

$ ls -lah /usr/bin/X*
lrwxrwxrwx 1 root root    4 Aug  1 21:20 /usr/bin/X -> Xorg
-rwx--s--x 1 root xorg 2.2M Aug  1 21:20 /usr/bin/Xorg

$ USE="-* xorg" doas emerge -1av xorg-server
Final size of installed tree:  13200 KiB (12.8 MiB)

$ ls -lah /usr/bin/X*
lrwxrwxrwx 1 root root    4 Aug  1 21:27 /usr/bin/X -> Xorg
-rwx--s--x 1 root xorg 2.3M Aug  1 21:27 /usr/bin/Xorg

Seems like I forgot to disable xvfb after I no longer needed it(unrelated).
That added an extra 10 files to my numbers.

The point of this is to use steam with the most minimal xorg.
Comment 3 Matt Turner gentoo-dev 2023-08-01 18:45:29 UTC
That didn't answer my question at all. Your goal in using USE=minimal really to cut 0.4 MiB?
Comment 4 stefan11111 2023-08-01 22:01:25 UTC
(In reply to Matt Turner from comment #3)
> That didn't answer my question at all. Your goal in using USE=minimal really
> to cut 0.4 MiB?

If it's not needed, why build those extra files?
As I see it, whenever I build something, I first ask what the benefit of building it is, not what the drawback of not building it is.
To make the answer more clear, yes.