Запуск полноэкранных игр на втором мониторе [Решено]

Купил телек на 40'', хочу на нем запускать полноэкранные игры. в настройках драйвера выставляю его в отдельный x-screen (1).
Некоторые игры запускаются на нем, когда с него запускаешь (типа supertuxkart), при этом мой монитор гаснет, и заставить его работать можно только ребутом. Большинство игр (пробовал игры со стима) нагло стартуют в первом мониторе. в частности, все игры вальве идут только в первом. В настройках HL, например, нашел пункт на выбора монитора, но установка второго монитора в этих настройках ни на что не влияет - игра все равно запускается в первом.

пробовал запускать с параметром (не помню сейчас, как он пишется) который запускает на конкретном мониторе приложение. С любыми программами типа браузеров, плеера - все норм, с играми не-а.

Любая помощь приветствуется :)
Заранее благодарю.

0
MacLeod - 2 Октябрь, 2014 - 20:18
Изображение пользователя MacLeod.

На самом деле, все зависит от приложения. Как правило, перед запуском идет получение данных по мониторам, какой из них праймари (первичный) и запуск происходит на нем.
Лучший вариант, если в самом приложении предусмотрен выбор монитора.
В теории, можно попробовать написать скрипт для запуска приложения, который будет временно менять телеящик на primary (например, через xrandr).

0
ozim - 3 Октябрь, 2014 - 09:46

Как правило, перед запуском идет получение данных по мониторам, какой из них праймари (первичный) и запуск происходит на нем.
у меня некоторые игры стартуют на том монике, с которого были запущены, но, увы, не все.
Лучший вариант, если в самом приложении предусмотрен выбор монитора. в вальвовских играх оно как бэ есть, но все равно запускается на основном.
В теории, можно попробовать написать скрипт для запуска приложения
попробуете?:)

0
MacLeod - 3 Октябрь, 2014 - 11:33
Изображение пользователя MacLeod.

Попробовал. Глючит. Видимо, кеды пытаются как-то перехватывать контроль за этим делом и получается плохо.
Пробовал так:
xrandr --output айди_монитора --primary
запуск программы
xrandr --output айди_другого_монитора --primary

Если честно, ставить другую DE и экспериментировать с этим - как-то лениво...

0
ozim - 3 Октябрь, 2014 - 11:43

другую де как раз не надо, ибо кеды)

+1
MacLeod - 3 Октябрь, 2014 - 13:09
Изображение пользователя MacLeod.

Сие для того, чтобы понять, в кедах дело или нет.
Попробовал тут запускать одно из своих поделий на OpenGL на непервичных мониторах.
В качестве библиотеки оконного инструментария использовалась GLFW 3, ранее для определения первичного монитора использовалась функция glfwGetPrimaryMonitor, теперь же использовал glfwGetMonitors для получения списка (массива указателей) подключенных мониторов и поочередно запускал программу, создавая полноэкранный контекст, на правом и левом мониторах (у меня три на десктопе).
Сделанные выводы:
1) Если корректно читать параметры монитора (в данном случае речь о разрешении) - запуск контекста происходит абсолютно корректно на указанном мониторе, остальные при этом не гаснут, не переинициализируются и контент на них доступен для управления мышью (можно таскать окна, работать). Идеально.
2) Если указать неродное разрешение при запуске на первичном мониторе - происходит переинициализация всего видеовывода (все мониторы гаснут, после чего включаются, на первичном меняется разрешение, на остальных - остается прежним). После закрытия программы все возвращается на круги своя тем же методом переинициализации.
3) Если указать неродное разрешение при запуске на непервичном мониторе - труба, кеды ловят глюк, все мониторы показывают черноту с попытками что-то отрисовать, но все это - зверские артефакты. Решается только перезапуском иксов.
В третьем случае - баг. Возможно, кед, а может и чего ниже. Поэтому запускаемое на ящике приложение должно быть в его родном разрешении, пробуйте настроить игру перед запуском на нужное.
Если кто-нибудь понимает ситуацию с многомониторной конфигурацией лучше - прокомментируйте.

0
ozim - 3 Октябрь, 2014 - 14:51

спасибо за разъяснение. Да, примерно так все и происходит: когда игра таки запускается на втором мониторе - гаснет первый, но чаще проблема как раз в том, что игра тупо запускается на первом. И да, не всегда в игре можно проставить четко то разршение, которое есть на мониторе.. что тогда делать?
в халве ставил четко второй моник в настройках и его же разрешение - стартует сугубо в первом окне..

0
MacLeod - 3 Октябрь, 2014 - 15:32
Изображение пользователя MacLeod.

Ну, единственное общее и работающее во всех случаях решение в данной ситуации - программно выключать монитор, играть, затем включать обратно =)

0
ozim - 4 Октябрь, 2014 - 21:12

додул заглянуть в логи. Там это
[ 2776.316] (II) NVIDIA(GPU-0): Display (SAMSUNG (DFP-0)) does not support NVIDIA 3D Vision
[ 2776.316] (II) NVIDIA(GPU-0): stereo.

шо ему надо?:)

+2
MacLeod - 4 Октябрь, 2014 - 23:57
Изображение пользователя MacLeod.

Да ничего ему не надо, просто ящик не поддерживает 3D Vision.

0
MacLeod - 5 Октябрь, 2014 - 14:36
Изображение пользователя MacLeod.

Кстати, таки попробовал на XFCE4 тот же самый эксперимент провести. Отличие от кед в том, что неродное разрешение хоть и сбивает настройку разрешения (приходится восстанавливать, после выхода из программы, через настройки XFCE), но не вешает иксы. Такие дела.

+1
DarkneSS - 6 Октябрь, 2014 - 19:46
Изображение пользователя DarkneSS.

Кеды после 4.9 вообще полюбили вешать иксы =/

0
kot040188 - 6 Октябрь, 2014 - 20:35
Изображение пользователя kot040188.

Точно, падать стали меньше, а виснуть чаще =)

0
Fogma - 7 Октябрь, 2014 - 10:10
Изображение пользователя Fogma.

у меня из-за ядер такое было. сейчас проблем не наблюдаю, на 3.16 и 3.17 стабильность.

0
MacLeod - 7 Октябрь, 2014 - 14:41
Изображение пользователя MacLeod.

Речь о неродных разрешениях в фулскрине или вообще?

0
Fogma - 9 Октябрь, 2014 - 08:39
Изображение пользователя Fogma.

вообще. когда запускал раньше игру hedgewars , мог просто зависнуть наглухо что ни одна комбинация клавиш не помогала кроме кнопки резета. иногда мог и сам по себе висануть. 1-2 раза в день такое наблюдалось. с ядра 3.15 или 3.16 проблема ушла.

+3
MacLeod - 7 Октябрь, 2014 - 19:16
Изображение пользователя MacLeod.

Есть решение.
Неделю назад вышел драйвер Nvidia 340.46, описание тут.
Для ленивых, кусок описания:
Устранена проблема OpenGL, которая могла приводить к некорректному обрезанию изображения что в операциях glReadPixels() при изменении размеров окон приложений, что потенциально ведет к мгновенной "заморозке" Х.
И, действительно, теперь никакие извращения с запуском полноэкранных приложений в неродном разрешении не вешают иксы ни на праймари, ни на вторичных мониторах в KDE.
При запуске полноэкранного приложения на вторичном мониторе, допустим, в разрешении 800*600 теперь переинициализирует все мониторы, на указанном меняется разрешение, на остальных - остается прежним. После выхода из программы снова реинициализация, указанный монитор возвращается в то разрешение, в котором работал до запуска.
Я так понял, в драйвере был устранен многолетний баг =)
Сам 340.46 можно установить пакетом из репа ppa:xorg-edgers/ppa, осторожно - в данном репе могут быть нестабильные пакеты, читайте описание и блаблабла. Кстати, на момент написания данного поста, в ветке драйвера 343.22 баг еще сохранялся.

0
ozim - 8 Октябрь, 2014 - 15:23

круто! Вечером попробую - отпишусь!

0
ozim - 8 Октябрь, 2014 - 15:24

а как так: 340.46 бага нет, 343.22 баг есть?)

0
dyug - 8 Октябрь, 2014 - 15:41

Version: 343.22
Release Date: 2014.9.18

Версия: 340.46
Опубликовано: 2014.9.30
Разницу сами заметите, или ткнуть? :-)

К тому же 343.22 мне уже не подойдет. :-(
Ыбо - [GeForce 8400 GS]

0
ozim - 8 Октябрь, 2014 - 15:51

а че, у них версии стремятся к нулю?))

0
dyug - 8 Октябрь, 2014 - 16:05

гмм, опять невнимательно... :-)
логично, что серия 343 начала выпускаться позже серии 340.
А циферки после точки - это обычно порядковый номер, или что то близкое к этому определению. :-)

0
ozim - 8 Октябрь, 2014 - 16:12

да точки тут не причем. Насколько мне известно, 343 больше чем 340, или нет?

0
dyug - 8 Октябрь, 2014 - 16:50

все, я прекращаю.
Я, видимо не смогу внятно обьяснить, что я имею в виду, и признаю, что у меня слабые педагогические возможности.

+1
MacLeod - 8 Октябрь, 2014 - 16:52
Изображение пользователя MacLeod.

Это разные ВЕТКИ драйвера. Изменения в них могут производиться независимо друг от друга.
Есть драйвер и с тремя точками 340.23.03 (для разработчиков, чтобы начать ознакомление с OpenGL 4.5) - это тоже отдельная ветка, которую, когда-нибудь смержат с другой.

0
ozim - 8 Октябрь, 2014 - 17:14

понял, спс.

0
ozim - 8 Октябрь, 2014 - 20:00

короч, иксы и правда перестали вроде падать, но игры как не запускались на втором мониторе, так и не запускаются :(

0
MacLeod - 8 Октябрь, 2014 - 21:18
Изображение пользователя MacLeod.

Ну так выше пример скрипта же =)
Хорошо, опишу подробнее...
nano game.sh
туда
#!/bin/bash
xrandr --output DVI-I-3 --primary
/home/max/Workspace/MyGame-build/MyGame
xrandr --output DVI-I-2 --primary

где DVI-I-3 и DVI-I-2 - айдишники мониторов (у вас будут другие, вместо DVI-I-3 нужно указать ящик, а вместо DVI-I-2 - монитор), а вторая строка - путь запуска игры.
Не забываем сделать скрипт исполняемым:
chmod +x game.sh
Запускаем:
./game.sh
Еще вариант, как я уже говорил, вообще тушить монитор во время игры:
xrandr --output DVI-I-2 --off

0
ozim - 9 Октябрь, 2014 - 09:38

благодарю, вечером попробую. Тушить пробовал - отключаю монитор, жму apply - нифига не происходит. Да и геморно, каждый раз отключать его руками, разве что скриптом попробовать.

0
MacLeod - 9 Октябрь, 2014 - 09:58
Изображение пользователя MacLeod.

Скриптом и надо было =)
Выключаем монитор, запускаем игру, после выхода из игры - включаем обратно. Но это - на край, с новым драйвером временное переназначение первичного дисплея на другой монитор/ящик - работает на ура.

0
ozim - 9 Октябрь, 2014 - 18:47

#!/bin/bash
xrandr --output HDMI-0 --primary
steam steam://rungameid/220
xrandr --output DVI-D-0 --primary

итог
ozim@ozim-A57A:~$ /home/ozim/.gameslinks/hl2.sh
warning: output HDMI-0 not found; ignoring
Running Steam on ubuntu 14.04 64-bit
STEAM_RUNTIME is enabled automatically

0
ozim - 9 Октябрь, 2014 - 19:12

попробовал также отключать монитор - эффекта ноль, все равно игра стартует на нем (только ее не видно), да и вопрос как его потом включить.. Пришлось драйвер открывать с телека и включать.

+2
MacLeod - 9 Октябрь, 2014 - 19:50
Изображение пользователя MacLeod.

Вы издеваетесь?)
Первое. Написано же "output HDMI-0 not found" - не смутило? Просто введите xrandr и посмотрите внимательнее айди ящика. Сейчас проверил с ноутбука подключенного к ящику по HDMI - айдишник выглядит так: "HDMI1".
Второе. В стиме все еще проще, там есть возможность подправить команду запуска. Правый тык на игру, Свойства, кнопка "УСТАНОВИТЬ ПАРАМЕТРЫ ЗАПУСКА...", туда:
xrandr --output DVI-I-3 --primary; %command%; xrandr --output DVI-I-2 --primary
Только что проверил на Serious Sam 3: BFE - запускается отдельно и на правом и на левом мониторе.
А на все вопросы по xrandr ответит:
man xrandr

0
ozim - 9 Октябрь, 2014 - 20:50

я не издевюсь, просто не шарю) айдишники посмотрел в драйвере.
а вот xrandr
Screen 0: minimum 8 x 8, current 1280 x 1024, maximum 16384 x 16384
VGA-0 disconnected primary (normal left inverted right x axis y axis)
DVI-D-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 380mm x 300mm
   1280x1024      60.0 +   75.0*
   1280x960       60.0 
   1152x864       75.0 
   1024x768       75.0     70.1     60.0 
   800x600        75.0     72.2     60.3     56.2 
   640x480        75.0     72.8     59.9 

где тут какой айди?:)

0
ozim - 9 Октябрь, 2014 - 20:51

кстати, Serious Sam 3: BFE и без бубна стартует на втором мониторе нормально.

0
ozim - 9 Октябрь, 2014 - 20:52

а вот результаты запуска команды со телека
@ozim-A57A:~$ xrandr
Screen 1: minimum 8 x 8, current 1680 x 1050, maximum 16384 x 16384
HDMI-0 connected primary 1680x1050+0+0 (normal left inverted right x axis y axis) 890mm x 500mm
   1920x1080      60.0 +   59.9     50.0     30.0     25.0     24.0     60.1     60.0     50.0 
   1680x1050      60.0*
   1600x900       60.0 
   1440x900       59.9 
   1366x768       59.8 
   1280x1024      75.0     60.0 
   1280x800       59.8 
   1280x720       60.0     59.9     50.0 
   1152x864       75.0 
   1024x768       75.0     70.1     60.0 
   800x600        75.0     72.2     60.3 
   720x576        50.0     50.1 
   720x480        59.9     60.1 
   640x480        75.0     72.8     59.9 

по-моему, я таки все верно вводил ранее?

0
MacLeod - 9 Октябрь, 2014 - 21:11
Изображение пользователя MacLeod.

У вас что, в разные видюхи монитор и ящик воткнуты?) Возможно, монитор в nvidia, в ящик в интеловский hdmi на материнке...
Подключите оба к nvidia, тогда вывод xrandr покажет их в одном пространстве, можно будет окна перетаскивать между мониторами и назначать первичный =)

0
ozim - 10 Октябрь, 2014 - 11:54

нет, одна видяха, оба воткнуты в одну, просто второй монитор подключен на отдельном x сервере. Мне надо на одном сделать? Полноэкранные окна я не могу перетащить никак =)

+3
MacLeod - 10 Октябрь, 2014 - 12:00
Изображение пользователя MacLeod.

А зачем было на отдельном-то?) На одном все проще.
Полноэкранные и не нужно таскать, но вышеприведенное решение будет работать =)

+1
ozim - 10 Октябрь, 2014 - 22:19

докладаю)
видимо, с новыми дровами так стало: включил на одном х сервере оба монитора, игры (кроме вальвовских) запускаются оттуда, откуда были запущены, при этом автоматом отключается первый монитор, если игра стартанула на втором, после выхода из игры включается. Вальвоские игры типа халвы и портала - идем в настройки видео, там выбираем монитор 1 вместо монитор 0, ставим нужное резрешение - профит :)

Спасибо ребята, с помощью неравнодушных вас, и такой то матери я наслаждаюсь игрухами на 40 дюймовом монике :)

0
MacLeod - 10 Октябрь, 2014 - 22:46
Изображение пользователя MacLeod.

Аллилуйя! =)

0
ozim - 10 Октябрь, 2014 - 22:43

сглазил))
некоторые игры упрямо не хотят запускаться по-человечески.
В частности, Metro Last Light. Скрипт по переключалке мониторов не помогает, мониторы переключаются, но игра все равно запускается на первом монике. Помогает выключение основного монитора, но непонятно, как его потом включить?
делаю так
#!/bin/bash
xrandr --output DVI-D-0 --off
steam steam://rungameid/301520

пробовал потом возвращать взад командой xrandr --output DVI-D-0 --auto - но он дублирует мне экраны, а надо чтоб отдельные они были)

0
MacLeod - 10 Октябрь, 2014 - 23:06
Изображение пользователя MacLeod.

Вы man xrandr из принципа читать не хотите? =)
Например, так:
xrandr --output монитор --right-of ящик --mode разрешение_монитора
или --left-of, как удобнее...

0
ozim - 11 Октябрь, 2014 - 11:29

читал, все, что смог вытащить оттуда это output auto )
работает, скажите плиз, как задать частоту обновления, а не только разрешение?

+1
MacLeod - 11 Октябрь, 2014 - 14:07
Изображение пользователя MacLeod.

xrandr --output монитор --right-of ящик --mode разрешение_монитора --rate частота

0
ozim - 11 Октябрь, 2014 - 16:57

благодарю :)

0
dyug - 12 Октябрь, 2014 - 16:15

то есть, я так понимаю ответ на вопрос Вы man xrandr из принципа читать не хотите?

ДА? Из принципа! :-)
И действительно, зачем, когда есть читатель манов MacLeod?

+1
ozim - 12 Октябрь, 2014 - 19:50

ой давайте не острить. Все, что я знаю в IT - я выучил самостоятельно, без этих ваших вузов и пр. Если я спрашиваю - значит я не понимаю описания. Мой уровень в линуксе недостаточно высок, чтобы понимать такие маны. У вас батхерт, чтоли? Я если не хочу отвечать - не отвечаю, MacLeod захотел и ответил, за что ему большое спасибо, и плюсы к карме.
и будьте внимательны, мой ответ на вопрос был "читал, все, что смог вытащить оттуда это output auto )".

+2
dyug - 13 Октябрь, 2014 - 10:09

Все, что я знаю в IT - я выучил самостоятельно, без этих ваших вузов

Отлично, я тоже. более того, у меня нет вообще высшего образования. Только средняя школа, которую закончил в 1979 году.

Тем не менее, я учился, и сейчас учусь.
И кое что даже понимаю, как на мой взгляд.

А по вопросу "когда есть читатель манов" у моих знакомых есть такое выражение "Слушать чтение манов вслух dyug-ом с выражением" за 50 уе в час. :-)

P.S. Честно признаю, лучше не слушать, ибо так отвратно звучит... :-(

+2
MacLeod - 13 Октябрь, 2014 - 15:35
Изображение пользователя MacLeod.

Не совсем понял, а кто кому доплачивает эти 50 уе в час при таких вводных? =)

0
dyug - 14 Октябрь, 2014 - 11:15

тому, кто читал. :-)
В данном случае - должны тебе, за чтение мана вслух с выражением и разжевыванием :-)

Собственно за чтение - можно и один уе, а вот остальное - за разжевывание и покладание в голову.
И цену не снижать! :-)

0
ozim - 31 Октябрь, 2014 - 14:52

Короч, новые драйвера ситуацию не спасли, по-прежнему, при включении/отключении второго монитора (либо командой либо через драйвер) слетают иксы..

+1
MacLeod - 1 Ноябрь, 2014 - 05:50
Изображение пользователя MacLeod.

В случае проблем с отрисовкой Alt+Shift+F12, Alt+Shift+F12.

0
ozim - 1 Ноябрь, 2014 - 14:21

жму Alt+Shift+F12 - черный экран
жму второй раз - ничего не происходит
жму Alt+Shift+F7 - вертает на тот же треш с отображением

+1
MacLeod - 1 Ноябрь, 2014 - 18:24
Изображение пользователя MacLeod.

У вас, случайно, данная комбинация не изменена?

У меня так на новых дровах черный экран бывает крайне редко и успешно снимается отключением/включением эффектов.

0
ozim - 1 Ноябрь, 2014 - 19:16

аа, я не досмотрел) жал альт контрол ф12)) и правда, отключение эффектов спасает! Премного благодарен!
правда у меня почему-то альт шифт ф12 не работало, переделал на альт ф12
когда пытаюсь назначить альт шифт и что то - получаю вот такое

сегодня поставил новую клаву беспроводную, может на ней не понимается что-то?

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры