HOW-TO: Ускорение игр под X Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
fullcircle:25:ускорение_игр_под_х [2010/05/06 19:47]
fullcircle:25:ускорение_игр_под_х [2011/11/27 13:51] (текущий)
[Ссылки]
Строка 1: Строка 1:
-====== HOW-TO Ускорение игр под X ======+====== HOW-TOУскорение игр под X ======
  
 <style right> <style right>
Строка 12: Строка 12:
 <​code>​ <​code>​
 sudo nano /​etc/​X11/​Xwrapper.config sudo nano /​etc/​X11/​Xwrapper.config
- 
-nano – это простой текстовый редактор,​ работающий в консоли. 
 </​code>​ </​code>​
 +**nano** – это простой текстовый редактор,​ работающий в консоли.
 +
    
 Чтобы узнать больше о **/​etc/​X11/​Xwrapper.config**,​ откройте консоль и выполните:​ Чтобы узнать больше о **/​etc/​X11/​Xwrapper.config**,​ откройте консоль и выполните:​
 <​code>​ <​code>​
 man Xwrapper.config man Xwrapper.config
-<​code>​+</code> 
 + 
 +Открыв **Xwrapper.config**,​ найдите строку **«allowed_users=console»** и измените ее на **«allowed_users=anybody»**. Чтобы сохранить изменения,​ нажмите **Ctrl+X**; nano спросит,​ действительно ли вы хотите сохранить внесённые изменения,​ нажмите Y, далее редактор выведет имя файла, в который будет сохранён текст, в этой строке просто нажмите **Enter** – мы же хотим заменить старый файл. 
 + 
 +Теперь мы можем запускать дополнительные Х-серверы из-под уже работающего X-сервера,​ но для этого не помешает перезапустить уже запущенный сервер. Я не уверен,​ что этот шаг необходим,​ но он не повредит. После перезапуска сервера настроим игры для запуска в отдельном сеансе. Сначала убедитесь,​ что игры запускаются не в «виртуальном рабочем столе»:​ запустите winecfg или откройте ​
  
-Открыв Xwrapper.config,​ найдите строку «allowed_users=console» и измените ее на «allowed_users=anybody». Чтобы сохранить изменения,​ нажмите Ctrl+X; nano спросит,​ действительно ли вы хотите сохранить внесённые изменения,​ нажмите Y, далее редактор выведет имя файла, в который будет сохранён текст, в этой строке просто нажмите Enter – мы же хотим заменить старый файл.+**Программы ​— Wine — Configure Wine.**
  
-Теперь мы можем запускать дополнительные Х-серверы из-под уже работающего X-сервера,​ но для этого не помешает перезапустить уже запущенный сервер. Я не уверен,​ что этот шаг необходим,​ но он не повредит. После перезапуска сервера настроим игры для запуска в отдельном сеансе. Сначала убедитесь,​ что игры запускаются не в «виртуальном рабочем столе»:​ запустите winecfg или откройте Программы — Wine — Configure Wine. Если на закладке «Приложения» упомянут EXE-файл вашей игры, щелкните по нему и откройте закладку «Графика»,​ там не должно быть галочки в пункте «Эмулировать виртуальный рабочий стол». Если она там есть, то игра будет запущена в верхнем правом углу монитора,​ а это совсем не то, что нам нужно.+Если на закладке «Приложения» упомянут ​**EXE-файл** вашей игры, щелкните по нему и откройте закладку «Графика»,​ там не должно быть галочки в пункте «Эмулировать виртуальный рабочий стол». Если она там есть, то игра будет запущена в верхнем правом углу монитора,​ а это совсем не то, что нам нужно.
  
 После этого я написал несколько сценариев для запуска нужных мне игр в отдельном сеансе. То есть я могу запустить их как в основном,​ так и в отдельном Х-сервере. Если вы не знаете,​ как писать сценарии оболочки,​ вот пример (для игры StarCraft и пользователя cherva. Не забудьте исправить параметры под свою обстановку):​ После этого я написал несколько сценариев для запуска нужных мне игр в отдельном сеансе. То есть я могу запустить их как в основном,​ так и в отдельном Х-сервере. Если вы не знаете,​ как писать сценарии оболочки,​ вот пример (для игры StarCraft и пользователя cherva. Не забудьте исправить параметры под свою обстановку):​
  
 Откройте текстовый редактор,​ например GEdit для GNOME или KWrite для KDE, и наберите:​ Откройте текстовый редактор,​ например GEdit для GNOME или KWrite для KDE, и наберите:​
 +<​code>​
 #!/bin/bash #!/bin/bash
-X :2 -ac -terminate -config only_one_monitor.conf & +X :2 -ac -terminate -config only_one_monitor.conf & sleep 2
- +
-sleep 2+
 DISPLAY=:2 nice -20 env WINEPREFIX="/​home/​cherva/​.wine"​ wine "​C:​\Games\Starcraft\Starcraft.exe" ​ DISPLAY=:2 nice -20 env WINEPREFIX="/​home/​cherva/​.wine"​ wine "​C:​\Games\Starcraft\Starcraft.exe" ​
 +</​code>​
 +**Х** — это команда запуска нового сеанса Х-сервера.
  
-Х — это команда запуска нового сеанса ​Х-сервера.+**-ac** ​— запрещает контроль ​доступа на уровне узлов, разрешая доступ с любого ​узла и позволяя любому узлу изменять ​список управления доступом. Используйте очень осторожно! Этот параметр обычно используется для проведения дистанционного тестирования.
  
--ac — запрещает ​контроль доступа на уровне узлов, ​разрешая доступ с любого узла ​и позволяя любому узлу изменять список управления ​доступом. Используйте очень осторожно! Этот параметр обычно используется для ​проведения дистанционного тестирования.+**-terminate** ​— заставляет сервер отключиться после завершения ​запущенной в нем программы.
  
--terminate — заставляет сервер отключиться после завершения запущенной в нем программы. +**-config** — использовать отдельный файл конфигурации для Х-сервера (помните проблемы с прокруткой в StarCraft?​). Файл only_one_monitor.conf — по сути тот же самый /​etc/​X11/​xorg.conf,​ из которого удалены настройки для второго монитора,​ так что мышка, подведённая к краю монитора,​ останется в пределах этого монитора,​ и игровое поле StarCraft будет прокручиваться. Остальные подробности можно прочесть по адресу:​ http://​linux.die.net/​man/​1/​xserver
- +
--config — использовать отдельный файл конфигурации для Х-сервера (помните проблемы с прокруткой в StarCraft?​). Файл only_one_monitor.conf — по сути тот же самый /​etc/​X11/​xorg.conf,​ из которого удалены настройки для второго монитора,​ так что мышка, подведённая к краю монитора,​ останется в пределах этого монитора,​ и игровое поле StarCraft будет прокручиваться. Остальные подробности можно прочесть по адресу:​ http://​linux.die.net/​man/​1/​xserver+
  
 Далее команда sleep 2 задерживает выполнение сценария на 2 секунды,​ чтобы дать новому Х-серверу достаточно времени для запуска. Далее команда sleep 2 задерживает выполнение сценария на 2 секунды,​ чтобы дать новому Х-серверу достаточно времени для запуска.
  
-DISPLAY=:2 — запустить следующую команду в нашем новом Х-сервере,​ а не в основном.+**DISPLAY=:2** — запустить следующую команду в нашем новом Х-сервере,​ а не в основном.
  
-nice -20 — запустить процесс с наивысшим приоритетом (для большей производительности),​ далее указан запускаемый процесс:​ обычная команда,​ которую Wine формирует при создании ярлыка для программы в меню или на рабочем столе.+**nice -20** — запустить процесс с наивысшим приоритетом (для большей производительности),​ далее указан запускаемый процесс:​ обычная команда,​ которую Wine формирует при создании ярлыка для программы в меню или на рабочем столе.
  
-env WINEPREFIX — каталог настроек wine.+**env WINEPREFIX** — каталог настроек wine.
  
-wine — собственно команда запуска эмулятора Wine. "​C:​\Games\Starcraft\Starcraft.exe"​ — запускаемая игра.+**wine** — собственно команда запуска эмулятора Wine. "​C:​\Games\Starcraft\Starcraft.exe"​ — запускаемая игра.
  
-Набрав сценарий,​ сохраните его в какой-нибудь каталог. Затем откройте этот каталог в файловом менеджере (Nautilus или еще каком). Найдите сохранённый файл: нам надо сделать его исполняемым,​ для чего щёлкните по нему правой кнопкой мышки и выберите «Свойства». Перейдите на вкладку «Права» и поставьте галочку в строке «Позволять выполнение файла как программы». Закройте окно «Свойства» и откройте сценарий двойным щелчком. На Ubuntu вам будет предложено выбрать желаемое действие:​ «Запустить в терминале / Показать / Отменить / Запустить». Выбирайте «Запустить» и наслаждайтесь FPS >20, прокруткой в стратегиях и отсутствием проблем с переключением между окнами. Если вам понадобится вернуться в изначальный Х-сервер,​ нажмите Ctrl+Alt+F7,​ а оттуда в игру — Ctrl+Alt+F9 (или иногда — Ctrl+Alt+F8). Имейте в виду: я не бог весть какой знаток Linux, так что могут быть и другие способы сделать то же самое, но у меня и так работает,​ чему я очень рад.+Набрав сценарий,​ сохраните его в какой-нибудь каталог. Затем откройте этот каталог в файловом менеджере (Nautilus или еще каком). Найдите сохранённый файл: нам надо сделать его исполняемым,​ для чего щёлкните по нему правой кнопкой мышки и выберите «Свойства». Перейдите на вкладку «Права» и поставьте галочку в строке «Позволять выполнение файла как программы». Закройте окно «Свойства» и откройте сценарий двойным щелчком. На Ubuntu вам будет предложено выбрать желаемое действие: ​ 
 + 
 +**«Запустить в терминале / Показать / Отменить / Запустить»**. 
 +  
 +Выбирайте «Запустить» и наслаждайтесь FPS >20, прокруткой в стратегиях и отсутствием проблем с переключением между окнами. Если вам понадобится вернуться в изначальный Х-сервер,​ нажмите ​**Ctrl+Alt+F7**, а оттуда в игру — **Ctrl+Alt+F9** (или иногда — **Ctrl+Alt+F8**). Имейте в виду: я не бог весть какой знаток Linux, так что могут быть и другие способы сделать то же самое, но у меня и так работает,​ чему я очень рад.
  
 --------------------------------------- ---------------------------------------
 +===== Ссылки =====
 +  * [[http://​help.ubuntu.ru/​wiki/​запуск_игры_в_отдельном_x-сервере|Запуск игры в отдельном X-сервере]]
 +  * [[http://​kubuntu.ru/​node/​7095|Полезные советы по данному вопросу на kubuntu.ru]]
 +  * [[https://​wiki.archlinux.org/​index.php/​Запуск_игр_и_других_приложений_в_отдельном_X-сервере|Запуск игр и других приложений в отдельном X-сервере]]
  
 <style center> <style center>
Строка 63: Строка 73:
 </​style>​ </​style>​
  
-{{tag>Система Администрирование ​Full_Circle ​BASH Скрипт Резервирование}}+{{tag>Игры howto Full_Circle}}