Compare commits

...

4 Commits

Author SHA1 Message Date
Uyanide 311a89c0e6 update 2026-05-05 09:22:05 +02:00
Uyanide 874311fcb0 update 2026-05-04 23:02:34 +02:00
Uyanide e648c1f1a6 stop building the wheels! 2026-05-04 23:02:18 +02:00
Uyanide f789df0f02 update 2026-05-03 12:37:05 +02:00
8 changed files with 179 additions and 48 deletions
+1 -1
View File
@@ -2,6 +2,6 @@ include kitty.conf
remember_window_size false
initial_window_width 960
initial_window_height 640
initial_window_height 720
window_padding_width 5
+1 -1
View File
@@ -1,3 +1,3 @@
#!/bin/sh
kitty --app-id kitty-floating --config "$HOME/.config/kitty/floating.conf" $@
kitty --app-id kitty-floating --config "$HOME/.config/kitty/floating.conf" "$@"
+1
View File
@@ -45,6 +45,7 @@ fi
[[ -f "$HOME/.cargo/env" ]] && source "$HOME/.cargo/env"
(( $+commands[opam] )) && eval "$(opam env)"
prepend_path "$HOME/.cargo/bin"
prepend_path "$HOME/go/bin"
prepend_path "$HOME/.local/bin"
prepend_path "$HOME/.local/scripts"
+43
View File
@@ -0,0 +1,43 @@
> 嗯, 用户想问的似乎是如何使用
>
> - `qemu-user-static`
> - `qemu-user-static-binfmt`
>
> 通过
>
> ```bash
> sudo systemd-nspawn -M {{ rootfs-name }}
> ```
>
> 运行从
>
> ```bash
> wget https://os.archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz
> ```
>
> 下载且通过
>
> ```bash
> sudo mkdir -p /var/lib/machines/{{ rootfs-name }} && \
> sudo bsdtar -xpf ArchLinuxARM-aarch64-latest.tar.gz -C /var/lib/machines/{{ rootfs-name }}
> ```
>
> 解压的 aarch64 架构的 archlinux rootfs. 但要不要提醒用户应该取消注释 `cat /etc/pacman.conf` 中的
>
> ```conf
> [options]
> #DisableSandboxFilesystem
> #DisableSandboxSyscalls
> ```
>
> 以禁用在 systemd-nspawn 中默认不可用的下载沙盒, 并且应该避免运行需要 setuid 的程序 (如 sudo), 因为 `/proc/sys/fs/binfmt_misc/qemu-aarch64` 中的 `flags` 缺失 `C` (Credentials) 标志, 导致可执行文件的 `s` 权限位被忽视? 不过如果真的需要 setuid 的话, 也可以通过
>
> ```bash
> sudo cp /usr/lib/binfmt.d/qemu-aarch64-static.conf /etc/binfmt.d/
> ```
>
> 复制一份并在末尾加上 C, 要不要一并告诉用户?
>
> 算了, 反正用户什么也不懂, 即使问题解决也只会原地消失, 一句感谢也不说.
_Baked for 27s._
+76
View File
@@ -0,0 +1,76 @@
## 问题
### VapourSynth 破坏性更新
> Tue May 5 09:08:30 CEST 2026
- `extra/vapoursynth` 包更新至 75 版本后 (此问题其实是 R74 引入的, 但他们似乎跳过了 R74 直接在近几天更新至 R75), vsscript 库文件符号链接关系如下:
- `/usr/lib/libvapoursynth-script.so` -> `python3.14/site-packages/vapoursynth/libvsscript.so`
- `/usr/lib/libvapoursynth-script.so.0` -> `python3.14/site-packages/vapoursynth/libvsscript.so`
这导致 ldconfig 根据 SONAME 字段建立的缓存条目变化, 例如从 `libvapoursynth-script.so.0 (libc,x86-64) => /usr/lib/libvapoursynth-script.so.0` 变为 `libvsscript.so (libc6,x86-64) => /usr/lib/libvsscript.so`, 可能会使其他未能重新链接的程序找不到对应库.
但该问题影响范围比较有限, 因为动态库并不完全根据 ldconfig 缓存条目加载 —— 如果文件名完全匹配也能正确加载, 毕竟 `/usr/lib/libvapoursynth-script.so.0` 仍然存在.
- 同时, 插件目录也从 `/usr/lib/vapoursynth/` 改为 `/usr/lib/python3.14/site-packages/vapoursynth/plugins/`, 很多包未能及时更新插件安装路径, 导致 vapoursynth 插件丢失.
extra 仓库中的 vapoursynth-plugin-\* 包均已改为类似如下动态查找插件安装路径的方式:
```bash
install -Dm 755 libxxx.so -t "${pkgdir}"/$(python -c 'import vapoursynth;print(vapoursynth.get_plugin_dir())')/
```
所以不会出问题. 主要影响范围是打包者或上游硬编码插件安装路径为 `/usr/lib/vapoursynth` 的包, 其中包括少数 extra 仓库的包如 `extra/ffms2` 和众多 AUR 包.
- vapoursynth 不再在编译器 link libpython, 而必须在加载 libvsscript.so 时选择 python. 选哪个 python 由 `$HOME/.config/vapoursynth/vapoursynth.toml` 维护的映射关系决定, 格式类似:
```toml
"/usr/lib/python3.14/site-packages/vapoursynth/libvsscript.so" = ["/usr/bin/python","/usr/lib/libpython3.14.so.1.0"]
```
可以运行 `vapoursynth config` 自动更新.
然而, 上文提到过新的 libvsscript.so 的 ldconfig 条目是 `libvsscript.so (libc6,x86-64) => /usr/lib/libvsscript.so`, 而 `vapoursynth config` 只会在 `vapoursynth.toml` 写入 `/usr/lib/python3.14/site-packages/vapoursynth/libvsscript.so` 的条目. 此时, 如果加载 libvsscript.so, 会从 ldconfig 拿到 `/usr/lib/libvsscript.so`,而 vapoursynth 在拿到此路径后不解 symlink, 查 `vapoursynth.toml` 时和任何条目都对不上, 导致加载失败. 报错类似:
```
Python executable and library path couldn't be determined despite automatic configuration. Run `vapoursynth config` to set it for this Python installation and then try again.
```
临时修复方式为在 `$HOME/.config/vapoursynth/vapoursynth.toml` 里手动加上针对 `/usr/lib/libvsscript.so` 符号链接的条目:
```toml
"/usr/lib/libvsscript.so" = ["/usr/bin/python","/usr/lib/libpython3.14.so.1.0"]
```
如果运行 vapoursynth 此次更新前构建并链接的程序, 可能同样需要为 `/usr/lib/libvapoursynth-script.so.0` 准备对应条目:
```toml
"/usr/lib/libvapoursynth-script.so.0" = ["/usr/bin/python","/usr/lib/libpython3.14.so.1.0"]
```
影响范围为所有动态链接 vapoursynth 的二进制文件.
### CUDA 13.2 不兼容 GCC 16.1
> Mon May 4 15:39:17 CEST 2026
nvcc 和 gcc 兼容问题的历史重演. 随 GCC 16.1 发布, 以前用 GCC 15.2 能够编译的 CUDA 包会报一堆错误, 影响范围非常大.
解决方法为装 gcc15 等旧版本工具链, 并修改编译流程使 nvcc 使用指定编译器. 例如对于部分 Makefile:
```makefile
CUDA_CCBIN ?=
cudaccbin = $(if $(CUDA_CCBIN),-ccbin $(CUDA_CCBIN),)
...
nvcc $(cudaccbin) ...
```
但这样会带来一个问题: `gcc15` 是 AUR 包, 需要编译. 而这并不会是一个很愉快的过程. 除去超大的仓库体积, 超长时间的编译测试和超高的资源占用外, 过程中还可能会因为各种问题失败, 修复问题后可能还需要从头再来, 成本过高.
但好在 cachyos 有打包 `gcc14` 二进制包, 因此再降一个版本即可绕过编译过程. 但 AUR 上的众多打包者应该还是会选择 `gcc15`, 因此在有仓库打包 `gcc15` 二进制包或 NVIDIA 更新 CUDA 支持 GCC 16 之前, 几乎所有涉及 CUDA 的包仍然需要手动修改 PKGBUILD 构建.
另外还有几个可选方案:
- 可以用 clang++ 代替 nvcc, 但支持程度似乎有限 (`clang++: warning: CUDA version is newer than the latest partially supported version 12.9 [-Wunknown-cuda-version]`), 且对于部分已经在使用 nvcc 构建的项目可能需要较大幅度地修改编译参数和流程, 实用价值不高.
+56 -44
View File
@@ -7,49 +7,6 @@ grab
| bash -s -- "$0"
exit $?
> [!NOTE]
> The gibberish above is **NOT** meant to be copy-pasted into the terminal. It is a script that updates the [Full list](#full-list) section below, and should be run as:
>
> ```bash
> bash /path/to/dotfiles/memo/packages.md
> ```
## Notes
| | |
| --------- | ---------------------------- |
| alass | Subtitle sync; used in mpv |
| axel | CLI download accelerator |
| figlet | Draw large letters |
| foliate | GTK eBook reader |
| gearlever | AppImage manager |
| gping | Ping with better looking TUI |
| jp2a | JPEG to ASCII |
| nethogs | Network top |
| picard | Music tagger (MusicBrainz) |
| toilet | Better FIGlet |
| wev | Debug wayland events |
| yad | Fork of zenity |
| zenity | Display dialog boxes via cli |
## Some useful commands
Show packages sorted by size, with a preview of their info:
```bash
expac -H M '%m\t%n' \
| sort -hr \
| fzf --delimiter='\t' --with-nth=1,2 --multi \
--preview 'yay -Qi {2}' \
--preview-window='right,70%,wrap'
```
Update the list below:
```bash
bash /path/to/dotfiles/memo/packages.md
```
<!-- update-full-list:start
set -euo pipefail
@@ -94,6 +51,49 @@ echo "Updated Full list in: $script_path"
update-full-list:end -->
> [!NOTE]
> The gibberish above is **NOT** meant to be copy-pasted into the terminal. It is a script that updates the [Full list](#full-list) section below, and should be run as:
>
> ```bash
> bash /path/to/dotfiles/memo/packages.md
> ```
## Notes
| | |
| --------- | ---------------------------- |
| alass | Subtitle sync; used in mpv |
| axel | CLI download accelerator |
| figlet | Draw large letters |
| foliate | GTK eBook reader |
| gearlever | AppImage manager |
| gping | Ping with better looking TUI |
| jp2a | JPEG to ASCII |
| nethogs | Network top |
| picard | Music tagger (MusicBrainz) |
| toilet | Better FIGlet |
| wev | Debug wayland events |
| yad | Fork of zenity |
| zenity | Display dialog boxes via cli |
## Some useful commands
Show packages sorted by size, with a preview of their info:
```bash
expac -H M '%m\t%n' \
| sort -hr \
| fzf --delimiter='\t' --with-nth=1,2 --multi \
--preview 'yay -Qi {2}' \
--preview-window='right,70%,wrap'
```
Update the list below:
```bash
bash /path/to/dotfiles/memo/packages.md
```
## Full list
```
@@ -106,6 +106,7 @@ archiso
archlinux-contrib
archlinuxcn-keyring
ark
av1an
awww
axel
azure-cli
@@ -139,6 +140,7 @@ chafa
chaotic-keyring
chaotic-mirrorlist
chromium
chwd
claude-code
cloc
cmake
@@ -183,7 +185,9 @@ fcitx5-qt
fd
fdkaac
ffmpeg-full
ffms2
ffnvcodec-headers
ffvship
figlet
filelight
fish
@@ -199,6 +203,7 @@ frei0r-plugins
fuzzel
fzf
gamemode
gcc14
gdb
gdu
gearlever
@@ -280,6 +285,7 @@ libc++
libdbusmenu-lxqt
libguestfs
libreoffice-still-zh-cn
libspng
libva-intel-driver
libva-nvidia-driver
libva-utils
@@ -292,7 +298,6 @@ linux-firmware
linux-lts
linux-lts-headers
linuxqq
llama.cpp-cuda-git
llmfit-bin
localsend
lolcat
@@ -306,6 +311,7 @@ man-pages
mangohud
matugen
meson
mkvtoolnix-cli
modprobed-db
moonlight-qt
moreutils
@@ -315,6 +321,7 @@ mpd-mpris
mpv-full
mpv-mpris
msedit
namcap
nasm
nautilus
nautilus-share
@@ -335,6 +342,7 @@ nvidia-utils
nvme-cli
nvtop
nwg-look
oavif
obs-studio
obsidian
okular
@@ -383,6 +391,8 @@ python-yaml
qbittorrent-enhanced
qdiskinfo
qemu-full
qemu-user-static
qemu-user-static-binfmt
qt5-graphicaleffects
qt5-quickcontrols
qt5-quickcontrols2
@@ -489,6 +499,7 @@ unrar
usbip
uv
valgrind
vapoursynth-plugin-vship-cuda-git
ventoy-bin
vesktop-bin
vicinae
@@ -571,6 +582,7 @@ yt-dlp
zellij
zen-browser-bin
zenity
zig
zoxide
zram-generator
zsh