summaryrefslogtreecommitdiffstats
path: root/profiles/amd64-desktop/make.defaults
blob: ac851eb8f4e253b34327b1d0ea2ba87f4220db4a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# CPU flags
#
CPU_FLAGS_X86="mmx mmxext sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt"

# LTO flags
#
# SOURCE: https://wiki.gentoo.org/wiki/LTO#Enabling_LTO_System-wide
WARNING_FLAGS="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
LTO_FLAGS="-flto ${WARNING_FLAGS}"
USE="${USE} lto"

# Common compilation flags
#
COMMON_FLAGS="-march=x86-64-v3 -O2 -pipe ${LTO_FLAGS}"
RUSTFLAGS="-C target-cpu=x86-64"

CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

# Distro
#
# Enable: distribution kernel, prebuilt binaries
USE="${USE} dist-kernel bindist"

# Security
#
# Enable: process capabilities, file capabilities, access control lists
# Disable: suid, single-use key
USE="${USE} caps filecaps acl -suid -skey"

# Optimizations
#
# Enable: orc
#
# NOTES: hardened profile disables orc which is mostly safe and provides
# speedup
USE="${USE} orc"

# Desktop
#
# Enable: screencast support, fontconfig
USE="${USE} screencast fontconfig"

# Xorg
#
# Disable: X and its extensions
#
# NOTES: enable them per-package
USE="${USE} -X -xcomposite -xpresent -xinerama -xscreensaver -xv -startup-notification"

# GTK & QT
#
# Enable: introspection and gstreamer for GTK, qml for QT
# Disable: gtk documentation and gtk2, gtk3, qt5, qt6 toolkits
#
# NOTES: enable them per-package
USE="${USE} introspection gstreamer -gtk2 -gtk3 -gtk-doc"
USE="${USE} qml -qt5 -qt6"

# GNOME & KDE
#
# Disable: disable gnome and kde services/features which are not strictly necessary to run a standalone desktop
USE="${USE} -gnome -eds -gnome-online-accounts -sysprof"
USE="${USE} -kde -plasma -kwallet -kaccounts"

# Audio
#
# Enable: jack, pipewire
USE="${USE} jack pipewire"

# Graphics
#
# Enable: vaapi, vulkan
USE="${USE} vaapi vulkan"

# Misc
#
# Enable: fftw library, MTP for android file transfer
USE="${USE} fftw mtp"

# Video cards
#
# Enable: framebuffer device (basic), AMD related video card support
VIDEO_CARDS="fbdev amdgpu radeon radeonsi zink"

# Input devices
#
# Enable: evdev, libinput (manages most common inputs such as mouse, keyboard, touchpad etc)
INPUT_DEVICES="evdev libinput"

# Localization
#
L10N=""

# Licensing
#
# Enable: nothing except free and binary redistributables
ACCEPT_LICENSE="-* @FREE @BINARY-REDISTRIBUTABLE"