24.04.2024

Игры на вяленом без Xwayland

Частенько на своей печке играю, решил поглядеть, как дела с запуском игорей нативно без XWayland.
DE: GNOME 45.
Собственно, игры:

  • Minecraft (glfw);
  • Red Dead Redemption 2 (wine);
  • freegish (SDL2).

Всё запущено без иксов, как видно в выводе xlsclients. Зачем – вопрос сложный, так-то и с иксами работает не хуже. А то и лучше, т.к. в Wayland нет возможности установить кастом иконку окна без .desktop файла. Пока.

В Wine и SDL2 играх проблем не заметил – всё играется, курсор из окна не убегает. SDL2 ещё и libdecor поддерживает нормально искоропки, так что в гномовском композиторе заголовки у таких игр нормальные. glfw его тоже поддерживает, но работает кривовато из-за VulkanMod. А без него завести Minecraft нативно ещё-то приключение. Но, как проверял давно, связка работала неплохо. (потом только в 1.17 отломали).

Окно в glfw ресайзится кривовато, баг в реализации CSD и в нормальных композиторах (Kwin/wlroots) не проявляется.

Из других игорей ещё проверял Cyberpunk 2077, работает так же отлично. Конкретно wine-wayland – win, хотя есть проблемы с контекстным меню и сворачиванием. В играх оно, естественно, не нужно и не проявляется.

P.S. Вообще, изначально ждал wine-wayland из-за неприятного бага с зависанием игр на RAGE при любом вводе. Но в итоге в winex11 его тоже починили, хотя изначально думал, что вот она, победа wayland.

Завести несложно:
SDL2 — SDL_VIDEODRIVER=wayland (можно добавить в /etc/environment, но не советую).
wine (9.0+) — wine regedit -> HKCU\Software\Wine\Drivers\Graphics установить в значение wayland,x11.
Minecraft (как в других играх с GLFW не представляю) — поставить VulkanMod, игра запустится с wayland автоматически. Был способ завести без него, но работает ли он — не знаю. У меня игра просто игнорирует существование внешнего libglfw с включённым wayland.

Как я уже написал, смысла от такого не особо много. Но оно работает.

P.S. Пока писал, ничего в фоне не вылетело. Вдруг кому интересно.

Железо видно на самом скриншоте, разве что видеокарта — RX 580, но с прошивкой от 470. Потому что я ниосилил нормально андервольтнуть видеокарту, проще стало потерять 4% фпс путём «даунгрейда». Заодно потребление упало, и кулеры почти не слышно.

>>> Просмотр (1920×1080, 2374 Kb)

 , ,

Источник.