Compare commits
4 Commits
417d48f0f5
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
311a89c0e6
|
|||
|
874311fcb0
|
|||
|
e648c1f1a6
|
|||
|
f789df0f02
|
Submodule config/ghostty/.config/ghostty/shaders deleted from aa6121ba2d
@@ -2,6 +2,6 @@ include kitty.conf
|
|||||||
|
|
||||||
remember_window_size false
|
remember_window_size false
|
||||||
initial_window_width 960
|
initial_window_width 960
|
||||||
initial_window_height 640
|
initial_window_height 720
|
||||||
|
|
||||||
window_padding_width 5
|
window_padding_width 5
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
kitty --app-id kitty-floating --config "$HOME/.config/kitty/floating.conf" $@
|
kitty --app-id kitty-floating --config "$HOME/.config/kitty/floating.conf" "$@"
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ fi
|
|||||||
|
|
||||||
[[ -f "$HOME/.cargo/env" ]] && source "$HOME/.cargo/env"
|
[[ -f "$HOME/.cargo/env" ]] && source "$HOME/.cargo/env"
|
||||||
(( $+commands[opam] )) && eval "$(opam env)"
|
(( $+commands[opam] )) && eval "$(opam env)"
|
||||||
|
prepend_path "$HOME/.cargo/bin"
|
||||||
prepend_path "$HOME/go/bin"
|
prepend_path "$HOME/go/bin"
|
||||||
prepend_path "$HOME/.local/bin"
|
prepend_path "$HOME/.local/bin"
|
||||||
prepend_path "$HOME/.local/scripts"
|
prepend_path "$HOME/.local/scripts"
|
||||||
|
|||||||
Submodule config/wallpaper/Pictures/backgrounds updated: b1049c10af...5984c56815
@@ -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._
|
||||||
@@ -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
@@ -7,49 +7,6 @@ grab
|
|||||||
| bash -s -- "$0"
|
| bash -s -- "$0"
|
||||||
exit $?
|
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
|
<!-- update-full-list:start
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
@@ -94,6 +51,49 @@ echo "Updated Full list in: $script_path"
|
|||||||
|
|
||||||
update-full-list:end -->
|
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
|
## Full list
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -106,6 +106,7 @@ archiso
|
|||||||
archlinux-contrib
|
archlinux-contrib
|
||||||
archlinuxcn-keyring
|
archlinuxcn-keyring
|
||||||
ark
|
ark
|
||||||
|
av1an
|
||||||
awww
|
awww
|
||||||
axel
|
axel
|
||||||
azure-cli
|
azure-cli
|
||||||
@@ -139,6 +140,7 @@ chafa
|
|||||||
chaotic-keyring
|
chaotic-keyring
|
||||||
chaotic-mirrorlist
|
chaotic-mirrorlist
|
||||||
chromium
|
chromium
|
||||||
|
chwd
|
||||||
claude-code
|
claude-code
|
||||||
cloc
|
cloc
|
||||||
cmake
|
cmake
|
||||||
@@ -183,7 +185,9 @@ fcitx5-qt
|
|||||||
fd
|
fd
|
||||||
fdkaac
|
fdkaac
|
||||||
ffmpeg-full
|
ffmpeg-full
|
||||||
|
ffms2
|
||||||
ffnvcodec-headers
|
ffnvcodec-headers
|
||||||
|
ffvship
|
||||||
figlet
|
figlet
|
||||||
filelight
|
filelight
|
||||||
fish
|
fish
|
||||||
@@ -199,6 +203,7 @@ frei0r-plugins
|
|||||||
fuzzel
|
fuzzel
|
||||||
fzf
|
fzf
|
||||||
gamemode
|
gamemode
|
||||||
|
gcc14
|
||||||
gdb
|
gdb
|
||||||
gdu
|
gdu
|
||||||
gearlever
|
gearlever
|
||||||
@@ -280,6 +285,7 @@ libc++
|
|||||||
libdbusmenu-lxqt
|
libdbusmenu-lxqt
|
||||||
libguestfs
|
libguestfs
|
||||||
libreoffice-still-zh-cn
|
libreoffice-still-zh-cn
|
||||||
|
libspng
|
||||||
libva-intel-driver
|
libva-intel-driver
|
||||||
libva-nvidia-driver
|
libva-nvidia-driver
|
||||||
libva-utils
|
libva-utils
|
||||||
@@ -292,7 +298,6 @@ linux-firmware
|
|||||||
linux-lts
|
linux-lts
|
||||||
linux-lts-headers
|
linux-lts-headers
|
||||||
linuxqq
|
linuxqq
|
||||||
llama.cpp-cuda-git
|
|
||||||
llmfit-bin
|
llmfit-bin
|
||||||
localsend
|
localsend
|
||||||
lolcat
|
lolcat
|
||||||
@@ -306,6 +311,7 @@ man-pages
|
|||||||
mangohud
|
mangohud
|
||||||
matugen
|
matugen
|
||||||
meson
|
meson
|
||||||
|
mkvtoolnix-cli
|
||||||
modprobed-db
|
modprobed-db
|
||||||
moonlight-qt
|
moonlight-qt
|
||||||
moreutils
|
moreutils
|
||||||
@@ -315,6 +321,7 @@ mpd-mpris
|
|||||||
mpv-full
|
mpv-full
|
||||||
mpv-mpris
|
mpv-mpris
|
||||||
msedit
|
msedit
|
||||||
|
namcap
|
||||||
nasm
|
nasm
|
||||||
nautilus
|
nautilus
|
||||||
nautilus-share
|
nautilus-share
|
||||||
@@ -335,6 +342,7 @@ nvidia-utils
|
|||||||
nvme-cli
|
nvme-cli
|
||||||
nvtop
|
nvtop
|
||||||
nwg-look
|
nwg-look
|
||||||
|
oavif
|
||||||
obs-studio
|
obs-studio
|
||||||
obsidian
|
obsidian
|
||||||
okular
|
okular
|
||||||
@@ -383,6 +391,8 @@ python-yaml
|
|||||||
qbittorrent-enhanced
|
qbittorrent-enhanced
|
||||||
qdiskinfo
|
qdiskinfo
|
||||||
qemu-full
|
qemu-full
|
||||||
|
qemu-user-static
|
||||||
|
qemu-user-static-binfmt
|
||||||
qt5-graphicaleffects
|
qt5-graphicaleffects
|
||||||
qt5-quickcontrols
|
qt5-quickcontrols
|
||||||
qt5-quickcontrols2
|
qt5-quickcontrols2
|
||||||
@@ -489,6 +499,7 @@ unrar
|
|||||||
usbip
|
usbip
|
||||||
uv
|
uv
|
||||||
valgrind
|
valgrind
|
||||||
|
vapoursynth-plugin-vship-cuda-git
|
||||||
ventoy-bin
|
ventoy-bin
|
||||||
vesktop-bin
|
vesktop-bin
|
||||||
vicinae
|
vicinae
|
||||||
@@ -571,6 +582,7 @@ yt-dlp
|
|||||||
zellij
|
zellij
|
||||||
zen-browser-bin
|
zen-browser-bin
|
||||||
zenity
|
zenity
|
||||||
|
zig
|
||||||
zoxide
|
zoxide
|
||||||
zram-generator
|
zram-generator
|
||||||
zsh
|
zsh
|
||||||
|
|||||||
Reference in New Issue
Block a user