summaryrefslogtreecommitdiffstats
path: root/dynamic-layers
diff options
context:
space:
mode:
Diffstat (limited to 'dynamic-layers')
-rw-r--r--dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb2
-rw-r--r--dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_2026q1.bb (renamed from dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_2025q4.bb)2
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/bluealsa/bluealsa_%.bbappend1
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-YOCIMX-9095-pipewiresrc-set-rank-to-secondary.patch31
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-launch-allow-pipewire-pulse-can-be-started-by-root.patch41
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-systemd-allow-pipewire-user-services-for-root.patch41
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0003-pipewiresrc-update-per-plane-stride-and-offset-accor.patch51
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire_%.bbappend12
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/0001-wpctl-fix-set-default-Segmentation-fault-on-32bit-pl.patch33
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/51-bluez-imx.conf16
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/80-disable-logind.conf6
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/wireplumber_%.bbappend18
12 files changed, 206 insertions, 48 deletions
diff --git a/dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb b/dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb
index 227d76b2c..2962a1acc 100644
--- a/dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb
+++ b/dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb
@@ -12,6 +12,6 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b66f32a90f9577a5a3255c21d79bc619"
12SRC_URI = "${IMX_OEI_SRC};branch=${SRCBRANCH}" 12SRC_URI = "${IMX_OEI_SRC};branch=${SRCBRANCH}"
13IMX_OEI_SRC ?= "git://github.com/nxp-imx/imx-oei.git;protocol=https" 13IMX_OEI_SRC ?= "git://github.com/nxp-imx/imx-oei.git;protocol=https"
14SRCBRANCH = "master" 14SRCBRANCH = "master"
15SRCREV = "49bfaa93e9d1fe213866bcb9507927a59a9ede5a" 15SRCREV = "fa9e9a29e8c8939cc360beafd01393ca393e439a"
16 16
17require imx-oei.inc 17require imx-oei.inc
diff --git a/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_2025q4.bb b/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_2026q1.bb
index 81233bbff..888b883bc 100644
--- a/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_2025q4.bb
+++ b/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_2026q1.bb
@@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f2a70813bc08547f509361c08b718861"
14SRC_URI = "${IMX_SYSTEM_MANAGER_SRC};branch=${SRCBRANCH}" 14SRC_URI = "${IMX_SYSTEM_MANAGER_SRC};branch=${SRCBRANCH}"
15IMX_SYSTEM_MANAGER_SRC ?= "git://github.com/nxp-imx/imx-sm.git;protocol=https" 15IMX_SYSTEM_MANAGER_SRC ?= "git://github.com/nxp-imx/imx-sm.git;protocol=https"
16SRCBRANCH = "master" 16SRCBRANCH = "master"
17SRCREV = "de30901b287e5c9a1e467d2d9a497b97bb6f7939" 17SRCREV = "c450f53974ea1df826970ad399cb338625b5638d"
18 18
19require imx-system-manager.inc 19require imx-system-manager.inc
20 20
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/bluealsa/bluealsa_%.bbappend b/dynamic-layers/multimedia-layer/recipes-multimedia/bluealsa/bluealsa_%.bbappend
new file mode 100644
index 000000000..212dd3b7a
--- /dev/null
+++ b/dynamic-layers/multimedia-layer/recipes-multimedia/bluealsa/bluealsa_%.bbappend
@@ -0,0 +1 @@
SYSTEMD_AUTO_ENABLE:${PN} = "disable"
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-YOCIMX-9095-pipewiresrc-set-rank-to-secondary.patch b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-YOCIMX-9095-pipewiresrc-set-rank-to-secondary.patch
new file mode 100644
index 000000000..bf41f1b4b
--- /dev/null
+++ b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-YOCIMX-9095-pipewiresrc-set-rank-to-secondary.patch
@@ -0,0 +1,31 @@
1From 46670dce02361a318fc66e503d32a0ceb53ec1ea Mon Sep 17 00:00:00 2001
2From: Haihua Hu <jared.hu@nxp.com>
3Date: Mon, 30 Jun 2025 17:56:50 +0900
4Subject: [PATCH] YOCIMX-9095 pipewiresrc: set rank to secondary
5
6Upstream-Status: Pending
7
8currently, pipewiresrc cannot been used as default
9video or audio src, so no need primary rank.
10
11Signed-off-by: Haihua Hu <jared.hu@nxp.com>
12---
13 src/gst/gstpipewire.c | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/src/gst/gstpipewire.c b/src/gst/gstpipewire.c
17index 5761a099d..15f2ac946 100644
18--- a/src/gst/gstpipewire.c
19+++ b/src/gst/gstpipewire.c
20@@ -26,7 +26,7 @@ plugin_init (GstPlugin *plugin)
21 {
22 pw_init (NULL, NULL);
23
24- gst_element_register (plugin, "pipewiresrc", GST_RANK_PRIMARY + 1,
25+ gst_element_register (plugin, "pipewiresrc", GST_RANK_SECONDARY + 1,
26 GST_TYPE_PIPEWIRE_SRC);
27 gst_element_register (plugin, "pipewiresink", GST_RANK_NONE,
28 GST_TYPE_PIPEWIRE_SINK);
29--
302.34.1
31
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-launch-allow-pipewire-pulse-can-be-started-by-root.patch b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-launch-allow-pipewire-pulse-can-be-started-by-root.patch
deleted file mode 100644
index ab34dc2fa..000000000
--- a/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-launch-allow-pipewire-pulse-can-be-started-by-root.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1From 2cac94185824aa7df07ec48a2872f3d26d517a6d Mon Sep 17 00:00:00 2001
2From: Shengjiu Wang <shengjiu.wang@nxp.com>
3Date: Tue, 28 Nov 2023 10:23:42 +0800
4Subject: [PATCH] launch: allow pipewire-pulse can be started by root.
5
6revert commit 8942f6b40 ("launch: avoid autostarting pipewire-pulse
7systemd units for root")
8
9Upstream-Status: Inappropriate [i.MX specific]
10Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
11---
12 src/daemon/systemd/user/pipewire-pulse.service.in | 1 -
13 src/daemon/systemd/user/pipewire-pulse.socket | 1 -
14 2 files changed, 2 deletions(-)
15
16diff --git a/src/daemon/systemd/user/pipewire-pulse.service.in b/src/daemon/systemd/user/pipewire-pulse.service.in
17index 73d22e532..da7728ee3 100644
18--- a/src/daemon/systemd/user/pipewire-pulse.service.in
19+++ b/src/daemon/systemd/user/pipewire-pulse.service.in
20@@ -14,7 +14,6 @@ Description=PipeWire PulseAudio
21 # After=pipewire-pulse.socket is not needed, as it is already implicit in the
22 # socket-service relationship, see systemd.socket(5).
23 Requires=pipewire-pulse.socket
24-ConditionUser=!root
25 Wants=pipewire.service pipewire-session-manager.service
26 After=pipewire.service pipewire-session-manager.service
27 Conflicts=pulseaudio.service
28diff --git a/src/daemon/systemd/user/pipewire-pulse.socket b/src/daemon/systemd/user/pipewire-pulse.socket
29index 1ae5edafb..d27fb0e26 100644
30--- a/src/daemon/systemd/user/pipewire-pulse.socket
31+++ b/src/daemon/systemd/user/pipewire-pulse.socket
32@@ -1,6 +1,5 @@
33 [Unit]
34 Description=PipeWire PulseAudio
35-ConditionUser=!root
36 Conflicts=pulseaudio.socket
37
38 [Socket]
39--
402.34.1
41
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-systemd-allow-pipewire-user-services-for-root.patch b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-systemd-allow-pipewire-user-services-for-root.patch
new file mode 100644
index 000000000..da159cfb2
--- /dev/null
+++ b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-systemd-allow-pipewire-user-services-for-root.patch
@@ -0,0 +1,41 @@
1From 5e89cf0818c555dff31a1ef9e02828c2541b7e1f Mon Sep 17 00:00:00 2001
2From: Shengjiu Wang <shengjiu.wang@nxp.com>
3Date: Mon, 31 Mar 2025 14:44:23 +0800
4Subject: [PATCH] systemd: allow pipewire user services for root
5
6Revert commit 9bc29b4b3 ("systemd: Disable pipewire user services for root")
7
8BT ofono service needs root permission for starting service.
9
10wireplumber[789]: 5:185m5:185mspa.bluez5: Failed to start HFP/HSP backend ofono
11
12Upstream-Status: Inappropriate [i.MX specific]
13Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
14---
15 src/daemon/systemd/user/pipewire.service.in | 1 -
16 src/daemon/systemd/user/pipewire.socket | 1 -
17 2 files changed, 2 deletions(-)
18
19Index: pipewire-1.4.8/src/daemon/systemd/user/pipewire.service.in
20===================================================================
21--- pipewire-1.4.8.orig/src/daemon/systemd/user/pipewire.service.in
22+++ pipewire-1.4.8/src/daemon/systemd/user/pipewire.service.in
23@@ -14,7 +14,6 @@ Description=PipeWire Multimedia Service
24 # After=pipewire.socket is not needed, as it is already implicit in the
25 # socket-service relationship, see systemd.socket(5).
26 Requires=pipewire.socket @PW_SERVICE_REQS@
27-ConditionUser=!root
28
29 [Service]
30 LockPersonality=yes
31Index: pipewire-1.4.8/src/daemon/systemd/user/pipewire.socket
32===================================================================
33--- pipewire-1.4.8.orig/src/daemon/systemd/user/pipewire.socket
34+++ pipewire-1.4.8/src/daemon/systemd/user/pipewire.socket
35@@ -1,6 +1,5 @@
36 [Unit]
37 Description=PipeWire Multimedia System Sockets
38-ConditionUser=!root
39
40 [Socket]
41 Priority=6
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0003-pipewiresrc-update-per-plane-stride-and-offset-accor.patch b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0003-pipewiresrc-update-per-plane-stride-and-offset-accor.patch
new file mode 100644
index 000000000..ce4d14371
--- /dev/null
+++ b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0003-pipewiresrc-update-per-plane-stride-and-offset-accor.patch
@@ -0,0 +1,51 @@
1From f01c4d27819fc2897b10f7e2bc0f30bd183c45b8 Mon Sep 17 00:00:00 2001
2From: Elliot Chen <elliot.chen@nxp.com>
3Date: Sat, 28 Feb 2026 14:47:22 +0900
4Subject: [PATCH] pipewiresrc: update per-plane stride and offset according to
5 chunk info
6
7Upstream-Status: Pending
8
9---
10 meson.build | 2 +-
11 src/gst/gstpipewiresrc.c | 11 +++++++++++
12 2 files changed, 12 insertions(+), 1 deletion(-)
13
14diff --git a/meson.build b/meson.build
15index bca2c7a27..e290217e9 100644
16--- a/meson.build
17+++ b/meson.build
18@@ -412,7 +412,7 @@ gst_deps_def = {
19 'gio-unix-2.0': {},
20 'gstreamer-1.0': {'version': '>= 1.10.0'},
21 'gstreamer-base-1.0': {},
22- 'gstreamer-video-1.0': {},
23+ 'gstreamer-video-1.0': {'version': '>= 1.22.0'},
24 'gstreamer-audio-1.0': {},
25 'gstreamer-allocators-1.0': {},
26 }
27diff --git a/src/gst/gstpipewiresrc.c b/src/gst/gstpipewiresrc.c
28index b0de17dfd..044c0d583 100644
29--- a/src/gst/gstpipewiresrc.c
30+++ b/src/gst/gstpipewiresrc.c
31@@ -838,6 +838,17 @@ static GstBuffer *dequeue_buffer(GstPipeWireSrc *pwsrc)
32
33 video_size += d->chunk->size;
34 }
35+
36+ /* If the buffer number is smaller than the plane number,
37+ * update the stride and offset for the remain planes.
38+ */
39+ if (n_datas && n_datas < n_planes) {
40+ for (i = n_datas; i < n_planes; i++) {
41+ meta->stride[i] = gst_video_format_info_extrapolate_stride (info->finfo, i, b->buffer->datas[0].chunk->stride);
42+ meta->offset[i] = meta->offset[i-1] +
43+ meta->stride[i-1] * GST_VIDEO_FORMAT_INFO_SCALE_HEIGHT (info->finfo, i-1, GST_VIDEO_INFO_HEIGHT(info));
44+ }
45+ }
46 }
47
48 if (b->buffer->n_datas != gst_buffer_n_memory(data->buf)) {
49--
502.34.1
51
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire_%.bbappend b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire_%.bbappend
index 865b29349..2c28aca5f 100644
--- a/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire_%.bbappend
+++ b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire_%.bbappend
@@ -1,8 +1,12 @@
1FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 1FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
2 2
3SRC_URI:append:imx-nxp-bsp = " file://0001-launch-allow-pipewire-pulse-can-be-started-by-root.patch" 3SRC_URI:append:imx-nxp-bsp = " \
4 4 file://0001-systemd-allow-pipewire-user-services-for-root.patch \
5SYSTEMD_AUTO_ENABLE:imx-nxp-bsp = "disable" 5 file://0001-YOCIMX-9095-pipewiresrc-set-rank-to-secondary.patch \
6"
7SRC_URI:append:mx95-nxp-bsp = " \
8 file://0003-pipewiresrc-update-per-plane-stride-and-offset-accor.patch \
9"
6 10
7DEPENDS:append:mx95-nxp-bsp = " libdrm" 11DEPENDS:append:mx95-nxp-bsp = " libdrm"
8 12
@@ -10,8 +14,6 @@ PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}"
10PACKAGECONFIG_REMOVE ?= "" 14PACKAGECONFIG_REMOVE ?= ""
11PACKAGECONFIG_REMOVE:mx6-nxp-bsp ?= "gstreamer" 15PACKAGECONFIG_REMOVE:mx6-nxp-bsp ?= "gstreamer"
12PACKAGECONFIG_REMOVE:mx7-nxp-bsp ?= "gstreamer" 16PACKAGECONFIG_REMOVE:mx7-nxp-bsp ?= "gstreamer"
13PACKAGECONFIG_REMOVE:mx8-nxp-bsp ?= "gstreamer"
14PACKAGECONFIG_REMOVE:mx93-nxp-bsp ?= "gstreamer"
15 17
16PACKAGECONFIG:class-target:append:imx-nxp-bsp = " ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez-lc3', '', d)}" 18PACKAGECONFIG:class-target:append:imx-nxp-bsp = " ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez-lc3', '', d)}"
17 19
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/0001-wpctl-fix-set-default-Segmentation-fault-on-32bit-pl.patch b/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/0001-wpctl-fix-set-default-Segmentation-fault-on-32bit-pl.patch
new file mode 100644
index 000000000..52db25494
--- /dev/null
+++ b/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/0001-wpctl-fix-set-default-Segmentation-fault-on-32bit-pl.patch
@@ -0,0 +1,33 @@
1From 9cebf00856ef24b9a4d6306775013b10da821172 Mon Sep 17 00:00:00 2001
2From: Shengjiu Wang <shengjiu.wang@nxp.com>
3Date: Thu, 9 Nov 2023 15:15:04 +0800
4Subject: [PATCH] wpctl: fix set-default Segmentation fault on 32bit platform
5
6Upstream-Status: Inappropriate [i.MX specific]
7Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
8---
9 src/tools/wpctl.c | 10 +++++++++-
10 1 file changed, 9 insertions(+), 1 deletion(-)
11
12Index: wireplumber-0.5.11/src/tools/wpctl.c
13===================================================================
14--- wireplumber-0.5.11.orig/src/tools/wpctl.c
15+++ wireplumber-0.5.11/src/tools/wpctl.c
16@@ -832,9 +832,16 @@ set_default_parse_positional (gint argc,
17 static gboolean
18 set_default_prepare (WpCtl * self, GError ** error)
19 {
20+ g_autoptr (WpPlugin) def_nodes_api = wp_plugin_find (self->core, "default-nodes-api");
21+ guint32 id;
22+
23+ if (!translate_id (def_nodes_api, cmdline.set_default.id, &id, error)) {
24+ fprintf(stderr, "Translate ID error.\n");
25+ return FALSE;
26+ }
27 wp_object_manager_add_interest (self->om, WP_TYPE_NODE,
28 WP_CONSTRAINT_TYPE_PW_GLOBAL_PROPERTY,
29- "object.id", "=u", (guint32) cmdline.set_default.id,
30+ "object.id", "=u", id,
31 NULL);
32 wp_object_manager_request_object_features (self->om, WP_TYPE_NODE,
33 WP_PIPEWIRE_OBJECT_FEATURES_MINIMAL);
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/51-bluez-imx.conf b/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/51-bluez-imx.conf
new file mode 100644
index 000000000..cab02a96d
--- /dev/null
+++ b/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/51-bluez-imx.conf
@@ -0,0 +1,16 @@
1monitor.bluez.properties = {
2 ## These features do not work on all headsets, so they are enabled
3 ## by default based on the hardware database. They can also be
4 ## forced on/off for all devices by the following options:
5 bluez5.enable-msbc = true
6
7 ## HFP/HSP backend (default: native).
8 ## Available values: any, none, hsphfpd, ofono, native
9 bluez5.hfphsp-backend = "ofono"
10
11 ## HFP/HSP hardware offload SCO support (default: false).
12 ## Using this feature requires a custom WirePlumber script that
13 ## handles audio routing in a platform-specific way. See
14 ## tests/examples/bt-pinephone.lua for an example.
15 bluez5.hw-offload-sco = true
16}
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/80-disable-logind.conf b/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/80-disable-logind.conf
new file mode 100644
index 000000000..4255174ad
--- /dev/null
+++ b/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/80-disable-logind.conf
@@ -0,0 +1,6 @@
1# Disabling seat monitoring via logind in the BlueZ monitor
2wireplumber.profiles = {
3 main = {
4 monitor.bluez.seat-monitoring = disabled
5 }
6}
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/wireplumber_%.bbappend b/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/wireplumber_%.bbappend
new file mode 100644
index 000000000..e79e98cfe
--- /dev/null
+++ b/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/wireplumber_%.bbappend
@@ -0,0 +1,18 @@
1FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
2
3SRC_URI:append:imx-nxp-bsp = " file://51-bluez-imx.conf \
4 file://80-disable-logind.conf \
5 file://0001-wpctl-fix-set-default-Segmentation-fault-on-32bit-pl.patch \
6 "
7
8do_install:append:imx-nxp-bsp () {
9
10 install -d ${D}${datadir}
11
12 # Install nxp configure file to /usr/share/wireplumber/wireplumber.conf.d
13 install -d ${D}${datadir}/wireplumber/wireplumber.conf.d
14 install -m 0644 ${UNPACKDIR}/51-bluez-imx.conf ${D}${datadir}/wireplumber/wireplumber.conf.d
15 install -m 0644 ${UNPACKDIR}/80-disable-logind.conf ${D}${datadir}/wireplumber/wireplumber.conf.d
16}
17
18FILES:${PN}:append = " ${datadir}/wireplumber/wireplumber.conf.d"