Linux, ATI, Compiz-Fusion и игры

    Практически всем известно, что видеокарты ATI для работы под Linux — далеко не лучший выбор. Но тем не менее, по каким-либо причинам, у многих пользователей видеокарты именно этой фирмы (У меня например ATI X1300 в ноутбуке). Я не буду пересказывать полностью ситуацию с драйверами, опишу лишь свои проблемы (использую проприетарные драйвера): первая — мерцание видео при включенном композитном менеджере окон (в моем случае — compiz fusion), вторая — мерцание 3D приложений, опять же, при включенном Compiz. И если проблема с видео решается практически сразу, то с играми было тяжелее. Приходилось либо писать скрипт, отключающий Compiz на время игры, либо делать это вручную. Что не очень приятно, согласитесь.
    Поиски решения навели меня на интересный скрипт — xgame и его оболочку xgame-gtk.

    Этот скрипт переносит игры в другую X-сессию и там уже запускает. Соответственно, в другой сессии можно отключить Compiz совсем простыми манипуляциями.

    Все, что ниже, частично перевод статьи Xgame on Ubuntu Feisty Fawn

    Итак, для начала нам необходимо разрешить себе запуск дополнительных X-сессий.
    sudo sed -i -e «s/\(allowed_users=\).*/\1anybody/» \
    /etc/X11/Xwrapper.config


    Теперь сконфигурируем Xauth так, чтобы он увидел новую сессию
    echo «list» | xauth | grep localhost | sed -e «s/.*[ \t]\(.*\)$/add :1.0 MIT-MAGIC-COOKIE-1 \1/» > /tmp/xauth.mine
    cat /tmp/xauth.mine | xauth


    Делаем копию нашего xorg.conf для всяческих изменений впоследствии
    sudo cp /etc/X11/xorg.conf /etc/X11/xorg_games.conf


    И редактируем его так, как нам надо
    sudo gedit /etc/X11/xorg_games.conf


    У себя я выставил
    Section «Extensions»
    Option «Composite» «Disable»
    EndSection


    После чего скачиваем сам скрипт xgame и даем ему права на запуск
    # GUI версия
    wget --output-document=/tmp/xgame-gtk2 www.xs4all.nl/~masterpe/Perl/xgame-gtk2
    sudo cp /tmp/xgame-gtk2 /usr/bin/xgame-gtk2
    sudo chmod +x /usr/bin/xgame-gtk2

    # Консольная версия
    wget --output-document=/tmp/xgame www.xs4all.nl/~masterpe/Perl/xgame
    sudo cp /tmp/xgame /usr/bin/xgame
    sudo chmod +x /usr/bin/xgame


    Ну и можно запускать командой
    xgame-gtk2


    Есть некоторая проблема с играми, запускаемыми в WINE. WINE запускается как фоновый процесс, после чего останавливается. Т.о. необходимо сделать WINE «постоянным» процессом, для чего необходимо выполнить следующее:
    sudo sh -c «echo \»#\!/bin/bash
    wine \\\"\\\$@\\\"

    while [ -n \\\"\\\`ps ax | egrep -v grep | egrep wineserver | sed -e 's/[ ]*\(\d*\)[\t ]*?.*/\1/'\\\`\\\" ]; do
    sleep 1s;
    done\" \
    > /usr/bin/p-wine"
    sudo chmod +x /usr/bin/p-wine

    Данный скрипт остановится лишь тогда, когда остановится wine-приложение.
    Теперь надо просто поменять в строках запуска игр wine на p-wine (но вот только лично у меня на любимой Oni это не заработало).

    При запуске самого скрипта xgame необходимо будет в настройках выставить название используемого xorg-файла. После чего «набить» его командами запуска игр. Тестировал я на openarena и warsow — работает идеально. Приятно.
    P.S. для любителей qt есть Qgamex.
    Поделиться публикацией

    Похожие публикации

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 40

      0
      Полезно. Спасибо. Будем знать.. :)
        0
        Решил проблему иначе, покопался в xorg.conf.

        Section "InputDevice"
        ...
        EndSection

        Section "Device"
        Identifier "ATI RADEON 9600XT"
        Driver "fglrx"
        Option "UseFastTLS" "1"
        Option "Textured2D" "on"
        Option "VideoOverlay" "on"
        Option "BackingStore" "on"
        Option "TexturedXrender" "on"
        Option "XAANoOffscreenPixmaps" "on"
        Option "TexturedVideo" "off"
        Option "OpenGLOverlay" "off"
        EndSection

        Section "Monitor"
        ...
        EndSection

        Section "Screen"
        ...
        EndSection

        Section "ServerLayout"
        Option "AIGLX" "on"
        Identifier "Default Layout"
        Screen "LCDScreen"
        InputDevice "Generic Keyboard"
        InputDevice "Configured Mouse"
        EndSection

        Section "DRI"
        Mode 0666
        EndSection

        Section "Extensions"
        Option "DRI" "enable"
        Option "RENDER" "enable"
        Option "DAMAGE" "enable"
        Option "Composite" "enable"
        Option "XVideo" "enable"
        EndSection

        Единственный недостаток это в том, что иногда мешают динамические объекты, "скринлеты" к примеру. Решил просто - убрал в "Дашборд". Игры играются, видео проигрывается, декоратор не вешается, вот...
          0
          Специально попробовал - интересно стало, но мне не помогло :( Так что я пока так.
            0
            Аналогично. Видео — RX2400pro, драйвер 8.471-1
              0
              Опа, обновился до 8.476 — не мигает
                0
                По крайней мере видео :) опенгл так и мигает во всю.
              0
              Версию дров напишите еще, пожалуйтса.
                0
                Конечно.
                Драйвер "8.45.5"
                Версия "OGL 2.1.7281"
                Compiz "0.7.2"
              0
              Гм, у меня другая проблема, при установленом драйвере Ати компьютер не выключается и не перезагружается из операционки, так же нельзя завершить сессию. Причем пробовал 2 карточки от Ати и на обоих такая штука... Вещь, конечно, крайне неприятная...
                0
                На 8.4 вроде исправили эту проблему.
                  0
                  Странно они ее исправили если у меня она возникла только на 8.04 как раз)
                    0
                    Наверное имеется в виду драйвер 8.4, а не версия оси.
                      0
                      Вы наверно про версию убунты? Если да, то я имел ввиду последнюю версию драйверов ATI: http://ati.amd.com/support/drivers/linux/linux-radeon.html
                        0
                        Спасиб, что-то я не понял сначала. Собственно поставил его и все как по волшебству работает без глюков, если не считать одно недоразумение: торрент-клиенты у меня вызывают кернел-паник в системе... Но как с этим бороться никто не в курсе)
                  0
                  А про то как победить мерцание видео расскажите, пожалуйста, если это, конечно, не xshm.
                    0
                    Есть вариант настройки vlc... В модулях вывода выбрать что-то вроде "Вывод видео через X11".
                    Но, костыль, конечно.
                      0
                      gstreamer-properties
                      выставляем вывод через X11.
                      А вообще, в Hardy с драйверами ATI 8.3 не мерцает сразу :)
                        0
                        Еще как мерцает) Во всяком случае у меня.
                          0
                          спасибо, это я знаю, хотелось победить мерцание opengl :)
                            0
                            Согласен, они это дело пофиксили в Hardy.
                            +1
                            А вы вот здесь посмотрите http://forum.ubuntu.ru/index.php?topic=2…
                              0
                              у меня всё так и есть на самом деле, но вот этот коммент
                              http://forum.ubuntu.ru/index.php?topic=2…
                              попробую обязательно. спасибо, плюсик вам.
                            0
                            Странно Video не мерцает, на счет игр не скажу пока не пробывал, ну была фигня со включённым оверлеем не работало в плеерах изображение, отключил, видео стало показывается, у меня Acer с ATI 1100 встроенной
                            Ах да и ещё такой момент, артефакт при гашении дисплея, больше ничего не заметил
                              0
                              Я решил эту проблему созданием отдельного пользователя чисто под игры.

                              В настройках отключил компизы и вообще оставил практически голую оболочку.

                              Получается очень удобно, не нужно альттабаться из вайна для ответа в аську например
                              (что часто приводит к зависанию игры), достаточно перейти в первый сеанс по ctrl+alt+f7.
                                +1
                                Все проблемы компиза, вайна и игрушек на ноуте с ATI X1300 решились сменой ноута. Теперь у меня NV 8600 GT и приличный фпс во всех 4х игрушках на сторонах кубика q:
                                  –2
                                  просто охренеть какая user-friendly операционка этот линукс!
                                    0
                                    Зато денег платить не надо. Если для чьего-то бизнеса не нужно специального ПО, существующего только под Windows, (а есть такие примеры) то можно хорошо сэкономить на IT-инфраструктуре, лучше больше заплатить хорошему нашему админу, чем отдать деньги в карман MS и бюджет США.
                                      0
                                      ага, у меня у одного клиента такую ерунду начальство сделало. опенофисом приходится пользоваться. ругается, недоволен. не понимает своего счастья, наверное.
                                        0
                                        У него есть конкретный перечень претензий, или ругается "патамушо не такой как ворд!"?
                                        Вот я точно знаю, что мне нравится в MSO а что в OO.
                                          0
                                          перечень есть, но я его у него не выяснял, поверил на слово.
                                          а что, кому-то еще надо доказывать что линукс это полный user hostile?
                                            0
                                            У знакомой девушки слетела винда. Поставил ей убунту, временно. Слезать не захотела. Девушка отнюдь не гик. И извините, но линукс не виноват, что в АТИ криворукие программисты сидят! А вот вебкамеру, сканер, принтер - гораздо более важные вещи, чем в игры поиграть - поставил, система подхватила их не задумываясь. Ни возни с дисками, ничего левого.
                                              0
                                              Вот везуха, когда я пробовал еще в школе ASP7.2, было гораздо трудней, тем более инета у меня не было вообще, никакого, даже dial-up`а.
                                                0
                                                а как бы вы оценили ее шансы установить себе какой-нибудь софт самостоятельно? ;)
                                                ну или тот же линукс поставить и настроить самостоятельно?
                                                  0
                                                  Честно сказать? Великолепно бы оценил. Что семерка, что восьмерка встали на ее комп сразу. В игры она не играет в принципе. Софт поставить? В винде тяжелее. В Убунту же - зашли в синаптик, набрали поисковый запрос, выбрали, нажали кнопку. Последние версии WINE показывают неплохие результаты со многими программами. Скачал - установил - пользуй. И вообще, огромное число пользователей ставит софт по наводке ближайшего компьютерщика ооооочень долгое время. А потом сами нормально ориентируются.
                                                0
                                                В любом случае хорошо, когда человек знает чего хочет. Тогда пусть требует от начальства купить ему на рабочее место Винду c MSO и мотивирует это повышением эффективности своего труда, если начальник не жлоб.
                                          0
                                          Нормальный дистриб как правило гораздо более юзер-фрэндли чем windows.
                                          А смысла описанных здесь телодвижений я и сам не понял. Если постоянно работает 3d-рабочий стол, проще щёлкнуть по иконке в системном лотке и перекинуть отрисовку окон на "родной" менеджер этих самых окон, затем запустить игру... ...ну нравятся людям километровые скрипты. Согласен, в виндоус такого нет: там нет ни 3d-стола, ни нормальных конфигов, ни вменяемого терминала...
                                            0
                                            Ну мне нравится то, что я могу по ctrl-alt-Fx переключаться с игры на работу. Поиграл - надоело - переключился - поработал, не выключая компиз. мне он очень помогает.
                                              0
                                              вы не поверите, но большинству этого и не надо - ни 3д стол, ни нормальные конфиги, ни вменяемый терминал. лично мне 3д десктоп, кстати, тоже не нужен - обычно на весь экран куча окон.
                                            0
                                            А проблему с мерцанием заставки без всех этих хитрых манипуляций можно решить?
                                            • НЛО прилетело и опубликовало эту надпись здесь

                                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                              Самое читаемое