Запуск игр в полноэкранном режиме на Linux с двумя мониторами

Почему возникают проблемы с полноэкранным режимом на двух мониторах
На Linux есть несколько графических стеков и композиторов. Каждый из них по‑разному обрабатывает полноэкранные запросы приложений:
- X11 часто ведёт себя как единое большое полотно. Это приводит к растяжению игры, смене режима отображения для всех мониторов и потерям фокуса при пересечении курсором границы экрана.
- Wayland лучше изолирует приложения, корректно обрабатывает эксклюзивный полноэкран и редко допускает утечку фокуса между мониторами.
- Композиторы (KWin, Mutter и др.) имеют настройки, которые влияют на перфоманс, переключение режимов и поведение Alt+Tab.
Коротко: поведение зависит от сессии, композитора и настроек игры/пресетов запуска.
Определите тип сессии (Wayland или X11)
Откройте терминал и введите:
echo $XDG_SESSION_TYPEЕсли вывод x11, вы используете старую систему. Если wayland, — современную. На большинстве дистрибутивов переключение выполняется на экране входа: выйдите из сессии, нажмите значок шестерёнки и выберите Wayland (или Plasma на Wayland для KDE).
Важно: переход на Wayland иногда требует перезагрузки драйверов и обновления некоторых приложений.
Правильная настройка основного монитора
Многие проблемы решаются простым указанием, какой дисплей считать основным. Сделать это можно через настройки рабочего стола:
- KDE: Системные настройки → Дисплеи, выбрать монитор и отметить как основной.
- GNOME: Настройки → Дисплеи, выбрать основной экран.
Перезапустите игру после изменения. Также попробуйте запустить Steam или лаунчер прямо на нужном мониторе — многие игры наследуют позицию родительского процесса.
Режим без рамки как практическое решение
Режим Borderless Windowed (без рамки) — частый рабочий вариант. Современные композиторы вносят минимальную просадку в производительность, но дают стабильность:
- В настройках игры выберите Display Mode → Borderless Windowed.
- Установите разрешение под родное разрешение монитора.
- Убедитесь, что монитор отмечен как основной.
Преимущества: нет смены видеорежима, второй монитор остаётся активным, Alt+Tab работает предсказуемо.
Когда это не подходит: если игра требует эксклюзивного полноэкранного доступа для минимальной задержки ввода или для работы специфичных драйверных оптимизаций.
Gamescope — лёгкий микрокомпозитор
Gamescope разработан Valve и используется в Steam Deck. Он создаёт контролируемую среду для игры: блокирует мышь, принудительно задаёт разрешение и частоту обновления, решает проблемы с фокусом и предотвращает графические артефакты.
Установка в популярных дистрибутивах:
- Arch/Manjaro и производные:
sudo pacman -S gamescope- Fedora:
sudo dnf install gamescopeЕсли в репозиториях нет свежей версии, соберите из официального GitHub.
Пример строки запуска в опциях Steam (Launch Options):
gamescope -f -w 2560 -h 1440 -r 144 -- %command%Пояснения флагов:
-f— принудительный полноэкранный режим-wи-h— ширина и высота виртуального буфера-r— частота обновления
Настройте значения под ваше железо. Gamescope изолирует игру и не даёт ей «убегать» на второй монитор.
Примечание: некоторые лаунчеры уже умеют автоматически включать Gamescope — см. раздел про Heroic.
Полезные параметры и пресеты
Ниже — список переменных и флагов, которые стоит пробовать (без выдуманных значений — используйте собственные разрешения и частоты):
- SDL_VIDEO_FULLSCREEN_DISPLAY — указывает SDL‑играм индекс дисплея для полноэкранного режима. Пример:
SDL_VIDEO_FULLSCREEN_DISPLAY=0 %command%. - Vulkan переменные окружения — зависят от драйвера; их лучше пробовать при целевых проблемах с API.
- Gamescope флаги — см. документацию пакета в репозитории дистрибутива.
Чек‑лист пресета (пример для 27” 1440p 144Hz + второй 1080p):
- Gamescope запуск:
gamescope -f -w 2560 -h 1440 -r 144 -- %command% - Steam Launch Options:
SDL_VIDEO_FULLSCREEN_DISPLAY=0 %command% - Проверить: основной монитор — 2560x1440 @144Hz
Настройки для Steam, Lutris и Heroic
Steam:
- Правой кнопкой мыши по игре → Свойства → Общие → Launch Options.
- Добавьте переменные окружения, например:
SDL_VIDEO_FULLSCREEN_DISPLAY=0 %command%Если игра стартует на неправильном экране — попробуйте менять индекс 0 на 1, 2 и т.д.
Попробуйте переключиться на другую версию Proton (Compatibility → использовать Proton Experimental или другую версию). Иногда баги относятся к конкретной версии Proton.
Lutris:
- Правый клик по игре → Configure → Runner options.
- Включите Windowed (Virtual Desktop) и задайте разрешение, соответствующее основному монитору.
Это создаёт виртуальный рабочий стол в одном окне, и игра остаётся в нём, не вмешиваясь в второй монитор.
Heroic:
Heroic позволяет в настройках Wine/Proton включить Gamescope простым переключателем. Это удобно для тех, кто не хочет прописывать ручные опции.


Управление дисплеями через XRandR
Если вы остаетесь на X11 и хотите полный контроль, используйте xrandr. Сначала определите имена дисплеев:
xrandrПримеры команд:
- Отключить вторичный монитор перед запуском игры:
xrandr --output HDMI-1 --off- Включить обратно после игры:
xrandr --output HDMI-1 --autoЭто грубое, но гарантированное решение: игра получает один активный дисплей и работает в нативном полноэкранном режиме.
KWin и Mutter предлагают опции типа “unredirect fullscreen windows”. Их включение может повысить производительность для полноэкранных приложений.
Продвинутые приёмы и альтернативы
- Создать виртуальный супер‑размер монитора через XRandR (panning / –fb) — для объединения разрешений. Это требует аккуратной настройки и не всегда даёт ожидаемый результат.
- Nvidia TwinView — устаревший термин, в новых драйверах аналогичные функции управляются через панели Nvidia или nvidia-settings. Для проприетарных драйверов возможны свои нюансы.
- Если игра критична к задержкам, тестируйте на эксклюзивном полноэкранном режиме в X11 и на Wayland с поддержкой exclusive fullscreen.
Быстрые тесты и мини‑методология
План тестирования, который помогает быстро диагностировать проблему:
- Проверка сессии:
echo $XDG_SESSION_TYPE. - Установить основной монитор в настройках окружения рабочего стола.
- Запустить игру в Borderless Windowed и оценить поведение курсора и Alt+Tab.
- Включить/отключить вторичный монитор через xrandr и повторить тест.
- Запустить через Gamescope с корректными флагами.
- Попробовать альтернативную версию Proton или режим совместимости.
- Зафиксировать воспроизводимость: шаги, лог, время, поведение.
Критерии приёмки
- Игра открывается и остаётся на целевом мониторе в полноэкранном или безрамочном режиме.
- Курсор не уходит на второй монитор, если это не требуется.
- Второй монитор остаётся доступным для вспомогательных задач (чат, браузер), если это нужно.
Ролевые чек‑листы
Для игрока:
- Убедиться, что основной монитор выбран в настройках окружения.
- Попробовать Borderless Windowed.
- Если не помогло — запустить с Gamescope или временно отключить второй монитор.
Для сисадмина / энтузиаста:
- Проверить версии драйверов и пакет Gamescope.
- Просмотреть журналы (journalctl, Xorg.log) после воспроизведения бага.
- Проверить переменные окружения Proton/Wine.
Для стримера:
- Тестировать захват экрана при включённом и выключенном втором мониторе.
- Использовать виртуальные десктопы Lutris или OBS с указанием конкретного окна.
Когда методы не работают — типичные случаи
- Проприетарный драйвер имеет баги с конкретной версией ядра или X сервером.
- Игра использует нестандартный движок или собственный полноэкранный механизм, игнорирующий SDL/Vulkan переменные.
- Драйверы для Wayland/GBM ещё не полностью стабильны с Вашим железом.
В таких случаях приходится комбинировать методы: отключать монитор через xrandr, запускать Gamescope и подбирать версию Proton.
Таблица совместимости и советы по миграции
- Wayland: хорошая поддержка у современных дистрибутивов (Fedora, Ubuntu). Лучше для изоляции полноэкранных приложений.
- X11: широкая совместимость, но возможны артефакты при нескольких мониторах.
- Gamescope: совместим с большинством игр через Steam/Lutris/Heroic и легко интегрируется в опции запуска.
Совет по миграции: сначала протестируйте ключевые игры на Wayland в новой сессии, не удаляя старую. Если критичных багов нет — переносите на постоянной основе.
Отладка: что записывать
- Точный вывод
xrandrиecho $XDG_SESSION_TYPE. - Логи Steam/Proton, если используется Proton (файлы внутри ~/.steam или ~/.local/share/Steam/steamapps/compatdata).
- Журналы системы
journalctl -bи, при X11,/var/log/Xorg.0.log.
Набор полезных сниппетов и пресетов
Steam Launch Options для SDL‑игр на первом мониторе:
SDL_VIDEO_FULLSCREEN_DISPLAY=0 %command%Gamescope пресет для 1080p 240Hz:
gamescope -f -w 1920 -h 1080 -r 240 -- %command%Временное отключение второго монитора через xrandr:
xrandr --output HDMI-1 --off
# запуск игры
xrandr --output HDMI-1 --autoКраткий глоссарий
- Wayland — современный протокол для дисплеев на Linux, изолирует приложения лучше, чем X11.
- X11 — старый, но широко используемый протокол отображения.
- Gamescope — микрокомпозитор от Valve для изоляции игр и контроля разрешения/частоты.
- SDL — библиотека для работы с графикой/вводом, используемая многими кроссплатформенными играми.
- Proton — совместимость Wine/Valve для запуска Windows‑игр в Steam на Linux.
Быстрый план действий для типичной проблемы
- Узнать сессию:
echo $XDG_SESSION_TYPE. - Установить основной монитор в настройках рабочего стола.
- Попробовать Borderless Windowed.
- Если не помогло — запустить через Gamescope с подходящими флагами.
- На X11: временно отключить второй монитор через xrandr.
- Протестировать разные версии Proton/Wine.
Важно: всегда делайте маленькие шаги и фиксируйте, какой из них решил проблему. Это экономит время и помогает при дальнейшей настройке.
Итог
С двумя мониторами на Linux у вас есть несколько рабочих стратегий: перейти на Wayland для лучшей изоляции, использовать Borderless Windowed для плавной работы, применять Gamescope для строгого контроля или управлять дисплеями вручную через xrandr. Для большинства пользователей комбинация корректной настройки основного монитора и использования Gamescope или режима без рамки решает большинство задач. Если что‑то всё ещё не работает, примените пошаговый план тестирования и запишите логи — это поможет быстрее найти причину и применить обходной путь.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента