LINUX.ORG.RU

Два монитора и Steam игры

 , ,


1

1

Снова здравствуй, ЛОР (и Димецу тоже пламенный привет!) Ситуация следущая.

Есть два монитора (по факту монитор и проектор, но не суть), как Primary, естественно, задан монитор (режим 3840x2160@144Hz), ну и Secondary проектор с режимом 2560x1440@90Hz. А ещё есть GNOME и Wayland.

Задачка: как бы автоматически задать проектор как Primary, запустить steam в big picture mode (это знаю как сделать, steam -gamepadui), а после завершения работы Steam — вернуть всё как было?

Нагуглил утилиту gnome-monitor-config, собрал, но ничерта непонятно. При попытке что-то сделать по подобию примера в README оно падает.

ann@undercity ~ » gnome-monitor-config  set -Lp -M DP-1 -L -M HDMI-1
:::: ../src/gmc-display-config.c:691 cc_display_logical_monitor_config_add_monitor() - 
:::: ../src/gmc-display-config.c:691 cc_display_logical_monitor_config_add_monitor() - 
Logical monitor [ 3840x2160+0+0 ], PRIMARY, scale = 1
  Monitor [ DP-1 ] 3840x2160@119.994
Logical monitor [ 3840x2160+0+0 ], scale = 1
  Monitor [ HDMI-1 ] 3840x2160@60
[(0, 0, 1.0, uint32 0, true, [('DP-1', '3840x2160@143.982', @a{sv} {})]), (0, 0, 1.0, 0, false, [('HDMI-1', '3840x2160@60.000', {})])]
Failed to set configuration: GDBus.Error:org.freedesktop.DBus.Error.InvalidArgs: Logical monitors not adjacent

ЛОР поможет мне?

ЛОР поможет мне?

сам себе не поможешь – никто не поможет, да.
решение:

#!/bin/sh

# firstly, set projector as main display
gnome-monitor-config set -Lp -M HDMI-1 -m '2560x1440@89.924' -L -M DP-1 -m '3840x2160@143.982' -x 2560

# then, run steam in game mode
steam -gamepadui

# after exit, restore normal display configuration
gnome-monitor-config set -Lp -M DP-1 -m '3840x2160@119.994' -L -M HDMI-1 -m '2560x1440@143.982' -x 3840
annerleen_temp
() автор топика

Могу посоветовать использовать gamescope. Помимо решения этой проблемы, в нём ещё и производительность повышается значимо (по крайней мере на моём железе так) в сравнении с голыми иксами или вяленым, плюс он позволяет другие фишки, такие как принудительное включение FSR в играх, которые его официально не поддерживают, и т.п.

CrX ★★★
()
Ответ на: комментарий от CrX

Могу посоветовать использовать gamescope.

Прикольно. Ты просто запускаешь его из под DE/WM как вложенный композитор? Игрался с gamescope в вяленой плазме полгода назад, но получал только просадки фпс.

archie
()
Ответ на: комментарий от cobold

В X11 у тебя частота обоих мониторов будет зафиксирована на меньшей из частот мониторов, т.е. на 90. Короче это вредный совет

да я знаю, это единственная причина для меня использовать вяленый.
а по факту, приходится мириться с какими-то странными приколами, вроде «падение WM = падение всей сессии», в 2024 году. ну такое.

//ann

anonymous
()
Ответ на: комментарий от archie

Ты просто запускаешь его из под DE/WM как вложенный композитор?

Из-под Sway, да.

Игрался с gamescope в вяленой плазме полгода назад, но получал только просадки фпс.

У меня получилось так, что если его запускать из иксов, то он даёт просадки. А если из под вяленого, то буст. Тестил на разных играх, где есть встроенный бенчмарк (для удобства и объективности). Получилось по производительности вот так от худшего фпс у лучшему: gamescope, запущенный в иксах < wayland < иксы < gamescope, запущенный в wayland.

CrX ★★★
()
Ответ на: комментарий от CrX

У меня в gamescope под вяленым просадки фпс, причём, картинка кратковременно замирает. Но основная проблема - при зажатой правой кнопке мыши персонаж в игре начинает вертеться как пропеллер. Под X просадок вроде нет, но проблема с управлением остаётся, и чё с этим делать у меня идей нет.

anonymous
()
Ответ на: комментарий от mittorn

Как вы это делаете? Почему у меня частота всегда правильная?

потому что у твоих мониторов одинаковая частота обновления?
если бы у меня был проектор с 144Hz, я бы использовал иксы и не знал бед.

но у меня монитор с 144Hz и проектор с 90Hz, поэтому используется наибольшая общая доступная частота обновления, то есть 60Hz, потому что у монитор не умеет в 90 (только 144, 120, 100 и 60)

//ann

anonymous
()
Ответ на: комментарий от anonymous

Ну… Я с таким не сталкивался, но для начала можно проверить, что будет если не под флатпаком. Если проблема остаётся, значит флатпак ни при чём — одним элементом для проверки меньше. Если исправляется, значит дело в нём, и становится понятно куда копать (или просто юзать без флатпака).

CrX ★★★
()
Ответ на: комментарий от CrX

Под системным gamescope всё нормально с управлением и нет просадок фпс. Но, вообще, какая-то мистика творится. Изначально стоял debian stable, в котором во флатпаке всё нормально работало. После покупки 7800xt оказалось, что для её беспроблемной работы нужны новые фирмварь, меса и ядро.

Если ядро можно взять из backports, а фирмварь вытянуть из гита, потому что даже в сид она старая и не поддерживает видяху, то с месой - засада. Переезжать на тестинг я не захотел, поэтому поставил параллельно бету 24.04. В самой системе видяха заработала из коробки, но во флатпаке появилась трабла с управлением и просадка фпс.

В конечном итоге я перекатился на бету 24.04,а она взяла и развалилась из-за битых зависимостей. Плюс из неё выкинули gamescope, выплыла эпопея с xz, соответственно, установочные образы оказались не доступны и я поставил заново debian stable.

И теперь в нём во флатпаке проявилась эта трабла с управлением. Если я зыпускаю steam из флатпака, то с управлением в играх всё нормально, но он не может использовать gamescope. А вот если во флатпаке запускать игру не из стима в gamescope, то проявляются просадки фпс и беда с мышью. Системный steam работает с gamescope нормально, но из-за старой месы в играх проявляются артефакты изображения.

anonymous
()
Ответ на: комментарий от CrX

Получилось по производительности вот так от худшего фпс у лучшему: gamescope, запущенный в иксах < wayland < иксы < gamescope, запущенный в wayland.

Спасибо. Потестил пару игр в шестой плазме с Wayland и Gamescope. Работает существенно лучше, чем было раньше в пятой плазме. Просадок фпс не заметил, более того с Gamescope фпс более стабильный и плавный, чем без него. Загрузка GPU правда подросла где-то на 10%, но это не критично. Думаю все игры запускать теперь через Gamescope.

Еще заметил странный баг с MangoHud. Если его использовать совместно с Gamescope, то при каждом запуске он показывает фпс все меньше и меньше, хотя реально он стабильно 60. При выходе вайн подвисает на некоторое время и оставляет зомби процессы типа wineserver и иже с ним. Без MangoHud все работает нормально.

archie
()
Ответ на: комментарий от archie

Еще заметил странный баг с MangoHud.

UPD: Разобрался. MangoHud не убивается при завершении игры, а остается висеть в списке процессов. Чем больше процессов MangoHud запущено, тем меньше фпс показывает каждый новый процесс. Надо прибивать их руками или из однострочника на баше.

archie
()
Ответ на: комментарий от CrX

Ого, раньше флага --mangoapp в Gamescope не было, приходилось костылить запуск Mangoapp отдельно. Попробовал этот флаг в Gamescope 3.14.3 из арчевских реп - все равно процесс mangoapp остается висеть после выхода из игры. Баг уже зарепортили. Cобрал распоследний gamescope-git из AUR и все заработало нормально. Видимо Gamescope починили буквально на днях в последних коммитах.

archie
()