Купил телек на 40'', хочу на нем запускать полноэкранные игры. в настройках драйвера выставляю его в отдельный x-screen (1).
Некоторые игры запускаются на нем, когда с него запускаешь (типа supertuxkart), при этом мой монитор гаснет, и заставить его работать можно только ребутом. Большинство игр (пробовал игры со стима) нагло стартуют в первом мониторе. в частности, все игры вальве идут только в первом. В настройках HL, например, нашел пункт на выбора монитора, но установка второго монитора в этих настройках ни на что не влияет - игра все равно запускается в первом.
пробовал запускать с параметром (не помню сейчас, как он пишется) который запускает на конкретном мониторе приложение. С любыми программами типа браузеров, плеера - все норм, с играми не-а.
Любая помощь приветствуется :)
Заранее благодарю.
На самом деле, все зависит от приложения. Как правило, перед запуском идет получение данных по мониторам, какой из них праймари (первичный) и запуск происходит на нем.
Лучший вариант, если в самом приложении предусмотрен выбор монитора.
В теории, можно попробовать написать скрипт для запуска приложения, который будет временно менять телеящик на primary (например, через xrandr).
у меня некоторые игры стартуют на том монике, с которого были запущены, но, увы, не все.
в вальвовских играх оно как бэ есть, но все равно запускается на основном.
попробуете?:)
Попробовал. Глючит. Видимо, кеды пытаются как-то перехватывать контроль за этим делом и получается плохо.
Пробовал так:
xrandr --output айди_монитора --primary
запуск программы
xrandr --output айди_другого_монитора --primary
Если честно, ставить другую DE и экспериментировать с этим - как-то лениво...
другую де как раз не надо, ибо кеды)
Сие для того, чтобы понять, в кедах дело или нет.
Попробовал тут запускать одно из своих поделий на OpenGL на непервичных мониторах.
В качестве библиотеки оконного инструментария использовалась GLFW 3, ранее для определения первичного монитора использовалась функция glfwGetPrimaryMonitor, теперь же использовал glfwGetMonitors для получения списка (массива указателей) подключенных мониторов и поочередно запускал программу, создавая полноэкранный контекст, на правом и левом мониторах (у меня три на десктопе).
Сделанные выводы:
1) Если корректно читать параметры монитора (в данном случае речь о разрешении) - запуск контекста происходит абсолютно корректно на указанном мониторе, остальные при этом не гаснут, не переинициализируются и контент на них доступен для управления мышью (можно таскать окна, работать). Идеально.
2) Если указать неродное разрешение при запуске на первичном мониторе - происходит переинициализация всего видеовывода (все мониторы гаснут, после чего включаются, на первичном меняется разрешение, на остальных - остается прежним). После закрытия программы все возвращается на круги своя тем же методом переинициализации.
3) Если указать неродное разрешение при запуске на непервичном мониторе - труба, кеды ловят глюк, все мониторы показывают черноту с попытками что-то отрисовать, но все это - зверские артефакты. Решается только перезапуском иксов.
В третьем случае - баг. Возможно, кед, а может и чего ниже. Поэтому запускаемое на ящике приложение должно быть в его родном разрешении, пробуйте настроить игру перед запуском на нужное.
Если кто-нибудь понимает ситуацию с многомониторной конфигурацией лучше - прокомментируйте.
спасибо за разъяснение. Да, примерно так все и происходит: когда игра таки запускается на втором мониторе - гаснет первый, но чаще проблема как раз в том, что игра тупо запускается на первом. И да, не всегда в игре можно проставить четко то разршение, которое есть на мониторе.. что тогда делать?
в халве ставил четко второй моник в настройках и его же разрешение - стартует сугубо в первом окне..
Ну, единственное общее и работающее во всех случаях решение в данной ситуации - программно выключать монитор, играть, затем включать обратно =)
додул заглянуть в логи. Там это
шо ему надо?:)
Да ничего ему не надо, просто ящик не поддерживает 3D Vision.
Кстати, таки попробовал на XFCE4 тот же самый эксперимент провести. Отличие от кед в том, что неродное разрешение хоть и сбивает настройку разрешения (приходится восстанавливать, после выхода из программы, через настройки XFCE), но не вешает иксы. Такие дела.
Кеды после 4.9 вообще полюбили вешать иксы =/
Точно, падать стали меньше, а виснуть чаще =)
у меня из-за ядер такое было. сейчас проблем не наблюдаю, на 3.16 и 3.17 стабильность.
Речь о неродных разрешениях в фулскрине или вообще?
вообще. когда запускал раньше игру hedgewars , мог просто зависнуть наглухо что ни одна комбинация клавиш не помогала кроме кнопки резета. иногда мог и сам по себе висануть. 1-2 раза в день такое наблюдалось. с ядра 3.15 или 3.16 проблема ушла.
Есть решение.
Неделю назад вышел драйвер Nvidia 340.46, описание тут.
Для ленивых, кусок описания:
И, действительно, теперь никакие извращения с запуском полноэкранных приложений в неродном разрешении не вешают иксы ни на праймари, ни на вторичных мониторах в KDE.
При запуске полноэкранного приложения на вторичном мониторе, допустим, в разрешении 800*600 теперь переинициализирует все мониторы, на указанном меняется разрешение, на остальных - остается прежним. После выхода из программы снова реинициализация, указанный монитор возвращается в то разрешение, в котором работал до запуска.
Я так понял, в драйвере был устранен многолетний баг =)
Сам 340.46 можно установить пакетом из репа ppa:xorg-edgers/ppa, осторожно - в данном репе могут быть нестабильные пакеты, читайте описание и блаблабла. Кстати, на момент написания данного поста, в ветке драйвера 343.22 баг еще сохранялся.
круто! Вечером попробую - отпишусь!
а как так: 340.46 бага нет, 343.22 баг есть?)
Version: 343.22
Release Date: 2014.9.18
Версия: 340.46
Опубликовано: 2014.9.30
Разницу сами заметите, или ткнуть? :-)
К тому же 343.22 мне уже не подойдет. :-(
Ыбо - [GeForce 8400 GS]
а че, у них версии стремятся к нулю?))
гмм, опять невнимательно... :-)
логично, что серия 343 начала выпускаться позже серии 340.
А циферки после точки - это обычно порядковый номер, или что то близкое к этому определению. :-)
да точки тут не причем. Насколько мне известно, 343 больше чем 340, или нет?
все, я прекращаю.
Я, видимо не смогу внятно обьяснить, что я имею в виду, и признаю, что у меня слабые педагогические возможности.
Это разные ВЕТКИ драйвера. Изменения в них могут производиться независимо друг от друга.
Есть драйвер и с тремя точками 340.23.03 (для разработчиков, чтобы начать ознакомление с OpenGL 4.5) - это тоже отдельная ветка, которую, когда-нибудь смержат с другой.
понял, спс.
короч, иксы и правда перестали вроде падать, но игры как не запускались на втором мониторе, так и не запускаются :(
Ну так выше пример скрипта же =)
Хорошо, опишу подробнее...
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
благодарю, вечером попробую. Тушить пробовал - отключаю монитор, жму apply - нифига не происходит. Да и геморно, каждый раз отключать его руками, разве что скриптом попробовать.
Скриптом и надо было =)
Выключаем монитор, запускаем игру, после выхода из игры - включаем обратно. Но это - на край, с новым драйвером временное переназначение первичного дисплея на другой монитор/ящик - работает на ура.
#!/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
попробовал также отключать монитор - эффекта ноль, все равно игра стартует на нем (только ее не видно), да и вопрос как его потом включить.. Пришлось драйвер открывать с телека и включать.
Вы издеваетесь?)
Первое. Написано же "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
я не издевюсь, просто не шарю) айдишники посмотрел в драйвере.
а вот 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
где тут какой айди?:)
кстати, Serious Sam 3: BFE и без бубна стартует на втором мониторе нормально.
а вот результаты запуска команды со телека
@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
по-моему, я таки все верно вводил ранее?
У вас что, в разные видюхи монитор и ящик воткнуты?) Возможно, монитор в nvidia, в ящик в интеловский hdmi на материнке...
Подключите оба к nvidia, тогда вывод xrandr покажет их в одном пространстве, можно будет окна перетаскивать между мониторами и назначать первичный =)
нет, одна видяха, оба воткнуты в одну, просто второй монитор подключен на отдельном x сервере. Мне надо на одном сделать? Полноэкранные окна я не могу перетащить никак =)
А зачем было на отдельном-то?) На одном все проще.
Полноэкранные и не нужно таскать, но вышеприведенное решение будет работать =)
докладаю)
видимо, с новыми дровами так стало: включил на одном х сервере оба монитора, игры (кроме вальвовских) запускаются оттуда, откуда были запущены, при этом автоматом отключается первый монитор, если игра стартанула на втором, после выхода из игры включается. Вальвоские игры типа халвы и портала - идем в настройки видео, там выбираем монитор 1 вместо монитор 0, ставим нужное резрешение - профит :)
Спасибо ребята, с помощью неравнодушных вас, и такой то матери я наслаждаюсь игрухами на 40 дюймовом монике :)
Аллилуйя! =)
сглазил))
некоторые игры упрямо не хотят запускаться по-человечески.
В частности, Metro Last Light. Скрипт по переключалке мониторов не помогает, мониторы переключаются, но игра все равно запускается на первом монике. Помогает выключение основного монитора, но непонятно, как его потом включить?
делаю так
#!/bin/bash
xrandr --output DVI-D-0 --off
steam steam://rungameid/301520
пробовал потом возвращать взад командой
xrandr --output DVI-D-0 --auto
- но он дублирует мне экраны, а надо чтоб отдельные они были)Вы man xrandr из принципа читать не хотите? =)
Например, так:
xrandr --output монитор --right-of ящик --mode разрешение_монитора
или --left-of, как удобнее...
читал, все, что смог вытащить оттуда это output auto )
работает, скажите плиз, как задать частоту обновления, а не только разрешение?
xrandr --output монитор --right-of ящик --mode разрешение_монитора --rate частота
благодарю :)
то есть, я так понимаю ответ на вопрос
ДА? Из принципа! :-)
И действительно, зачем, когда есть читатель манов MacLeod?
ой давайте не острить. Все, что я знаю в IT - я выучил самостоятельно, без этих ваших вузов и пр. Если я спрашиваю - значит я не понимаю описания. Мой уровень в линуксе недостаточно высок, чтобы понимать такие маны. У вас батхерт, чтоли? Я если не хочу отвечать - не отвечаю, MacLeod захотел и ответил, за что ему большое спасибо, и плюсы к карме.
и будьте внимательны, мой ответ на вопрос был "читал, все, что смог вытащить оттуда это output auto )".
Отлично, я тоже. более того, у меня нет вообще высшего образования. Только средняя школа, которую закончил в 1979 году.
Тем не менее, я учился, и сейчас учусь.
И кое что даже понимаю, как на мой взгляд.
А по вопросу "когда есть читатель манов" у моих знакомых есть такое выражение "Слушать чтение манов вслух dyug-ом с выражением" за 50 уе в час. :-)
P.S. Честно признаю, лучше не слушать, ибо так отвратно звучит... :-(
Не совсем понял, а кто кому доплачивает эти 50 уе в час при таких вводных? =)
тому, кто читал. :-)
В данном случае - должны тебе, за чтение мана вслух с выражением и разжевыванием :-)
Собственно за чтение - можно и один уе, а вот остальное - за разжевывание и покладание в голову.
И цену не снижать! :-)
Короч, новые драйвера ситуацию не спасли, по-прежнему, при включении/отключении второго монитора (либо командой либо через драйвер) слетают иксы..
В случае проблем с отрисовкой Alt+Shift+F12, Alt+Shift+F12.
жму Alt+Shift+F12 - черный экран
жму второй раз - ничего не происходит
жму Alt+Shift+F7 - вертает на тот же треш с отображением
У вас, случайно, данная комбинация не изменена?

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

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