Skip to content

feat: multimedia variant improvements - #631

Merged
Loïc Minier (lool) merged 5 commits into
mainfrom
wip/obbardc/multimedia-new-pkgs
Sep 18, 2026
Merged

Loïc Minier (lool) merged 5 commits into
mainfrom
wip/obbardc/multimedia-new-pkgs

Conversation

@obbardc

@obbardc Christopher Obbard (obbardc) commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Multimedia variant changes:

  • prefer greetd from backports to allow password change on first login from westonsession
  • install more camx packages in multimedia image & increase multimedia image size
  • only build multimedia image for trixie

@obbardc

Copy link
Copy Markdown
Contributor Author

There are also these packages in QLI; I left them out of this PR as they are not strictly "QTI multimedia" apps, but arguably the audioreach/tinyalsa/tinycompress packages could be...

# audioreach-conf
# - audioreach-conf
# - audioreach-calibration-data

# tinyalsa
# - tinyalsa                                # provides /usr/bin/tinycap, /usr/bin/tinymix, /usr/bin/tinypcminfo, /usr/bin/tinyplay
# - tinycompress                            # provides /usr/bin/cplay, /usr/bin/crecord, /usr/bin/sofprobeclient


# Test suites
# - tinyalsa-tests                          # /usr/libexec/tinyalsa/tinyalsa_test
# - userspace-resource-manager-tests        # provides /usr/bin/UrmComponentTests, /usr/bin/UrmIntegrationTests
# - qmi-framework-utils                     # not sure what this does

# Broken apps - diag
# - qcom-diag                               # broken test app?
# - qcom-diag-router                        # broken service?

# broken sensor apps
# - qcom-sensors-test-apps                  # broken app?
# - sensinghub-session-client               # broken app?

Comment thread debos-recipes/qualcomm-linux-debian-rootfs.yaml Outdated

@lool Loïc Minier (lool) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks like there are some build/install issues, but otherwise happy with the changes

@obbardc
Christopher Obbard (obbardc) force-pushed the wip/obbardc/multimedia-new-pkgs branch 2 times, most recently from 72c0694 to 5532a37 Compare September 16, 2026 15:07
@github-actions

Copy link
Copy Markdown

Test Results

  7 files  ±0   21 suites  ±0   16m 8s ⏱️ ±0s
 21 tests ±0   20 ✅ ±0  0 💤 ±0  1 ❌ ±0 
184 runs  ±0  183 ✅ ±0  0 💤 ±0  1 ❌ ±0 

For more details on these failures, see this check.

Results for commit 5532a37. ± Comparison against base commit 527975a.

@github-actions

Copy link
Copy Markdown

@obbardc Christopher Obbard (obbardc) changed the title feat: prefer greetd from backports & install more CamX packages feat: multimedia variant improvements Sep 17, 2026
The Weston session logs in through greetd/agreety on a virtual
console. greetd 0.10.3-4 in trixie cannot handle accounts with an
expired password, preventing users from changing it on their first
console login.

greetd 0.10.3-7 includes the upstream fix:

  d/p/pam-change-authentication-token.patch: support expired passwords
  Cherry-pick the upstream fix so that an expired password no longer
  causes a login to fail outright: when pam_acct_mgmt() returns
  PAM_NEW_AUTHTOK_REQD, greetd now calls pam_chauthtok() with
  PAM_CHANGE_EXPIRED_AUTHTOK to let the user set a new password.

Pin binary packages built from src to backports so that
greetd >= 0.10.3-7~bpo13+1 is installed.

Signed-off-by: Christopher Obbard <chris.obbard@oss.qualcomm.com>
The CamX firmware is already installed in the multimedia variant, but
nothing exposes the cameras to userspace.

Install qti-camera-server, the CamX service which exposes the cameras,
along with the device-specific runtime libraries it needs to drive them.
Also install CamX and FastCV test applications so the stack can be
exercised.

The device-specific libraries (camx-server-runtime-all) are restricted
to trixie for now; the package depends on camx-glymur and camx-hamoa
which are not yet built for forky.

Link: qualcomm-linux/pkg-camx-glymur#8
Link: qualcomm-linux/pkg-camx-hamoa#20
Signed-off-by: Christopher Obbard <chris.obbard@oss.qualcomm.com>
@obbardc
Christopher Obbard (obbardc) force-pushed the wip/obbardc/multimedia-new-pkgs branch 2 times, most recently from 9d7d434 to dae42fd Compare September 17, 2026 18:51
The accelerated multimedia stack does not fit in the default 6GiB image.
On trixie, CamX runtime packages fill the root filesystem during the
build (e.g. currently around 5.6GiB, which leaves little free space for
overhead).

Build weston-multimedia as an 8GiB image while leaving the default size
unchanged. The root filesystem grows to the storage device on first
boot and unused space is compressed in the published artifacts.

Signed-off-by: Christopher Obbard <chris.obbard@oss.qualcomm.com>
The image recipe unpacks rootfs.tar into the debos scratch directory
before copying the tree into the mounted filesystem image with the
filesystem-deploy action, so the disk-backed scratch space set with
--scratchsize has to hold the whole uncompressed root filesystem.

--scratchsize has been 6GiB since the default imagesize was bumped to
6GiB, which leaves no headroom at all: a root filesystem which fills a
6GiB image cannot be unpacked into a 6GiB scratch area. The
weston-multimedia variant makes this unavoidable: it installs the
accelerated multimedia stack and is built with -t imagesize:8GiB, so
scratch is guaranteed to be too small and the image build fails while
unpacking the root filesystem.

Bump --scratchsize to an arbitrary 12GiB, comfortably above the largest
image we currently build, until scratch is sized from imagesize instead
of being hardcoded.

Signed-off-by: Christopher Obbard <chris.obbard@oss.qualcomm.com>
The accelerated multimedia stack is not yet available for forky because
the device-specific CamX runtime packages are missing.

Building it is a waste of CI resources: a full image build (and the
artifacts that go with it) for an image nobody can use currently.

List the image combinations explicitly instead of taking the product of
the suite and variant matrices. This avoids building unsupported images
and prevents new suites or variants from being enabled unintentionally.

Signed-off-by: Christopher Obbard <chris.obbard@oss.qualcomm.com>

@lool Loïc Minier (lool) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clean, each commit made sense

For multimedia, I think it's ok for now, but we want to add back a forky flavor with less components "soon"

@lool
Loïc Minier (lool) merged commit 4100bb3 into main Sep 18, 2026
22 of 23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants