Commit Graph
1853 Commits
Author SHA1 Message Date
Ryan Hughes 88c82f3f24 Merge pull request #782 from omacom/auto/track-branches
Track upstream branches: omarchy-dev 4.0.0.r6720.g8e02fc8, omarchy-settings-dev 4.0.0.r6720.g8e02fc8
2026-10-03 17:46:46 -04:00
ryanrhughes 56e0434e64 Track upstream branches: omarchy-dev 4.0.0.r6720.g8e02fc8, omarchy-settings-dev 4.0.0.r6720.g8e02fc8 2026-10-03 21:39:34 +00:00
Joshua Warren 48018d1fa5 omarchy-ane-dkms: back to 0.4.2
0.4.3 turns T6000 and T6020 on by default. Each flip rests on one community
row from a kernel with the in-tree ANE driver, not from this package, so
this first edge package keeps them opt-in and stays at 0.4.2. The check()
change for kernels with the in-tree driver stays.

pkgver and sha256sums are those of 7980d7b.
2026-10-03 15:02:52 -05:00
Joshua Warren 3e2be18590 omarchy-ane-dkms: 0.4.3
The source is the published v0.4.3 release of joshuaswarren/omarchy-ane
(commit 0477f72). sha256sums is the checksum of the GitHub archive
archive/refs/tags/v0.4.3.tar.gz.

No other recipe line changes: the DKMS build files and the 58 packaged paths
are those of 0.4.2. In 0.4.3 the T6000 and T6020 overlays are enabled, and
the firmware hook also fetches on T6020.
2026-10-03 14:55:45 -05:00
Joshua Warren 274d4f6e0f Install openblas for check() in a fresh build container
makepkg's upfront dependency install covers only pkgbase-level arrays, so the
per-package openblas depends never reach a fresh container and check()'s
mlx.core import failed with a missing libopenblas.so.0. Declare it as a
checkdepends instead; real installs still get it through depends.
2026-10-03 13:58:27 -05:00
Joshua Warren 5ef9ebdcac omarchy-ane-dkms: check() passes on kernels with the in-tree ANE driver
dkms.conf sets BUILD_EXCLUSIVE_CONFIG="!CONFIG_DRM_ACCEL_ANE", so on a kernel
that ships the in-tree driver "dkms build" exits 77 and builds nothing.
check() treated that as a failure, and makepkg stopped in check().

check() now takes exit 77 as "no DKMS build" when the kernel's config sets
CONFIG_DRM_ACCEL_ANE, and prints it. After a build it lists ane.ko and
ane_t6021.ko from the DKMS tree. Every other dkms exit status still fails
check().
2026-10-03 13:52:22 -05:00
Joshua Warren fdb491076c Repin omarchy-mlx to v0.7.22
v0.7.22 (tag 58724762e) supersedes the burned 0.7.15/16/18/20; 0.7.21 stays
the previous release. Mesa pin unchanged. Checksums verified against two
independent downloads per source.
2026-10-03 12:11:19 -05:00
Joshua Warren 7980d7b199 omarchy-ane-dkms: 0.4.2
The source is the published v0.4.2 release of joshuaswarren/omarchy-ane
(commit 545d059). sha256sums is the checksum of the GitHub archive
archive/refs/tags/v0.4.2.tar.gz.

No other recipe line changes: the DKMS build files, the packaged files and
the check() tests are those of 0.4.1. dkms.conf now sets
BUILD_EXCLUSIVE_CONFIG="!CONFIG_DRM_ACCEL_ANE", so DKMS skips a kernel that
ships its own ANE driver and builds on every other kernel.
2026-10-03 05:26:23 -05:00
Ryan Hughes 31b8fdb3ad Merge pull request #777 from omacom/auto/track-branches
Track upstream branches: omarchy-dev 4.0.0.r6713.ga85e29a, omarchy-settings-dev 4.0.0.r6713.ga85e29a
2026-10-03 01:43:35 -04:00
ryanrhughes 1436a0a210 Track upstream branches: omarchy-dev 4.0.0.r6713.ga85e29a, omarchy-settings-dev 4.0.0.r6713.ga85e29a 2026-10-03 05:37:06 +00:00
97925fbc84 Apply the IPU7 camera's ISP tuning, fix its gain, range and exposure, harden PSYS pinning, and support Lunar Lake (#723)
* Apply the Intel IPU7 camera's ISP tuning and fix its gain, range and exposure

The XPS 14 / 16 webcam looked soft and grainy because almost none of the
image pipeline was tuned:

- 0011: the graph asks for ISP tuning mode 4, which the OV08X40 tuning
  does not carry, so the generic AIC found no tunings and noise
  reduction, TNR and sharpening ran on library defaults. Fall back to
  the tuning's default ISP container.
- 0010: AIQ emits the raw analog gain register code, which the in-tree
  ov08x40 driver halves, so the sensor ran at twice the gain AE and the
  ISP noise model assumed.
- 0008: the HAL ignored the requested YUV range and always produced
  full-range frames that consumers decode as limited range.
- 0009 + relay config: icamerasrc pinned auto exposure to 1/30 s; a new
  fps-range property lets AE lengthen frames in dim light, with gain
  capped at 27 dB.

* Guard fps-range against NULL and correct two descriptions

Setting icamerasrc's new fps-range property to NULL, its own default, handed NULL to gst_camerasrc_parse_range, which crashed in strlen(). NULL now leaves the last range in effect, because the HAL has no way to drop a range once set. The value the relay sets goes through unchanged.

The relay comment said AE raises gain past 27 dB once frames reach 15 fps, but gain-range becomes a hard ISO ceiling (manual_iso_max), so gain never goes past it. The 0008 message credited the sensor JSON's yuvColorRangeMode, which only the mock HAL reads.

Co-Authored-By: Codex XHigh <noreply@openai.com>

* Free fps-range when icamerasrc is destroyed

finalize never freed the string the fps-range setter allocates, so every icamerasrc element that had the property set leaked it. The other string properties leak the same way upstream and are left to an upstream fix for all of them.

Co-Authored-By: Codex XHigh <noreply@openai.com>

* Harden IPU7 PSYS userptr pinning

(cherry picked from commit 5f1d0013b0e37d9229dfb906806dee0e98199035)

* Avoid unverified IPU7 permission assurances

(cherry picked from commit 9ce97d9788f2be508743fe785f8434ccfec7842e)

* Check IPU7 against Omarchy headers without a runtime dependency

Use linux-omarchy-headers only for check(), avoiding Arch headers on installed Omarchy systems and matching the supported kernel build configuration.

Signed-off-by: Afonso Oliveira <afonso.oliveira707@gmail.com>
(cherry picked from commit d0d382c07ea99eca5bb5c52240841db779d24b14)

* Test IPU7 build-only headers and kernel-tree selection

Signed-off-by: Afonso Oliveira <afonso.oliveira707@gmail.com>
(cherry picked from commit eb37cc828fac201a360c35aa1e87a1daf2d5fed1)

* Restrict the IPU7 PSYS node to root

Intel's PSYS driver has two buffer-lifecycle bugs that this package does not fix: a GETBUF that is never mapped leaves the buffer owned by both the PSYS handle and the exported dma-buf, so closing the two is a use-after-free and a double free, and UNMAPBUF drops its mapping reference before clearing the attachment, racing a concurrent dma-buf release. Any account that can open /dev/ipu7-psys0 can reach both.

Nothing but v4l2-relayd@ipu7, which runs as root, opens the node; applications use the v4l2loopback device. With the node at 0600 root:root the camera streams the same, so the video group and the seat user lose nothing and the bugs need root. GROUP and MODE are explicit so the upgrade's change event also tightens nodes on running machines.

Co-Authored-By: Codex XHigh <noreply@openai.com>

* Drop the DKMS Intel CVS driver now that linux-omarchy ships it

linux-omarchy and linux-omarchy-bore build drivers/media/i2c/cvs in-tree (CONFIG_VIDEO_INTEL_CVS=m) and carry the same wake-IRQ fix as our 0007 (0542), plus the Nova Lake ACPI ID (0541) that our copy lacks. The DKMS module has the same name and installs under updates/, so on every 7.2+ kernel it displaced the kernel's signed module with an unsigned, older copy: on Nova Lake that copy cannot bind the CVS device and the camera fails, and any later fix in the kernel's driver would be masked. Krzysztof Wilczyński reported the conflict on #723.

Skipping the build only on kernels that carry the driver (BUILD_EXCLUSIVE_CONFIG) would have kept it for stock Arch kernels, but the pacman dkms hook reports every such skip as "exited 77", so every Omarchy kernel update would print a warning. A stock Arch kernel left installed as the fallback boot entry now has no camera.

On upgrade the dkms hook removes intel-cvs and restores the kernel's original module. vision-drivers still covers kernels before 7.2.

* intel-ipu7-camera: build the Lunar Lake HAL plugin and stop rotating its frames

Two Panther Lake assumptions in this package break Lunar Lake boards, where it
is installed by the same hardware detection.

Build both HAL platforms. libcamhal picks its plugin by platform, and a Lunar
Lake machine asks for one that was never built:

  CamHAL[ERR] HalAdaptor: load_camera_hal_library, failed to open library:
    /usr/lib/libcamhal/plugins/ipu7x.so: No such file or directory
  CamHAL[WAR] CameraParserInvoker: parseSensors: No sensors available

so the camera cannot work at all. The proprietary side of it is already
shipped -- libia_aic-ipu7x.so and the rest of that set come from
ipu7-camera-bins today; only the plugin the HAL loads was missing. Upstream
builds both platforms from one configure run and `make install` lays down
/etc/camera/ipu7x/ alongside ipu75xa, including the tuning this hardware
wants (OV08X40_BBG802N3_LNL.aiqb, gcss/OV08X40_BBG802N3_LNL.IPU7X.bin), so the
change is the IPU_VERSIONS list plus 0008, the ipu7x twin of 0006: the
"Intel CVS" pad formats that 1.0.6 added to the ipu75xa sensor config are
needed in the ipu7x one for the same reason, or link validation fails at
stream-on behind the Linux 7.2 bridge entity.

Pick the relay pipeline per board. v4l2-relayd-ipu7.conf rotates every frame
180 degrees, which is right where the sensor is mounted inverted and wrong
here: the sensor reports camera_sensor_rotation = 0 and camera_orientation =
Front, and the picture arrives upside down in every application. camera-init
now writes VIDEOSRC to /run based on the bridge ACPI id and the relay drop-in
reads it. Only INTC10DE takes the new path; INTC10E1, INTC10CF, INTC10E0 and
anything unrecognised keep the packaged pipeline byte for byte, and a boot
where camera-init did not run falls back to it as well.

Verified on a Dell Pro 14 Premium PA14250 (Lunar Lake, INTC10DE, OV08X40 +
HM1092) against intel-ipu7-camera 1.0.6-2 on linux-omarchy 7.2.5-3: with the
package's own intel-cvs DKMS the sensor joins the graph behind "Intel CVS",
the ipu7x plugin built from the pinned commit with 0005 and 0008 resolves
ov08x40-uf on CSI port 0, v4l2-relayd streams 30 fps to /dev/video50 and the
image is upright in a browser.

Note for reviewers: necessary but not sufficient on Lunar Lake. Three more
things this board needs are not in this PR: the sensor probe races the
bridge's runtime suspend (camera-init's `sleep 2` lands while the I2C bus is
still owned by the bridge firmware and ov08x40 reads its chip id as -110),
the in-tree cvs driver's quirk for the Synaptics SVP7500 (06cb:0701) hands
the privacy LED to the host so it never lights, and ipu-bridge before 7.3
does not know the HM1092 IR sensor. Details in #366.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 9be51b47104da9d115a7d79e04bc2ae5445809fc)

* Derive the Lunar Lake relay pipeline from the packaged one

camera-videosrc-init wrote VIDEOSRC for every board, with a copy of the pipeline the relay config carried when it was written, and its file is read after /etc/v4l2-relayd.d/ipu7.conf. On Panther Lake that replaced this branch's fps-range, gain-range and color-range settings with the old sharpness=80 ev=-1 saturation=10 pipeline. It now writes nothing unless the board is Lunar Lake, and there it takes the packaged pipeline and drops only the rotation, so a later change to the relay config reaches both platforms. It also removes a file left by an earlier run, which camera-init's restart on resume would otherwise keep.

The ipu7x CVS format patch becomes 0012: 0008 is already the YUV range patch.

* Regenerate the Lunar Lake pipeline on every relay start

camera-videosrc-init ran from camera-init.service and sourced /etc/v4l2-relayd.d/ipu7.conf as bash. A config that is valid for systemd but not for bash, such as an unquoted VIDEOSRC, made it fail and Lunar Lake fell back to the rotated pipeline; and because camera-init stays active, editing the config and restarting only the relay kept the override cached since boot.

It now runs as the relay's ExecStartPre, where systemd hands it VIDEOSRC already parsed from the relay's own environment files, and writes the override quoted for systemd's parser. ExecStart re-reads the drop-in's EnvironmentFile and ExecStopPost removes it, so each start sees the current config.

Co-Authored-By: Codex XHigh <noreply@openai.com>

* Scale the Lunar Lake ov08x40's analog gain codes too

The Lunar Lake tuning (OV08X40_BBG802N3_LNL.aiqb) carries the same CMC gain table as the Panther Lake one, 1x = code 256, and both platforms use the same in-tree ov08x40 driver, which takes 1x = 128. Without the shift a 4x request ran the Lunar Lake sensor at 8x, the mismatch 0010 fixes on Panther Lake. 0010 now sets analogGainCodeShift in the ipu7x sensor config as well.

Co-Authored-By: Codex XHigh <noreply@openai.com>

* Remove the Lunar Lake override before the generator runs

systemd passes ExecStartPre the unit's environment files as they stand when
that command starts, so the generator saw a /run override left behind by a
crash or SIGKILL (anything that skipped ExecStopPost) and took its VIDEOSRC
for the configured one: an edited /etc/v4l2-relayd.d/ipu7.conf would lose to
the stale file. Removing the file in its own ExecStartPre first means the
generator's environment is re-read without it.

Co-Authored-By: Codex XHigh <noreply@openai.com>

* Author the HAL and icamerasrc patches from the Omarchy address

---------

Signed-off-by: Afonso Oliveira <afonso.oliveira707@gmail.com>
Co-authored-by: Codex XHigh <noreply@openai.com>
Co-authored-by: Afonso Oliveira <afonso.oliveira707@gmail.com>
Co-authored-by: Kolbas <pkolbas@pm.me>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-02 21:27:53 -05:00
Spencer Bull f6b9267b3b Ship OpenClaw as the seed for a self-updating copy under ~/.openclaw (#651)
A copy under /usr/lib/node_modules belongs to pacman, and upstream's updater refuses to write there, so neither `openclaw update` nor the Control UI's Update Gateway worked. The package now carries the release instead: the sha256-pinned npm tarball and the install-cli.sh that came in it, from which Omarchy seeds a copy under ~/.openclaw that updates itself.
2026-10-02 21:21:37 -05:00
Marcelo Alcantara 282bc1c43e Merge pull request #747 from joshuaswarren/add-mil-hwx-compiler
Add mil-hwx-compiler, the Apple Neural Engine compiler
2026-10-03 09:31:49 +10:00
Marcelo Alcantara 4466021b04 Merge pull request #773 from maralcbr/settings-runtime-detector
Build settings for #13362's HOOKS baseline without a detector copy
2026-10-03 09:21:24 +10:00
Marcelo Alcantara 8e1284fff6 omarchy-settings: bump pkgrel for the hooks baseline check
The build planner only builds a recipe whose version changed, so the aarch64 builds had nothing to check. The packages' contents are unchanged.
2026-10-03 09:09:56 +10:00
Marcelo Alcantara 6711b64f8f Build settings for #13362's HOOKS baseline without a detector copy
omacom/omarchy#13362 (d0b94d98c) dropped the omarchy-hw-platform copy
omarchy-settings shipped beside its platform guard. Its 00-omarchy-hooks.conf
now asks the runtime's own detector on PATH, and keeps the busybox line where
there is none. The aarch64 settings recipes still refused any source whose
baseline names omarchy-hw-platform without that copy, so every aarch64 build
of quattro would fail once #13362 merges.

Both recipes drop that check. The copy is still installed when a source ships
the guard, as before. The test fixture follows #13362's current baseline, and
the split-layout test checks the package builds from it and ships no copy.
2026-10-03 09:04:44 +10:00
Joshua Warren 80d5711617 omarchy-ane-dkms: 0.4.1
The source is the published v0.4.1 release of joshuaswarren/omarchy-ane
(commit 4f01bb3). sha256sums is the checksum of the GitHub archive
archive/refs/tags/v0.4.1.tar.gz.

- prepare(): both modules now compile ane/ane_stats_show.c and include
  ane/include/, so the DKMS tree copies them. Without them the DKMS build
  fails on the missing ane_stats.h.
- package(): install tools/omarchy-ane-probe and the H13 add program that
  omarchy-ane-smoke runs on the M1 family. packaging/build-dtbo also installs
  the twelve data/ane-soc tables to /usr/share/omarchy-ane/soc and installs
  none of the data-only overlays.
- check(): add test_ane_probe, test_validate_ane_soc and
  test_promotion_check. test_promote_chip and test_promote_from_verdict need
  a git checkout and stay out.
2026-10-02 17:04:31 -05:00
Joshua Warren 82ee4875ee Repin omarchy-mlx to v0.7.19
v0.7.19 (tag 539d870e9) is the published Latest; v0.7.18 was never published.
Asset-pin check() unchanged. Mesa pin unchanged.
2026-10-02 13:44:58 -05:00
David Heinemeier Hansson 8d4ef2dbcf Merge pull request #770 from kevinmcconnell/update-gliff-0.2.0
Update gliff to 0.2.0
2026-10-02 20:41:18 +02:00
Joshua Warren 0485d455b7 Repin omarchy-mlx to v0.7.17 and verify staged ANE assets against the pin
v0.7.17 (tag a33a4e395) is the published Latest; v0.7.15/16 were burned and
never shipped. check() now runs the release's scripts/verify_runtime_assets.py
against the staged parakeet share tree so a stage whose ANE bytes disagree with
the wheel's runtime pin fails the build instead of shipping. Mesa pin unchanged.
2026-10-02 10:46:25 -05:00
Kevin McConnell eda220d878 Update gliff to 0.2.0
gliff now lives at omacom/gliff and cuts tagged releases, so build
the tag archive instead of a pinned commit and watch its tags.

The codec moved to VA-API: add libva, and dbus for notifications.
Install the launcher entry and icon, with the icon cache hook, and
ship the OpenH264 license.
2026-10-02 15:56:54 +01:00
Dylan 9b77934e0e fix(tmog-bin): follow the Linux release manifest 2026-10-02 08:19:58 -05:00
Joshua Warren d4736cd624 Repin omarchy-mlx to v0.7.14
v0.7.14 (tag 07729f401) carries the macOS collector dump-cap fix; v0.7.11
burned, v0.7.12 collector privacy leak, v0.7.13 superseded. Mesa pin unchanged.
2026-10-02 02:27:29 -05:00
Ryan Hughes 1ede739640 Merge pull request #766 from omacom/auto/track-branches
Track upstream branches: omarchy-dev 4.0.0.r6694.g821ae58, omarchy-settings-dev 4.0.0.r6694.g821ae58
2026-10-02 02:07:49 -04:00
ryanrhughes 8fe3683579 Track upstream branches: omarchy-dev 4.0.0.r6694.g821ae58, omarchy-settings-dev 4.0.0.r6694.g821ae58 2026-10-02 06:01:16 +00:00
Joshua Warren cdd2593bac Repin omarchy-mlx to v0.7.13
v0.7.12's collector leaks private data; v0.7.13 (tag 85998d135) replaces it.
Mesa pin unchanged.
2026-10-01 23:52:07 -05:00
Joshua Warren 0ff123bfae Repin omarchy-mlx to v0.7.12
v0.7.11 is burned (no release); v0.7.12 publishes the tested wheel and vendor
tarball from tag 8995ddf2e. Mesa pin unchanged.
2026-10-01 22:39:41 -05:00
Joshua Warren fd81838909 omarchy-ane-dkms: 0.4.0
The source is the published v0.4.0 release of joshuaswarren/omarchy-ane
(commit 16d13ef). sha256sums is the checksum of the GitHub archive
archive/refs/tags/v0.4.0.tar.gz.
2026-10-01 20:31:46 -05:00
Joshua Warren 7f2014bb98 omarchy-ane-dkms: ship omarchy-ane-smoke and its runner
omarchy-ane-smoke (joshuaswarren/omarchy-ane#50) runs the add program 20
times on the ANE and checks each output against the exact fp16 sum. It
runs omarchy-ane-run from its own directory with the program in
/usr/share/omarchy-ane/fixtures.

- build(): make tools/ane-run. It links libane statically and needs only
  libc and libm at run time. libdrm is a makedepend for drm.h.
- check(): add tools/test_ane_smoke.py (stub runner, fake root, no device).
- package(): install omarchy-ane-smoke, tools/ane-run as omarchy-ane-run,
  and fixtures/h14-anec/add/program-0.anec.
2026-10-01 20:04:22 -05:00
Joshua Warren 7d643349b2 Point omarchy-mlx sources at the renamed repo
GitHub archives now extract to omarchy-mlx-<ver> for every tag, so the
source filename and the build cd follow the omarchy-mlx name. Tarball
sha256 unchanged: 7ad98f7df4df54c1e194b2be1469200da767dc3e374d79e66dcb98bdbb958a9d.
2026-10-01 19:22:50 -05:00
Ryan Hughes 250edad378 Merge pull request #762 from omacom/auto/track-branches
Track upstream branches: omarchy-dev 4.0.0.r6693.gf45461a, omarchy-settings-dev 4.0.0.r6693.gf45461a
2026-10-01 20:10:15 -04:00
ryanrhughes 577ed75dd0 Track upstream branches: omarchy-dev 4.0.0.r6693.gf45461a, omarchy-settings-dev 4.0.0.r6693.gf45461a 2026-10-02 00:03:00 +00:00
Joshua Warren 8e5c2d2a8b omarchy-ane-dkms: ANE on by default on T6021
omarchy-ane removed omarchy-ane-m2-enable and the modprobe gate
packaging/modprobe/ane_t6021.conf, and added 90-omarchy-ane-firmware.hook,
which fetches the T6021 firmware after each install and upgrade
(omarchy-ane receipts/2026-10-01-t6021-default-on).

- package(): install the firmware hook; drop omarchy-ane-m2-enable, the gate
  file and its backup=() entry. On upgrade pacman deletes an unchanged gate
  file; a changed one becomes ane_t6021.conf.pacsave, which modprobe does not
  read (it reads only *.conf).
- post_remove: remove both firmware files that omarchy-ane-firmware-fetch
  writes (T602x and T8112). Drop the ane-t6021 opt-in edit: no overlay reads
  that key now.
- The overlay comment names /usr/share/omarchy-platform/dtb-overlays.
2026-10-01 18:49:47 -05:00
Joshua Warren 2dfb7779f6 Rename omarchy-mac-ml description to match its menu label
Drops the "Local AI" name; the description now reads the same promise as
the menu label MLX + Core ML (Apple Silicon).
2026-10-01 18:31:32 -05:00
Joshua Warren de50d8444a Repin omarchy-mlx to v0.7.10 and mesa to e7631595d
omarchy-mlx builds the v0.7.10 release wheel and vendor tarball from
github.com/joshuaswarren/omarchy-mlx; omarchy-mlx-vulkan pins the
honeykrisp-omarchy-v3 driver at mesa-1 e7631595df6281748ea5e643d74db59c5f783b01
with MESA_GIT_SHA1_OVERRIDE set to the short sha the driver reports and the
runtime compares. omarchy-mac-ml now pulls omarchy-mlx-vulkan directly and its
description names MLX on the GPU and Core ML models on the Neural Engine.
2026-10-01 18:29:54 -05:00
Ryan Hughes 2c1d7c0346 Merge pull request #753 from omacom/auto/track-branches
Track upstream branches: omarchy-dev 4.0.0.r6692.gc05d901, omarchy-settings-dev 4.0.0.r6692.gc05d901
2026-10-01 06:54:25 -07:00
ryanrhughes 5c4abb5146 Track upstream branches: omarchy-dev 4.0.0.r6692.gc05d901, omarchy-settings-dev 4.0.0.r6692.gc05d901 2026-10-01 13:46:24 +00:00
Joshua Warren da8b4dd6f7 Add omarchy-mac-ml, the local AI meta package for Apple Silicon Macs
It pulls in omarchy-mlx, omarchy-ane-dkms and mil-hwx-compiler.
aarch64 and edge only.
2026-10-01 01:13:59 -05:00
Joshua Warren 51c8769998 Add omarchy-mlx and omarchy-mlx-vulkan
Both packages come from one PKGBUILD, so the MLX wheel and the Vulkan
driver it was qualified on publish together.

omarchy-mlx-vulkan builds only the Honeykrisp Vulkan driver from
joshuaswarren/mesa-1 9b97b82ab1. It installs the driver, an ICD
manifest with an absolute library_path, and the driver's git SHA in
/usr/lib/omarchy-mlx/vulkan/. The manifest is outside the loader's
search path, so only omarchy-mlx uses the driver. It provides nothing
generic and conflicts with mesa-honeykrisp-omarchy.

omarchy-mlx builds the private venv offline from the release's
hash-locked vendor wheels and depends on the exact omarchy-mlx-vulkan
build.

The mlx-omarchy sources are placeholders until v0.7.7 is published.
2026-10-01 01:13:59 -05:00
Joshua Warren 40c38ab69e mil-hwx-compiler: use the published v0.1.0 release archive 2026-09-30 23:03:02 -05:00
Joshua Warren a2b5c4000f omarchy-ane-dkms: use the published v0.3.0 release archive 2026-09-30 19:19:31 -05:00
Joshua Warren d00ac79e91 omarchy-ane-dkms: take the v0.3.0 archive from omarchy-ane main d6babeb 2026-09-30 18:51:20 -05:00
Joshua Warren 184adf1693 Add mil-hwx-compiler, the Apple Neural Engine compiler
The package builds mil-hwxc from a joshuaswarren/mil-hwx-compiler
release. It compiles textual MIL into ANEC and HWX programs for the
Apple Neural Engine. aarch64 and edge only.

The compiler needs the libobjc2 runtime and a gnustep-base built for
it. Arch's gnustep-base uses gcc's libobjc, so the recipe builds both
from the commits the release pins and ships their runtime libraries in
/usr/lib/mil-hwx-compiler. mil-hwxc finds them through its RUNPATH.
check() runs the release's Linux verifier.

The watch follows published GitHub releases after 24 hours, on the
reviewed lane.
2026-09-30 18:17:39 -05:00
Joshua Warren 4d29b46a6c Add omarchy-ane-dkms, the Apple Neural Engine driver
The package builds ane.ko and ane_t6021.ko with DKMS from a
joshuaswarren/omarchy-ane release. It installs the device-tree
overlays, the readiness check, the M2 opt-in tools and their pacman
hooks. aarch64 and edge only.

ane_t6021 stays blocked by /etc/modprobe.d/ane_t6021.conf until the
user opts in. Removal takes out the firmware and the opt-in line that
omarchy-ane-m2-enable wrote.

The watch follows published GitHub releases after 24 hours, on the
reviewed lane.
2026-09-30 17:02:16 -05:00
5a49a3fab5 Keep Hermes Desktop opening on its runtime after Hermes updates (#718)
* Accept the fifth Hermes desktop launch option

Hermes now returns five values from _desktop_launch_options(), appending the renderer accessibility switch. The launcher unpacked exactly four, so once a user's runtime updated, every launch died with "too many values to unpack" before the app opened. The launcher now takes the first four and reads the fifth when present, so it keeps working with the packaged release and with newer runtimes, and it bridges an explicit accessibility opt-out the same way Hermes' own launcher does. The launch check now also runs a five-value helper, which fails against the previous launcher.

Fixes basecamp/omarchy#13491

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* hermes-desktop: launch against the installed runtime, accept the helper's new arity

_desktop_launch_options() returns five values since Hermes grew a trailing
renderer_accessibility field, so the launcher died with "too many values to
unpack (expected 4)" before os.execve — and gtk-launch discards stderr, so the
app icon became a silent no-op that left no process and no log line behind.

The launcher also exported HERMES_DESKTOP_IGNORE_EXISTING=1 unconditionally
while preferring the runtime's own app binary a few lines above it: with a
runtime installed, Desktop skipped that runtime and offered first-run setup
instead of the user's sessions. Ignoring an existing runtime is only correct for
the bundled /opt app, which is built from the package's release commit and
cannot drive a runtime built from another one.

pkgrel bumped for the changed artifact.

* Tell only the packaged Hermes Desktop to skip an existing install

The runtime's own app now finds its runtime the way `hermes desktop` launches it, through the installed-runtime lookup, instead of being pinned to it with HERMES_DESKTOP_HERMES_ROOT. That variable is upstream's developer override: it resolves before the lookup that Repair install bypasses, so pinning the runtime turned a hard repair into a restart against the same broken venv. HERMES_DESKTOP_IGNORE_EXISTING is set only when the launcher falls back to the packaged /opt app, and an explicit value in the environment still wins, so the in-app updater's relaunch of the runtime app no longer inherits it.

The fifth launch option is read the way it was accepted in the previous commit but one, with the checksums the two earlier commits left stale brought up to date. runtime-test.py now records both variables, so it fails if the unconditional export or the root pin comes back.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Codex XHigh <noreply@openai.com>

---------

Co-authored-by: manuaudio <manu@arimaka.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Omni <omni@omninova.com.mx>
Co-authored-by: Codex XHigh <noreply@openai.com>
2026-09-29 16:35:30 -05:00
Ryan Hughes 0c1996bb68 Merge pull request #730 from omacom/update/t3code-bin-0.0.44
Update t3code-bin to 0.0.44
2026-09-29 17:19:57 -04:00
Ryan Hughes 5e34b440bb Update t3code-bin to 0.0.44 2026-09-29 17:12:35 -04:00
Ryan Hughes adc0be3432 Merge pull request #728 from omacom/update/t3code-0.0.43
Update t3code-bin to 0.0.43
2026-09-29 16:49:14 -04:00
Ryan Hughes cb75bd381d Update t3code-bin to 0.0.43 2026-09-29 16:41:57 -04:00
Ryan Hughes f96114a9cc Merge pull request #727 from omacom/auto/track-branches
Track upstream branches: omarchy-dev 4.0.0.r6691.g8b4eae6, omarchy-settings-dev 4.0.0.r6691.g8b4eae6
2026-09-29 15:42:33 -04:00