itch.io — площадка для независимых игр, прототипов, игровых джемов и небольших экспериментов. Там много проектов с нативными сборками для Linux, а значительная часть выкладывается по модели «плати сколько хочешь» или бесплатно. Для работы с библиотекой есть официальный клиент itch — открытое приложение на Electron, которое устанавливает игры, следит за обновлениями и запускает их. Ниже — установка клиента, запуск сборок, инструменты для разработчиков и разбор проблем, с которыми сталкиваются в Linux.
Что даёт площадка и клиент
itch.io не похож на магазин с единой витриной: авторы сами оформляют страницы, задают цену и выкладывают файлы. Клиент itch добавляет удобство — библиотеку, загрузки, автообновление и запуск без браузера. Важно понимать: приложение не гарантирует совместимость. За сборку отвечает автор, а качество портов сильно различается. Зато многие игры распространяются без DRM и запускаются напрямую из каталога установки.
Установка клиента
Клиент скачивают только с официальной страницы приложения на itch.io. Готового репозитория для apt нет, поэтому не стоит искать пакет в сторонних источниках. Для Linux обычно предлагается AppImage; он не требует установки, но нуждается в библиотеке FUSE. В Ubuntu 24.04 и новее пакет называется libfuse2t64, в более старых — libfuse2.
chmod +x itch-*.AppImage
./itch-*.AppImage
sudo apt install libfuse2t64
./itch-*.AppImage --appimage-extract-and-run
Если AppImage не запускается из-за FUSE, второй вариант — распаковать его и запустить извлечённый бинарник. Флаг --appimage-extract-and-run делает это автоматически. Перед первым запуском полезно сверить контрольную сумму с той, что указана на странице загрузки.
sha256sum itch-*.AppImage
ls -lh itch-*.AppImage
Библиотека и установка игр
После входа в аккаунт клиент показывает купленные и бесплатно добавленные игры. Кнопка установки создаёт отдельный каталог, а кнопка запуска формирует команду с нужными переменными окружения. Каталог библиотеки задаётся в настройках: его стоит держать на диске с запасом места, потому что некоторые проекты весят несколько гигабайт.
Обновления ставятся поверх старой версии, но сохранения обычно лежат отдельно. Перед крупным обновлением полезно сделать копию каталога сохранений, особенно если игра не использует облако. Удаление через клиент убирает файлы игры, поэтому ручное удаление каталога может оставить «призрак» в библиотеке.
Запуск без клиента
Нативную сборку часто можно запустить напрямую. Проверьте права на исполнение, затем запустите бинарник из терминала — так видны сообщения об ошибках, которые клиент скрывает. Если игра поставляется в архиве, распакуйте его в отдельный каталог и не запускайте из временной папки.
chmod +x ./Game.x86_64
./Game.x86_64
ldd ./Game.x86_64 | grep 'not found'
MANGOHUD=1 gamemoderun ./Game.x86_64
ldd показывает, каких разделяемых библиотек не хватает. Типичный набор для старых сборок — libsdl2-2.0-0, libopenal1, libgl1, libvulkan1 и mesa-vulkan-drivers. Ставить их стоит только по реальному сообщению об ошибке, а не «на всякий случай».
Проблемы с графикой и звуком
Сборки, рассчитанные на X11, под Wayland иногда запускаются в окне неправильного размера или падают при переключении. Принудительный X11 через XWayland часто решает проблему. Для звука проверьте, что PipeWire видит игру как обычное приложение, и что выбрано правильное устройство вывода.
SDL_VIDEODRIVER=x11 ./Game.x86_64
GDK_BACKEND=x11 ./Game.x86_64
wpctl status
LIBGL_ALWAYS_SOFTWARE=1 ./Game.x86_64
Последняя команда включает программный рендеринг и полезна только для диагностики: если так игра запускается, проблема в драйвере GPU, а не в самой сборке. Для статистики кадров удобен mangohud, для повышения приоритета — gamemoderun.
butler для разработчиков
Авторам itch.io предоставляет butler — консольный инструмент для загрузки сборок и управления каналами. Он умеет докачивать только изменённые файлы, поэтому большие проекты не приходится заливать целиком. Каналы обычно называют linux, windows, osx; именно по ним клиент понимает, какую сборку предложить пользователю.
butler login
butler push build/ user/game:linux
butler status user/game
butler fetch user/game:linux
Перед публикацией проверьте, что в каталоге сборки нет лишних файлов и сохранений. butler status показывает, какие каналы обновлены, а butler fetch позволяет скачать собственную сборку так, как её увидит игрок. Это хороший способ проверить архив перед анонсом.
Безопасность и юридическая сторона
Скачивайте игры и клиент только со страниц авторов на itch.io. Сторонние «сборники» могут содержать вредоносный код, а их распространение нарушает права авторов. Бесплатные проекты ничем не отличаются по качеству установки: их также стоит проверять через sha256sum, если автор публикует хеш. Для изолированного запуска сомнительной сборки подойдёт отдельный пользователь или контейнер, но это уже крайняя мера.
Чем itch отличается от Steam
Steam делает ставку на единую библиотеку, облачные сохранения и Proton, который запускает Windows-сборки. itch.io ближе к витрине независимых авторов: здесь больше демо, прототипов и игр, которые никогда не попадут в крупный магазин. Зато совместимость с Linux никто не гарантирует, а обновления и сохранения зависят от конкретного проекта.
Практический вывод прост: для крупных игр с Windows-сборками удобнее Steam и Proton, а для небольших нативных проектов — itch и прямой запуск. Клиент itch не конфликтует со Steam, поэтому держать обе библиотеки на одной машине совершенно нормально. Единственное, что стоит разделить, — каталоги установки: так проще считать занятое место и делать резервные копии.
Чек-лист перед запуском
- Клиент скачан с официальной страницы, хеш сверен.
- Для AppImage установлен FUSE или использован режим распаковки.
- Бинарник имеет право на исполнение.
- Недостающие библиотеки выявлены через
ldd, а не установлены наугад. - Сохранения скопированы перед обновлением.
- Для старых сборок при необходимости включён X11.
Итог
itch.io удобен тем, что даёт доступ к тысячам небольших Linux-сборок без подписок и лишних лаунчеров. Клиент itch закрывает библиотеку и обновления, а нативный бинарник часто запускается и без него. Главные сложности — FUSE для AppImage, недостающие библиотеки и поведение старых игр под Wayland. Проверяйте зависимости по сообщениям ldd, не ставьте пакеты наугад и скачивайте игры только у авторов.