Skip to content

chore(xlings): 2026.8.10.4 - #597

Merged
Sunrisepeak merged 1 commit into
mainfrom
bump/xlings-2026.8.10.4
Aug 10, 2026
Merged

chore(xlings): 2026.8.10.4#597
Sunrisepeak merged 1 commit into
mainfrom
bump/xlings-2026.8.10.4

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

加载器标签现在有唯一的所有者。

elfpatch(libxpkg 0.0.57)给可执行文件打 DT_RPATH 而不是 DT_RUNPATH, 新增 rule E —— 当载荷带着旧标签到达时,在用户机器上、安装时说出来。

DT_RUNPATH 只对携带它的对象生效;DT_RPATH 对进程内任意深度的 dlopen 都生效。GL 程序要穿三层 dlopen 才够到驱动,所以决定它在不在 GPU 上渲染的是标签,不是路径。真机 73 个已安装可执行文件里 1 个 DT_RPATH,而另外 68 个里有 55 个路径本来就是对的

另有两项可观测性:subos info 报宿主驱动漂移(检测器早就存在,缺的是通道),subos use --sandbox 不带 --gpu 时说明沙箱没有 GPU —— 三个条件,只在采取行动能改变结果时才响。

三个平台段全部 bump,用解析验证而非看 diff:

linux    latest=2026.8.10.4  arch=[aarch64,x86_64]
macosx   latest=2026.8.10.4  arch=[aarch64]
windows  latest=2026.8.10.4  arch=[x86_64]

哈希取自 xlings-res 上的文件(XLINGS_RES 实际解析到的地方),不是它镜像自的上游 release。

CN 镜像本地上传并按大小四平台核对通过 —— 上传前四个都返回 127 字节,所以只看状态码会对不存在的资源报 200。

上游:openxlings/xlings#536openxlings/libxpkg#41mcpplibs/mcpp-index#202

The loader tag now has one owner. elfpatch (libxpkg 0.0.57) stamps DT_RPATH on
executables instead of DT_RUNPATH, and closure_check gains rule E to say so at
install time on the user's machine when a payload arrives with the old tag.

DT_RUNPATH is consulted only for the object carrying it; DT_RPATH is consulted
for every dlopen anywhere in the process. A GL program reaches its driver
through three levels of dlopen, so the tag — not the path — decided whether it
rendered on the GPU. Of 73 installed executables on a real home, 1 carried
DT_RPATH and 55 of the other 68 already carried the correct path.

Also: `subos info` reports host driver drift (the detector existed as
`xlings-gl-doctor` and lacked a channel), and `subos use --sandbox` without
`--gpu` says the sandbox exposes no GPU — under three conditions, so it can
only fire where acting on it changes the outcome.

All THREE platform sections, verified by PARSING rather than reading the diff:

  linux    latest=2026.8.10.4  arch=[aarch64,x86_64]
  macosx   latest=2026.8.10.4  arch=[aarch64]
  windows  latest=2026.8.10.4  arch=[x86_64]

Hashes taken from the assets in xlings-res — what `XLINGS_RES` actually
resolves to — not from the upstream release they were mirrored from.

CN mirror uploaded from a local shell and verified by SIZE on all four
platforms; before the upload all four returned 127 bytes, so the status code
would have said 200 for assets that were not there.

Upstream: openxlings/xlings#536, openxlings/libxpkg#41, mcpplibs/mcpp-index#202
@Sunrisepeak
Sunrisepeak merged commit df01c87 into main Aug 10, 2026
15 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