Skip to content

Commit f3cb887

Browse files
author
Neeraj Deshpande
authored
Merge pull request #332 from WebPlatformForEmbedded/main-update-westeros
Westeros package update.
2 parents 02f80dd + 98dbd7c commit f3cb887

File tree

8 files changed

+200
-7
lines changed

8 files changed

+200
-7
lines changed

board/raspberrypi/post-image.sh

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,14 @@ __EOF__
9191
;;
9292
--add-vc4-fkms-v3d-overlay)
9393
# Enable VC4 overlay
94-
echo "Adding 'dtoverlay=vc4-fkms-v3d' to config.txt."
95-
cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
94+
if ! grep -qE '^dtoverlay=vc4-fkms-v3d' "${BINARIES_DIR}/rpi-firmware/config.txt"; then
95+
echo "Adding 'dtoverlay=vc4-fkms-v3d' to config.txt."
96+
cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
9697
97-
# Add VC4 GPU support on top of dispmanx
98+
# Add VC4 GPU support
9899
dtoverlay=vc4-fkms-v3d
99100
__EOF__
101+
fi
100102
;;
101103
--add-vc4-kms-v3d-overlay)
102104
# Enable VC4 overlay
@@ -182,6 +184,16 @@ __EOF__
182184
fi
183185
fi
184186
;;
187+
--add-dtparam-audio)
188+
if ! grep -qE '^dtparam=audio=on' "${BINARIES_DIR}/rpi-firmware/config.txt"; then
189+
echo "Adding 'dtparam=audio=on' to config.txt."
190+
cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
191+
192+
# Enable onboard ALSA audio
193+
dtparam=audio=on
194+
__EOF__
195+
fi
196+
;;
185197
esac
186198

187199
done
Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
BR2_arm=y
2+
BR2_cortex_a72=y
3+
BR2_ARM_FPU_NEON_VFPV4=y
4+
BR2_ARM_INSTRUCTIONS_THUMB2=y
5+
6+
BR2_TOOLCHAIN_BUILDROOT_CXX=y
7+
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
8+
9+
BR2_BINUTILS_VERSION_2_33_X=y
10+
BR2_GCC_VERSION_9_X=y
11+
12+
BR2_CCACHE=y
13+
BR2_OPTIMIZE_2=y
14+
15+
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
16+
17+
BR2_LINUX_KERNEL=y
18+
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
19+
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,967d45b29ca2902f031b867809d72e3b3d623e7a)/linux-967d45b29ca2902f031b867809d72e3b3d623e7a.tar.gz"
20+
BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
21+
BR2_LINUX_KERNEL_LZ4=y
22+
BR2_LINUX_KERNEL_DTS_SUPPORT=y
23+
BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2711-rpi-4-b"
24+
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
25+
26+
BR2_TARGET_ROOTFS_EXT2=y
27+
BR2_TARGET_ROOTFS_EXT2_4=y
28+
BR2_TARGET_ROOTFS_EXT2_SIZE="512M"
29+
BR2_TARGET_ROOTFS_TAR=y
30+
31+
BR2_TARGET_GENERIC_ROOT_PASSWD="root"
32+
BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4/post-build.sh"
33+
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4/post-image.sh"
34+
BR2_ROOTFS_POST_SCRIPT_ARGS="--rpi-wifi --tvmode-720 --gpu_mem_1024=384 --add-vc4-fkms-v3d-overlay --silent --add-dtparam-audio"
35+
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
36+
37+
BR2_PACKAGE_HOST_DOSFSTOOLS=y
38+
BR2_PACKAGE_HOST_GENIMAGE=y
39+
BR2_PACKAGE_HOST_MTOOLS=y
40+
41+
BR2_PACKAGE_RPI_FIRMWARE=y
42+
BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
43+
BR2_PACKAGE_RPI_WIFI_FIRMWARE=y
44+
45+
BR2_PACKAGE_MESA3D=y
46+
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4=y
47+
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D=y
48+
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO=y
49+
BR2_PACKAGE_MESA3D_OPENGL_ES=y
50+
BR2_PACKAGE_KMSCUBE=y
51+
52+
BR2_PACKAGE_DROPBEAR=y
53+
BR2_PACKAGE_LIBSOUP=y
54+
BR2_PACKAGE_LIBSOUP_SSL=y
55+
BR2_PACKAGE_BITSTREAM_VERA=y
56+
BR2_PACKAGE_CA_CERTIFICATES=y
57+
BR2_PACKAGE_WEBP=y
58+
BR2_PACKAGE_ORC=y
59+
BR2_PACKAGE_SHARED_MIME_INFO=y
60+
BR2_PACKAGE_XKEYBOARD_CONFIG=y
61+
BR2_PACKAGE_RNG_TOOLS=y
62+
63+
BR2_PACKAGE_WPEBACKEND_RDK=y
64+
BR2_PACKAGE_WPEWEBKIT=y
65+
BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA=y
66+
BR2_PACKAGE_WESTEROS=y
67+
68+
BR2_PACKAGE_WPEFRAMEWORK=y
69+
BR2_PACKAGE_WPEFRAMEWORK_CDMI_CLEARKEY=y
70+
BR2_PACKAGE_WPEFRAMEWORK_COMPOSITOR=y
71+
BR2_PACKAGE_WPEFRAMEWORK_DHCPSERVER=y
72+
BR2_PACKAGE_WPEFRAMEWORK_LOCATIONSYNC=y
73+
BR2_PACKAGE_WPEFRAMEWORK_LOCATIONSYNC_URI="http://jsonip.metrological.com/?maf=true"
74+
BR2_PACKAGE_WPEFRAMEWORK_MONITOR=y
75+
BR2_PACKAGE_WPEFRAMEWORK_REMOTECONTROL=y
76+
BR2_PACKAGE_WPEFRAMEWORK_REMOTECONTROL_DEVINPUT=y
77+
BR2_PACKAGE_WPEFRAMEWORK_SNAPSHOT=n
78+
BR2_PACKAGE_WPEFRAMEWORK_PLAYERINFO=n
79+
BR2_PACKAGE_WPEFRAMEWORK_DISPLAYINFO=n
80+
BR2_PACKAGE_WPEFRAMEWORK_TIMESYNC=y
81+
BR2_PACKAGE_WPEFRAMEWORK_TRACECONTROL=y
82+
BR2_PACKAGE_WPEFRAMEWORK_WEBSERVER=y
83+
BR2_PACKAGE_WPEFRAMEWORK_WIFICONTROL=y
84+
85+
BR2_PACKAGE_WPEFRAMEWORK_WEBKITBROWSER=y
86+
BR2_PACKAGE_WPEFRAMEWORK_WEBKITBROWSER_STARTURL="file:///www/index.html"
87+
BR2_PACKAGE_WPEFRAMEWORK_WEBKITBROWSER_MEMORYPRESSURE="databaseprocess:50m,networkprocess:80m,webprocess:250m,rpcprocess:80m"
88+
BR2_PACKAGE_WPEFRAMEWORK_WEBKITBROWSER_DISKCACHE="512m"
89+
BR2_PACKAGE_WPEFRAMEWORK_WEBKITBROWSER_XHRCACHE=y
90+
BR2_PACKAGE_WPEFRAMEWORK_YOUTUBE=y
91+
BR2_PACKAGE_WPEFRAMEWORK_UX=y
92+
BR2_PACKAGE_WPEFRAMEWORK_WEBKITBROWSER_THREADEDPAINTING="2"
93+
94+
BR2_PACKAGE_GSTREAMER1=y
95+
BR2_PACKAGE_GST1_PLUGINS_BASE=y
96+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ADDER=y
97+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP=y
98+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOMIXER=y
99+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE=y
100+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC=y
101+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_COMPOSITOR=y
102+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ENCODING=y
103+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT=y
104+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_GIO=y
105+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OVERLAYCOMPOSITION=y
106+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_RAWPARSE=y
107+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_SUBPARSE=y
108+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TCP=y
109+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC=y
110+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEORATE=y
111+
BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL=y
112+
BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GBM=y
113+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA=y
114+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TREMOR=y
115+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OGG=y
116+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OPUS=y
117+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PANGO=y
118+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_THEORA=y
119+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VORBIS=y
120+
BR2_PACKAGE_GST1_PLUGINS_GOOD=y
121+
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUTODETECT=y
122+
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEINTERLACE=y
123+
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ICYDEMUX=y
124+
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ID3DEMUX=y
125+
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA=y
126+
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MPG123=y
127+
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2=y
128+
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2_PROBE=y
129+
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLAC=y
130+
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC=y
131+
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SPEEX=y
132+
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VPX=y
133+
BR2_PACKAGE_GST1_PLUGINS_BAD=y
134+
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGDEMUX=y
135+
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX=y
136+
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSMUX=y
137+
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SUBENC=y
138+
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y
139+
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOSIGNAL=y
140+
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DASH=y
141+
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FAAD=y
142+
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FDK_AAC=y
143+
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HLS=y
144+
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_KMS=y
145+
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPUS=y
146+
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBP=y
147+
BR2_PACKAGE_GST1_PLUGINS_UGLY=y
148+
BR2_PACKAGE_GST1_VAAPI=y
149+
BR2_PACKAGE_GST1_PLUGINS_BAYER2RGB_NEON=y
150+
151+
BR2_PACKAGE_RDKSPLASHSCREEN=y
152+
BR2_PACKAGE_RDKSPLASHSCREEN_OPERATOR="metrological"

package/rpi-firmware/rpi-firmware.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#
55
################################################################################
66

7-
ifneq ($(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4),y)
7+
ifneq ($(BR2_PACKAGE_LIBDRM),y)
88
RPI_FIRMWARE_VERSION = 01ecfd2ba2b7cf3a2f4aa75ada895ee4a3e729f5
99
else
1010
RPI_FIRMWARE_VERSION = d016a6eb01c8c7326a89cb42809fed2a21525de5

package/westeros-sink/westeros-sink.mk

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@ else ifeq ($(BR2_PACKAGE_HAS_NEXUS),y)
3737
CFLAGS="$(TARGET_CFLAGS) -I${STAGING_DIR}/usr/include/refsw -I${STAGING_DIR}/usr/include/refsw/bseav" \
3838
CXXFLAGS="$(TARGET_CXXFLAGS) -I${STAGING_DIR}/usr/include/refsw -I${STAGING_DIR}/usr/include/refsw/bseav"
3939
WESTEROS_SINK_MAKE_ENV += PKG_CONFIG_SYSROOT_DIR=${STAGING_DIR}
40+
else ifeq ($(BR2_PACKAGE_LIBDRM),y)
41+
WESTEROS_SINK_SUBDIR = v4l2/westeros-sink
42+
WESTEROS_SINK_DEPENDENCIES += gstreamer1
43+
WESTEROS_SINK_CONF_OPTS += --enable-gstreamer1=yes CFLAGS="$(TARGET_CFLAGS) -x c++"
44+
export STAGING_INCDIR=${STAGING_DIR}/usr/include
4045
endif
4146

4247
define WESTEROS_SINK_RUN_AUTOCONF
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
diff -ruN westeros.orig/drm/westeros-gl/westeros-gl.c westeros/drm/westeros-gl/westeros-gl.c
2+
--- westeros.orig/drm/westeros-gl/westeros-gl.c 2021-06-04 21:14:52.000000000 +0530
3+
+++ westeros/drm/westeros-gl/westeros-gl.c 2021-06-16 19:17:32.871680695 +0530
4+
@@ -65,7 +65,7 @@
5+
#define TRACE3(...) INT_TRACE3(__VA_ARGS__, "")
6+
#define FRAME(...) INT_FRAME(__VA_ARGS__, "")
7+
8+
-#define DEFAULT_CARD "/dev/dri/card0"
9+
+// #define DEFAULT_CARD "/dev/dri/card0"
10+
#ifdef WESTEROS_PLATFORM_QEMUX86
11+
#define DEFAULT_MODE_WIDTH (1280)
12+
#define DEFAULT_MODE_HEIGHT (1024)

package/westeros-soc/westeros-soc.mk

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,12 @@ else ifeq ($(BR2_PACKAGE_HAS_NEXUS),y)
3636
WESTEROS_SOC_SUBDIR = brcm
3737
WESTEROS_SOC_DEPENDENCIES += wayland-egl-bnxs bcm-refsw
3838
else ifeq ($(BR2_PACKAGE_LIBDRM),y)
39-
WESTEROS_SOC_CONF_OPTS += CFLAGS="$(TARGET_CFLAGS) -I $(STAGING_DIR)/usr/include/libdrm"
39+
ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4),y)
40+
WESTEROS_DRM_CARD=/dev/dri/card1
41+
else
42+
WESTEROS_DRM_CARD=/dev/dri/card0
43+
endif
44+
WESTEROS_SOC_CONF_OPTS += CFLAGS="$(TARGET_CFLAGS) -DDEFAULT_CARD=\\\"$(WESTEROS_DRM_CARD)\\\" -I $(STAGING_DIR)/usr/include/libdrm"
4045
WESTEROS_SOC_SUBDIR = drm
4146
WESTEROS_SOC_DEPENDENCIES += libdrm
4247
endif

package/westeros/Config.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ config BR2_PACKAGE_WESTEROS
77
select BR2_PACKAGE_WESTEROS_SIMPLEBUFFER
88
select BR2_PACKAGE_WESTEROS_SIMPLESHELL
99
select BR2_PACKAGE_WESTEROS_SOC
10+
select BR2_PACKAGE_WESTEROS_SINK
11+
select BR2_PACKAGE_WESTEROS_ESSOS
1012
help
1113

1214
Westeros is an open source Wayland compositor library that allows

package/westeros/westeros.mk

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,11 @@ WESTEROS_CONF_OPTS = \
1515
--prefix=/usr/ \
1616
--enable-rendergl=yes \
1717
--enable-sbprotocol=yes \
18+
--enable-ldbprotocol=yes \
1819
--enable-xdgv5=yes \
1920
--enable-app=yes \
20-
--enable-test=yes
21+
--enable-test=yes \
22+
--enable-player=yes
2123

2224
ifeq ($(BR2_PACKAGE_WESTEROS_ESSOS), y)
2325
WESTEROS_CONF_OPTS += \
@@ -42,7 +44,8 @@ else ifeq ($(BR2_PACKAGE_HAS_NEXUS),y)
4244
$(BCM_REFSW_MAKE_ENV)
4345
WESTEROS_DEPENDENCIES += wayland-egl-bnxs bcm-refsw
4446
else ifeq ($(BR2_PACKAGE_LIBDRM),y)
45-
WESTEROS_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -DWESTEROS_PLATFORM_DRM -I${STAGING_DIR}/usr/include/interface/vmcs_host/linux"
47+
WESTEROS_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -DWESTEROS_PLATFORM_DRM"
48+
WESTEROS_CONF_ENV += LDFLAGS="-L$(@D)/.libs -lEGL -lGLESv2"
4649
endif # BR2_PACKAGE_WESTEROS_SOC_RPI
4750

4851
ifeq ($(BR2_PACKAGE_HAS_NEXUS),y)
@@ -60,6 +63,8 @@ WESTEROS_PRE_CONFIGURE_HOOKS += WESTEROS_RUN_AUTORECONF
6063
define WESTEROS_BUILD_CMDS
6164
SCANNER_TOOL=${HOST_DIR}/usr/bin/wayland-scanner \
6265
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/protocol
66+
SCANNER_TOOL=${HOST_DIR}/usr/bin/wayland-scanner \
67+
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/linux-dmabuf/protocol
6368
$(WESTEROS_MAKE_OPTS) \
6469
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(WESTEROS_LDFLAGS)
6570
endef

0 commit comments

Comments
 (0)