Repository navigation
Add Lenovo Yoga Slim 7x board support - #8673
Conversation
|
Validation correction: microphone input works, but internal-speaker playback is currently silent. This draft therefore proves the DSP startup and input path, not complete audio support. |
There was a problem hiding this comment.
Pull request overview
Adds generic Snapdragon X enablement and Lenovo Yoga Slim 7x board-specific hardware support.
Changes:
- Configures aarch64 packages, firmware, DTBs, Vulkan, and kernel parameters.
- Enables Yoga keyboard, CPU-frequency, ADSP, and CDSP support.
- Adds focused Snapdragon and Yoga shell tests.
Tip
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.
Reviewed changes
Copilot reviewed 15 out of 16 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
bin/omarchy-hw-qualcomm-soc |
Detects Qualcomm device-tree platforms. |
default/pacman/mirrorlist-aarch64 |
Adds the Arch Linux ARM mirror. |
default/pacman/pacman-aarch64.conf |
Configures aarch64 repositories. |
etc/mkinitcpio.conf.d/thunderbolt_module.conf |
Gates Thunderbolt to x86_64. |
install/hardware/all.sh |
Runs Qualcomm and Yoga setup leaves. |
install/hardware/lenovo/start-yoga-slim7x-remoteprocs.sh |
Starts Yoga DSP remote processors. |
install/hardware/lenovo/yoga-slim7x.sh |
Applies Yoga board-specific configuration. |
install/hardware/qualcomm/dtb-uki.sh |
Embeds Qualcomm DTBs in UKIs. |
install/hardware/qualcomm/firmware.sh |
Installs firmware and protects USB roots. |
install/hardware/qualcomm/kernel-params.sh |
Adds Snapdragon kernel parameters. |
install/hardware/vulkan.sh |
Installs Freedreno on Qualcomm systems. |
install/omarchy-other.packages |
Includes the firmware extractor. |
install/post-install/pacman.sh |
Restores appropriate architecture repositories. |
install/user/mise-work.sh |
Selects the architecture-specific Node archive. |
test/shell.d/snapdragon-hardware-test.sh |
Tests firmware safeguards and DTB configuration. |
test/shell.d/yoga-slim7x-hardware-test.sh |
Tests Yoga configuration and DSP selection. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
Follow-up validation on the physical Yoga: after rebooting into the rebuilt ALARM kernel with |
|
Physical early-display validation is now complete on the Yoga Slim 7x. Before the fix, PMIC GLINK reported
The normal UKI was rebuilt with the same configuration, then checked for all required modules, firmware, 32 DTBs, encrypted-root command line and an exact Limine BLAKE2b hash match. The working experimental entry remains available as a fallback. The same update also removes |
|
Final reboot confirmation: the regenerated normal The follow-up boot audit shows Two cosmetic messages remain immediately above the password prompt: They come from the upstream mkinitcpio |
27c5cd5 to
4ed59ee
Compare
5d95ea5 to
91a5a70
Compare
Summary
console=tty0) for graphical Plymouth disk unlock and working keymap/consolefont hooks.scmi-cpufreqand starts ADSP/CDSP by firmware identity, respecting the generic DSP-disable guard.Dependencies
6daf6db, including Jim Martin's repository-preservation fix, merged in4279ca2on September 11. The generic runtime should land first; relative to Add generic Snapdragon X support on aarch64 #8672, this branch contains only the four Yoga-specific setup/test files. Recheck that relationship if the prerequisite changes before merging.The systemd shutdown fix and camera stack described below are separate follow-ups, not merge prerequisites.
Validation
Physical Yoga Slim 7x 14Q8X9 (83ED) validation confirms Limine boot without the UKI hash warning, graphical Omarchy disk-encryption unlock with the built-in keyboard, polished shutdown/reboot without terminal messages, the graphical desktop, native display, GPU acceleration, Wi-Fi, Bluetooth mouse, internal speakers and microphone. The shutdown/reboot result also used a separate systemd v261.2 backport of the change proposed in systemd/systemd#43671. That fix remains under review and is not included in this PR. The speaker-reset kernel fix, archlinuxarm/PKGBUILDs#2217, has merged.
The OV02C10 camera also has a visually confirmed fast, upright preview with natural-looking colors and strong noise reduction on the separate experimental kernel
7.2.0-1.1-aarch64-ARCH-camera1. Camera enablement is a follow-up, not part of this PR; the hardware report covers the subsequent Chromium live-video test and remaining integration work. The separate libcamera cleanup-hang fix prevents a hang after capture-start failure and carries Kieran Bingham'sReviewed-by. It remains unmerged and does not fix the underlying sensor timeout or image quality.Barnabás Pőcze's PipeWire libcamera compatibility fixes (!2981) are merged and backported to the 1.6 branch. As checked on September 11, 1.6.9 is not tagged. A release and Arch Linux ARM packaging containing the fixes are still needed for normal distribution; the source merge alone does not provide stock camera support.
The later September 7 isolated Chromium tests passed 11 complete 12-second 720p captures at 29.8-30.0 fps across initial starts, page refresh, browser/services restart and one whole-machine suspend/wake. They used source-built libcamera and the unmodified PipeWire 1.6 branch on the existing experimental camera kernel, without the GStreamer diagnostic patch. The owner reported upright, responsive video with acceptable but slightly pale colors. These results establish that isolated browser path, not measured end-to-end latency or a normally packaged replacement. Candidate startup timing, calibration, the shared 1080p CMA allocation problem and the separate GStreamer timestamp issue remain open; normal package/update/reboot integration and the newer kernel still need validation.
The updated Bash 5 tests pass for matching/nonmatching boards, DMI-only detection, already-running DSPs, missing ADSP, failed starts, independent zstd/xz selection, firmware precedence and console selection without replacing existing boot parameters. A cross-repository fixture verifies that shared extraction and Yoga setup include each GPU firmware file once.
The September 11 synchronization passed five focused Bash 5 suites in an isolated ARM64 Linux container for install repositories, repository refresh, the pacman upgrade guard, generic Snapdragon setup and Yoga setup. The full CLI suite, Bash syntax checks, whitespace checks and ShellCheck 0.11.0 for the four incoming repository-refresh files also passed. The Yoga-specific code was unchanged. The merged branch combined cleanly with
quattroat5b91db5. No installed-system package upgrade or Yoga reboot was performed for this synchronization.The console change was boot-tested on the Yoga with kernel
7.2.0-1.1-aarch64-ARCH, changing only the command line of the working boot image. Active consoles changed fromtty0 ttyMSM0totty0. The owner confirmed graphical Omarchy disk unlock and successful desktop startup, withoutkbd_mode: KDSKBMODE: Inappropriate ioctl for device,Couldn't open /dev/console, or scrolling service status.The current firmware-consolidation and failure-path changes were tested in an ARM64 container; they have not been deployed to the Yoga for another boot test. HP/ASUS validation of the console and early-display changes is still pending.