aboutsummaryrefslogtreecommitdiffstats
path: root/meta-arago-distro/conf/distro/arago.conf
blob: b82fa76b3491c9af417ada84db58d4a118650be5 (plain)
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
# Name and version of the distribution
DISTRO_NAME = "Arago"
DISTRO_VERSION = "2023.10"
DISTRO_FEED_URI ?= "http://lcpd.itg.ti.com"
BUILD_VARIANT = "${@['prod','rt','systest'][int(d.getVar('ARAGO_RT_ENABLE'))+int(d.getVar('ARAGO_SYSTEST_ENABLE'))*2]}"
TISDK_VERSION ?= "live"
FEEDURIPREFIX ?= "builds/${DISTRO}-master/${BUILD_VARIANT}/${MACHINE}/latest/packages/"

OPKG_ARGS:remove = "--prefer-arch-to-version"

TI_MIRROR = "http://software-dl.ti.com/processor-sdk-mirror/sources/"
MIRRORS += " \
bzr://.*/.*      ${TI_MIRROR} \n \
cvs://.*/.*      ${TI_MIRROR} \n \
git://.*/.*      ${TI_MIRROR} \n \
gitsm://.*/.*    ${TI_MIRROR} \n \
hg://.*/.*       ${TI_MIRROR} \n \
osc://.*/.*      ${TI_MIRROR} \n \
p4://.*/.*       ${TI_MIRROR} \n \
npm://.*/.*      ${TI_MIRROR} \n \
ftp://.*/.*      ${TI_MIRROR} \n \
https?$://.*/.*  ${TI_MIRROR} \n \
svn://.*/.*      ${TI_MIRROR} \n \
"

# SDK paths and names
SDK_NAME_PREFIX = "arago"
SDK_VERSION = "${DISTRO_VERSION}"
SDK_VENDOR = "-${SDK_NAME_PREFIX}"
SDK_NAME = "${SDK_NAME_PREFIX}-${SDK_VERSION}"
SDKPATHINSTALL = "/opt/${SDK_NAME}"

IMAGE_FSTYPES += "tar.xz.md5sum"

# Extra boot files for WIC images
do_image_wic[depends] += "tisdk-uenv:do_deploy"
IMAGE_BOOT_FILES += "uEnv.txt"

# Mask any broken recipes (currently none)
#BBMASK = ""

TCMODEAPPEND ?= "-${TCMODE}"
TMPDIR .= "${TCMODEAPPEND}"

# Start with default set of distro features
DISTRO_FEATURES = "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC}"

# Add additional distro features
DISTRO_FEATURES:append = " pam wayland opengl"
DISTRO_FEATURES:remove = "x11"
#DISTRO_FEATURES:append = " opencl"
DISTRO_FEATURES:append = " vulkan"
DISTRO_FEATURES:append = " opencv"
DISTRO_FEATURES:append = " openmp"

# Normally target distro features will not be applied to native builds:
# Native distro features on this list will use the target feature value
DISTRO_FEATURES_FILTER_NATIVE:append = " opencl opencv openmp"
DISTRO_FEATURES_FILTER_NATIVESDK:append = " opencl opencv openmp"

# Set global runtime providers for major components
ARAGO_SYSVINIT ??= "0"
INIT_MANAGER ?= "${@['systemd','sysvinit'][int(d.getVar('ARAGO_SYSVINIT'))]}"

# Distro-specific package configuration
PACKAGECONFIG:append:pn-systemd = " coredump networkd resolved serial-getty-generator"

# Configure Qt5 flags (GLES is still required for qtdeclarative and qtwebkit)
PACKAGECONFIG_GL:pn-qtbase = "gles2 linuxfb"
PACKAGECONFIG_DISTRO:pn-qtbase = "icu examples accessibility gif gbm kms libinput"
PACKAGECONFIG_FONTS:pn-qtbase = "fontconfig"
PACKAGECONFIG:remove:pn-qtwayland = "xcomposite-egl xcomposite-glx"

# Add gstreamer in package configuration to enable video
PACKAGECONFIG:append:pn-qtmultimedia = " gstreamer"

# Add examples in Qt5 package configurations
PACKAGECONFIG:append:pn-qtcharts = " examples"
#PACKAGECONFIG:append:pn-qtdeclarative = " examples"
PACKAGECONFIG:append:pn-qtlocation = " examples"
PACKAGECONFIG:append:pn-qtmultimedia = " examples"
PACKAGECONFIG:append:pn-qtscript = " examples"
PACKAGECONFIG:append:pn-qtserialport = " examples"
PACKAGECONFIG:append:pn-qtsvg = " examples"
PACKAGECONFIG:append:pn-qtwayland = " examples"
PACKAGECONFIG:append:pn-qtwebengine = " examples"

# Prefer OpenSSL over GnuTLS for curl due to TSU exemptions
PACKAGECONFIG:pn-curl = "${@bb.utils.contains("DISTRO_FEATURES", "ipv6", "ipv6", "", d)} proxy openssl verbose zlib"

PACKAGECONFIG:pn-glmark2 = "drm-gles2 wayland-gles2"

# Set this to empty string to prevent xwayland config from being added
PACKAGECONFIG:pn-weston-init = ""

# Enable testing for opencl and vulkan with piglit
PACKAGECONFIG:append:pn-piglit = " \
    ${@bb.utils.filter("DISTRO_FEATURES", "opencl vulkan", d)} \
    ${@bb.utils.contains("DISTRO_FEATURES", "opengl", "deqp-gles", "", d)} \
    ${@bb.utils.contains("DISTRO_FEATURES", "vulkan", "deqp-vk", "", d)} \
"
PACKAGECONFIG:pn-opengl-es-cts = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "surfaceless", d)}"
PACKAGECONFIG:pn-vulkan-cts = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "surfaceless", d)}"

# Use llvmpipe for better performance with software rendering
# Only available for armv6+ devices
#MESA_GALLIUM_LLVM_PACKAGECONFIG = "gallium-llvm"
#MESA_GALLIUM_LLVM_PACKAGECONFIG:omapl138 = ""
#PACKAGECONFIG:append:pn-mesa = " ${MESA_GALLIUM_LLVM_PACKAGECONFIG}"
#PACKAGECONFIG:append:pn-mesa-pvr = " ${MESA_GALLIUM_LLVM_PACKAGECONFIG}"

# Enable netperf intervals/pacing and histogram
PACKAGECONFIG:append:pn-netperf = " intervals histogram"

# Use OpenGL ES2 for SDL2
PACKAGECONFIG_GL:pn-libsdl2 = "gles2"

# Add KMS/DRM backend support
PACKAGECONFIG:append:pn-libsdl2 = " kmsdrm"

# Enable cryptodev/devcrypto engine in OpenSSL 1.1
PACKAGECONFIG:append:pn-openssl = " cryptodev-linux"

# Enable GST_TRACER logging in gstreamer
PACKAGECONFIG:append:pn-gstreamer1.0 = " tracer-hooks coretracers"

# Enable kmssink in gstreamer
PACKAGECONFIG:append:pn-gstreamer1.0-plugins-bad = " kms"

# Enable gstreamer plugin for libcamera
PACKAGECONFIG:append:pn-libcamera = " gst"

# Disable pulseaudio routing in alsa by default
PACKAGECONFIG:remove:pn-alsa-plugins = "pulseaudio"
RDEPENDS:pulseaudio-server:remove = "alsa-plugins-pulseaudio-conf"

# Configure RAMFS for jailhouse linux-demo
JH_RAMFS_IMAGE = "tisdk-jailhouse-inmate"

# Enable UI and scripting for perf
PERF_FEATURES_ENABLE ?= "perf-scripting perf-tui"

# Do not warn on meta-gnome w/o x11
SKIP_META_GNOME_SANITY_CHECK = "1"

ARAGO_KERNEL_SUFFIX ?= ""
ARAGO_IMAGE_SUFFIX ?= ""

# Set real-time kernel suffix
ARAGO_RT_ENABLE ?= "0"
ARAGO_KERNEL_SUFFIX:append = "${@oe.utils.conditional("ARAGO_RT_ENABLE", "1", "-rt", "", d)}"
ARAGO_IMAGE_SUFFIX:append = "${@oe.utils.conditional("ARAGO_RT_ENABLE", "1", "-rt", "", d)}"

# Set systest kernel suffix
ARAGO_SYSTEST_ENABLE ?= "0"
ARAGO_KERNEL_SUFFIX:append = "${@oe.utils.conditional("ARAGO_SYSTEST_ENABLE", "1", "-systest", "", d)}"
IMAGE_FSTYPES:remove = "${@['','ubi ubifs'][d.getVar('ARAGO_SYSTEST_ENABLE') == '1']}"

# Enable basic stack and buffer overflow protections
#TARGET_CPPFLAGS += "-fstack-protector -D_FORTIFY_SOURCE=1"
#TARGET_CPPFLAGS += "-fstack-protector"

# Load default preferences
require conf/distro/include/arago-prefs.inc

# Allow branding on top of Arago Distro and Core TI-SDK
# If ARAGO_BRAND is not set in local.conf, default to core
ARAGO_BRAND ??= "core"

require conf/distro/include/branding-${ARAGO_BRAND}.inc

# Disable polkit's systemd configuration from meta-oe
POLKITAUTH = ""

# Disable meta-virtualization sanity check and warning
SKIP_META_VIRT_SANITY_CHECK = "1"

# Set ENTERPRISE_DISTRO flag to ensure that recipes that have been flagged
# do not attempt to enable features that have potential commercial
# licensing issues.
ENTERPRISE_DISTRO = "1"

# oe-core uses external libav instead of internal libav for gst-ffmpeg. We
# disable by default the codecs in libav that causes issues with shipping an
# Arago based SDK. No need to prevent gst-ffmpeg from being used since we
# disable troublesome software.
LICENSE_FLAGS_ACCEPTED = "commercial_gst-ffmpeg commercial_gstreamer1.0-libav commercial_faad2 non-commercial_netperf"

# Do not package own copy of perl into devkit, rely on host one
ASSUME_PROVIDED += "nativesdk-perl"