После обновления пакетов Arch Linux при перезагрузке компьютера может появиться ошибка запуска compositor picom. В этой статье расскажу, как исправить проблему с устаревшими опциями GLX, которые были удалены в новых версиях picom.
Опции --glx-no-rebind-pixmap и --glx-no-stencil являются устаревшими (deprecated) и были удалены в версии picom 10+.
Эти опции могут находиться в:
~/.config/i3/config или ~/.i3/config)~/.config/picom/picom.conf или ~/.config/picom.conf)Откройте файл конфигурации i3:
nano ~/.config/i3/config
Найдите строку запуска picom:
# Старый вариант (вызывает ошибку)
exec_always --no-startup-id picom --experimental-backends --glx-no-rebind-pixmap --glx-no-stencil
Удалите устаревшие опции:
# Исправленный вариант
exec_always --no-startup-id picom --experimental-backends
Сохраните файл (Ctrl+O, Enter, Ctrl+X) и перезагрузите i3:
$mod+Shift+r
Если опции указаны в picom.conf:
nano ~/.config/picom/picom.conf
Найдите и закомментируйте или удалите строки:
# Удалить или закомментировать:
# glx-no-rebind-pixmap = true;
# glx-no-stencil = true;
Создайте скрипт для автоматического исправления:
#!/bin/bash
# fix-picom.sh
echo "Исправление ошибки picom..."
# Исправление в i3 config
if [ -f "$HOME/.config/i3/config" ]; then
sed -i 's/--glx-no-rebind-pixmap//g' "$HOME/.config/i3/config"
sed -i 's/--glx-no-stencil//g' "$HOME/.config/i3/config"
echo "✓ Исправлен ~/.config/i3/config"
fi
# Исправление в picom.conf
if [ -f "$HOME/.config/picom/picom.conf" ]; then
sed -i 's/glx-no-rebind-pixmap/#glx-no-rebind-pixmap/g' "$HOME/.config/picom/picom.conf"
sed -i 's/glx-no-stencil/#glx-no-stencil/g' "$HOME/.config/picom/picom.conf"
echo "✓ Исправлен ~/.config/picom/picom.conf"
fi
echo "Готово! Перезагрузите i3wm (Mod+Shift+r)"
Запустите скрипт:
chmod +x fix-picom.sh
./fix-picom.sh
После исправления проверьте, что picom запускается без ошибок:
picom --experimental-backends
Если compositor работает корректно, перезагрузите систему или перезапустите i3wm.
Если вы использовали --glx-no-rebind-pixmap для оптимизации, в новых версиях picom эта опция не требуется — backend GLX был значительно улучшен.
Для тонкой настройки производительности используйте файл picom.conf:
backend = "glx";
vsync = true;
| *Статья актуальна для: picom 10+ | Arch Linux 2024-2026* |
Комментарии