Установка и использование Gallium Nine с Wine на Linux

Что делает Gallium Nine: это реализация интерфейса Direct3D 9 поверх движка Gallium в Mesa, а не «обёртка» поверх Windows-библиотек. За счёт этого значительно снижаются накладные расходы и повышается частота кадров в старых DX9-играх.
Важно: Gallium Nine работает только с open-source драйверами Mesa + ядра драйверов (AMDGPU или Nouveau). С проприетарными драйверами NVIDIA (NVIDIA binary) преимущество часто теряется — в этом случае лучше использовать Wine Staging или другие решения.
Что нужно подготовить
- Mesa с включённой поддержкой d3d9 (Gallium Nine). Если вы собирали Mesa вручную — убедитесь, что опция d3d9 включена. Если используете дистрибутивную сборку — проверьте пакет/репозиторий.
- Open-source драйвер графики: AMDGPU (для современных карт AMD) или Nouveau (для старых/проблемных карт NVIDIA).
- Специальная сборка Wine с патчами Gallium Nine (чаще всего поставляется через сторонние репозитории или AUR), либо Wine с поддержкой wined3d/Gallium Nine.
- Права root для установки пакетов и правка системных файлов.
Короткие определения:
- Gallium Nine — реализация Direct3D9 в Mesa.
- Mesa — набор open-source реализаций графических API на Linux.
- Wine — слой совместимости для запуска Windows-приложений на Unix-системах.
Совместимость драйверов и Mesa — таблица совместимости
- AMD (современные): AMDGPU + Mesa с d3d9 — рекомендовано.
- NVIDIA (проприетарные): обычно лучше использовать проприетарные драйверы + Wine Staging; Nouveau даёт низкую производительность на современных картách.
- Intel: Mesa + i965/ANV — поддержка Gallium Nine может быть ограничена; тестируйте конкретную конфигурацию.
Важно: поддержка в дистрибутивах различается. Всегда проверяйте версию Mesa и наличие опции d3d9.
Установка — дистрибутивы
Ubuntu (пошагово)
Ubuntu по умолчанию не включает Mesa с Gallium Nine. Проще всего использовать сторонний PPA или собрать Mesa самостоятельно. Ниже — пошаговая инструкция с PPA (работоспособность может зависеть от версии Ubuntu).
- Добавьте PPA с собранной Mesa и Gallium Nine:
sudo add-apt-repository ppa:oibaf/gallium-nine
- После добавления PPA откройте каталог с источниками:
- Откройте терминал и перейдите в /etc/apt/sources.list.d
- Найдите файл oibaf-ubuntu-gallium-nine-zesty.list
- Откройте его с sudo и текстовым редактором и замените все строки “zesty” на “yakkety”
- Сохраните и переименуйте файл в oibaf-ubuntu-gallium-yakkety.list
- Добавьте репозиторий с кастомной сборкой Wine, который активнее поддерживается:
sudo add-apt-repository ppa:commendsarnex/winedri3- Обновите apt и установите Mesa и Wine:
sudo apt update
sudo apt install mesa wine2.0- Перезагрузите X-сервер или компьютер, чтобы подтянулась новая версия Mesa.
Примечание: названия PPA и пакетов со временем меняются. Если команда не работает, проверьте актуальные репозитории и версии для вашей версии Ubuntu. На Debian такие PPA работают не всегда — подходите осторожно.
Arch Linux
Arch предоставляет пакеты через AUR. Самый простой путь — найти стабильные AUR-пакеты для mesa-gallium-nine и wine с патчами и собрать их через yay/paru.
Шаги:
- Установите помощник AUR (yay, paru) если ещё не установлен.
- Найдите пакеты: mesa-gallium-nine, wine-gallium-nine или аналогичные.
- Соберите и установите через yay -S
.

Gentoo
Gentoo делает задачу лёгкой через USE-флаги и маскирование:
Добавьте поддержку d3d9 при сборке Mesa:
/etc/portage/package.use
media-libs/mesa d3d9Размаскируйте wine-any:
/etc/portage/package.accept_keywords
app-emulation/wine-any ~amd64Включите флаг d3d9 для Wine:
/etc/portage/package.use
app-emulation/wine-any d3d9Соберите Wine:
emerge --ask wine-anyGentoo даёт наибольшую гибкость, но требует времени на компиляцию.
Включение Gallium Nine в Wine

- Откройте winecfg (в терминале введите
winecfg). - На вкладке Staging (или соответствующей вашей сборке) поставьте галочку Enable Gallium Nine.
- Нажмите Apply/OK.
После включения можно запускать DX9-игры через Wine и измерять разницу в производительности.
Тестирование и критерии приёмки
Критерии приёмки — что проверить после установки:
- Игра запускается без критических ошибок (крахов, графических артефактов, зависаний).
- Свет и текстуры отображаются как в Windows-версии (необязательно на 100%, но без блокирующих багов).
- Частота кадров (FPS) при включённом Gallium Nine должна быть заметно выше, чем при выключенном в comparable playtest — ожидается улучшение для DX9-игр.
- Нет регрессий в других приложениях, использующих OpenGL/Vulkan.
Тестовые шаги:
- Запустите выбранную DX9-игру с включённым Gallium Nine и замерьте FPS (встроенный счётчик игры или внешняя утилита).
- Откройте winecfg и выключите Gallium Nine.
- Повторите замеры в тех же сценах и сравните.
Приём работает, если FPS с Gallium Nine выше или игра ведёт себя стабильнее.
Отладка и сценарии отказа (когда Gallium Nine не помогает)
Когда Gallium Nine может не дать прироста:
- Вы используете проприетарные драйверы NVIDIA — Nouveau/AMDGPU требуются для оптимальной работы.
- На вашей карте Nouveau даёт низкую производительность — в этом случае выигрыша от Gallium Nine не будет.
- Игра использует нечасто портируемые расширения DirectX или собственные эффекты — поведение может отличаться от Windows.
- Вы используете старую или несовместимую версию Mesa.
Отладка — шаги:
- Проверьте версию Mesa:
glxinfo | grep Mesaилиglxinfo | grep "OpenGL renderer". - Убедитесь, что d3d9 в Mesa включён (см. описание сборки вашего пакета).
- Проверьте логи Wine (WINEDEBUG=+d3d9,+d3d11,+winecfg) и системный журнал.
- Попробуйте другую сборку Wine (например, Wine Staging) и сравните.
Советы по устранению:
- Обновите Mesa и Wine до последних доступных в вашем канале.
- Попробуйте другую версию ядра или свежие драйверы, если используете AMD.
- Для NVIDIA — используйте Wine Staging с проприетарными драйверами или Proton, так как Nouveau может значительно уступать по производительности.
Альтернативные подходы
- Wine Staging: дополнительная ветка Wine с экспериментальными патчами; может давать улучшения для широкого спектра игр.
- DXVK: переводит D3D10/11 в Vulkan — отлично работает для современных игр, но не для D3D9 напрямую (существуют обёртки d3d9->d3d11->Vulkan, но они сложнее).
- WINED3D: классическая реализация Direct3D поверх OpenGL — работает, но медленнее Gallium Nine.
- Proton (Valve): удобен для игр через Steam, включает DXVK и другие патчи.
Выбор зависит от целей: для старых DX9-игр Gallium Nine часто даёт лучший результат; для D3D10/11 — DXVK.
Руководства для ролей — контрольные списки
Конечный пользователь (геймер):
- Убедитесь, что у вас open-source драйвер (AMDGPU или Nouveau).
- Установите Mesa с d3d9 и подходящую сборку Wine.
- Включите Gallium Nine в winecfg.
- Проведите игровые тесты и сохраните результаты.
Системный администратор / локальный пакетный менеджер:
- Проверить наличие и безопасность PPA/AUR.
- Тестировать обновления Mesa в staging-окружении перед продакшеном.
- Документировать версии, на которых тестировали игры.
Разработчик/тестер игр:
- Собрать тестовый набор сцен с проблемными эффектами DX9.
- Сравнить визуал и производительность на Windows и с Gallium Nine.
- Фиксировать баги и условия воспроизведения.
SOP: быстрая инструкция для Ubuntu (короткая версия)
- Добавить PPA mesa-gallium-nine и заменить релиз в файлах источников на поддерживаемый.
- Добавить PPA с wine-dri3 или аналог.
- sudo apt update && sudo apt install mesa wine2.0
- Перезагрузить систему.
- Открыть winecfg -> включить Gallium Nine.
- Запустить игру и замерить FPS.
Important: всегда делайте резервные копии списка источников и проверяйте подписи пакетов.
Риски и способы смягчения
- Риск: нестабильность системы после сторонних репозиториев — Смягчение: тестировать в виртуальной машине или отдельном профиле, сохранять бэкапы /etc/apt.
- Риск: ухудшение работы других приложений с OpenGL — Смягчение: иметь возможность откатиться на стандартный пакет Mesa.
- Риск: низкая производительность на Nouveau с современными GPU NVIDIA — Смягчение: использовать проприетарные драйверы и альтернативы (Wine Staging, Proton).
Сравнение подходов (кратко)
- Gallium Nine: лучший для DX9 при использовании Mesa + AMDGPU/Nouveau; высокая производительность.
- Wine Wined3D: совместимость, но медленнее.
- DXVK: отличный выбор для D3D10/11, не для DX9 напрямую.
- Wine Staging: набор экспериментальных патчей, хорош как альтернатива.
Мини-методология тестирования производительности
- Выберите 2–3 репрезентативные сцены/уровня в игре.
- Используйте одинаковые настройки графики и разрешение.
- Запустите test 3 раза и возьмите медиану FPS.
- Сравните результаты: Gallium Nine ON vs OFF.
Краткий глоссарий
- Gallium Nine — реализация D3D9 в Mesa для Linux.
- Mesa — open-source стек графики для Linux.
- AMDGPU — open-source драйвер для современных карт AMD.
- Nouveau — open-source драйвер для карт NVIDIA.
- DXVK — преобразование D3D10/11 в Vulkan.
Заключение
Gallium Nine даёт значительное преимущество в производительности для DirectX 9-игр на Linux при правильной конфигурации Mesa и драйверов. Установка требует либо использования сторонних репозиториев, либо сборки пакетов, но результат часто оправдывает усилия. Если у вас NVIDIA с проприетарными драйверами, рассмотрите альтернативы.
Завершите установку, протестируйте несколько игр и документируйте ваши наблюдения — это поможет главным образом вам и сообществу. Помните поддерживать Mesa и Wine в актуальном состоянии для постепенных улучшений без дополнительных затрат.
Important: не забывайте о бэкапах и возможности отката изменений в системных репозиториях.
Краткая сводка в конце:
- Gallium Nine — лучший выбор для DX9 при Mesa + AMDGPU/Nouveau.
- Ubuntu: легче через PPA, но проверяйте совместимость.
- Arch: используйте AUR; Gentoo: включите d3d9 USE-флаг.
- Тестируйте и документируйте результаты.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента