Способ разгона видеокарты Nvidia в Linux

Хочу рассказать об одном способе добавить «попугаев» вашей видеокарте.

Предисловие

Я не часто играю в игры, и поэтому производительность видеокарты всегда играла для меня второстепенную роль. Но как бы там ни было время от времени натыкаясь на какой-нибудь интересный релиз игры, не могу удержаться что бы не установить его и не поиграть, да и отвлечься от суеты бывает полезно. Так как я являюсь обладателем далеко не топовой видеокарты на чипе Nvidia, для меня довольно остро встал вопрос разгона видеокарты. Вроде бы никаких проблем, если бы не одно НО. Если для пользователей Windows существует целый зоопарк софта предназначенного для разгона видеокарт, то в Linux такого изобилия как оказалось нет. Даже больше того, всё разнообразие ограничивается всего лишь одной утилитой NVClock — для карт Nvidia, и так же одной утилитой AMDOverdriveCtrl — для AMD/ATI. На сайте NVClock меня ждало ещё одно разочарование — последнее обновление утилиты было в 2009 году, и мою карту она соответственно не поддерживает. Тем не менее решение оказалось гораздо ближе, а именно в самом драйвере. Дело в том что панель управления Nvidia имеет свои средства для управления частотой GPU и шины, но из-за соображений безопасности эти настройки скрыты от шаловливых рук пользователей. Далее о том как добраться до настроек.

К делу

Для того чтобы в панели управления появились необходимые пункты, нам необходимо открыть конфигурационный файл X сервера добавить строку: Option «Coolbits» «1» в блок Section «Device», у меня это выглядит так:

Section "Device"
Identifier "Card0"
Driver "nvidia"
Option "RenderAccel" "True"
Option "AddARGBGLXVisuals" "True"
Option "Coolbits" "1"
BusID "PCI:3:0:0"
Option "NoLogo" "True"
EndSection


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

image

Переходим на вкладку Clock Frequencies и устанавливаем чекбокс «Enable Overclocking», после чего станет возможным вручную выставлять частоты для GPU и памяти. После того как подберёте оптимальные параметры, запомните их — так как после перезагрузки все настройки собьются, и будет необходимо всё выставлять заново. Что бы избежать этого, я создал скрипт такого содержания:

#!bin/sh
#Включаем оверклокинг
nvidia-settings --assign "[gpu:0]/GPUOverclockingState=1" &&
#2D повышаем частоту
#nvidia-settings --assign "[gpu:0]/GPU2DClockFreqs=*,*" &&
#3D Повышаем частоту пошагово.
nvidia-settings --assign "[gpu:0]/GPU3DClockFreqs=679,831" &&
nvidia-settings --assign "[gpu:0]/GPU3DClockFreqs=686,922" &&
#Выставляем предпочтительный режим(Prefer Maximum Performance)
nvidia-settings --assign "[gpu:0]/GPUPowerMizerMode=1" &


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

Спасибо всем кто читал. Надеюсь что эта информация хоть не много будет кому-то полезна.
Ads
AdBlock has stolen the banner, but banners are not teeth — they will be back

More

Comments 27

    +3
    хотелось бы посмотреть результаты ваших экспериментов
      +1
      Посоветуете какой-нибудь адекватный бенчмарк?
        –1
        3DMark 11
          0
          Ага, под wine'ом запустить ))
        +1
        Традиционно glxgears используют.
          +3
          Традиционно, но glxgears не бенчмарк.
          +5
            0
            376 попугаев… не оставляет в покое чувство, что это оочень мало. Может кто-нибудь свои результаты показать?
          0
          Главное чтобы после разгона видеокарта автора смогла отобразить ваше сообщение
        • UFO just landed and posted this here
            +1
            Ну спалить видеокарту шансов не много, если только допустить сильный перегрев. Да и в этом случае скорее всего система тупо зависнет.
              0
              Целесообразность такая же как и при разгоне процессора. При желании убить можно все что угодно, но таким способом как описан здесь — вряд ли. А вот если поднимать напряжение — легко.
              +1
              Особый прирост производительности есть? Стоила ли игра свеч?
                +1
                Что подразумевается под «особым приростом»? Здесь всё очень индивидуально для каждой машины. Я например уткнулся в нехватку охлаждения.
                  +3
                  «играю на максимальных настройка, но не долго»?
                0
                >и так же одной утилитой AMDOverdriveCtrl — для AMD/ATI
                У ATI/AMD в комплекте с проприетарными дровами идет консольная утилитка, которая это позволяет делать без установки хитрых битов. Да и в Catalyst Control Center ( или как она там обзывается) тоже можно сразу гнать. Один минус — гнать можно только до определенных пределов. Для любителей жидкого азота, скорее всего тоже есть скрытые параметры для снятия ограничений по частоте. :)
                  +5
                  О чём Вы думали, когда писали «NVCock — для карт Nvidia»?
                    +1
                    > время от времени натыкаясь на какой-нибудь интересный релиз игры,
                    > не могу удержаться что бы не установить его и не поиграть

                    > Если для пользователей Windows существует целый зоопарк софта предназначенного
                    > для разгона видеокарт, то в Linux такого изобилия как оказалось нет


                    Я так понимаю, что эти части текста связаны и игры Вы так же запускаете под linux'ом?

                    А где Вы натыкаетесь на релизы интересных игр под linux, которым требуется мощная видеокарта?

                    Сам играми не увлекаюсь, но как-то ради интереса искал современные красивые игрушки — нашёл вроде всего пару-тройку относительно качественно сделанных в плане графики, само собой уже не помню какие это были игры…
                    Тоже интересно иногда запустить что-то качественное и на полчаса отвлечься…

                    P.S. Не помешают и примеры интересных игр :)
                      0
                      Вопрос был не мне, но под вайном можно запустить большую часть игр — найти применения «попугаям» можно :)
                      0
                      Есть замечательные инди игры под линукс. По уровню графики может они не так мощны, но геймплей и сюжет в них, как правило, на порядок выше, чем в раскрученных брендах.

                      И Вы забываете про wine, где работают 99% всех виндовых игр. И так как wine это не эмулятор, а транслятор системных вызовов ядра виндовс в системные вызовы ядра линуска, то производительность драйвера системы напрямую влияет на производительность приложений под wine. Этим достигается максимальная возможная производительность для системы. Главная проблема это найти точный алгоритм преобразования системных вызовов из одного ядра в другое. Аналогично работает режим двоичной совместимости линукса в BSD, или технология типизированных зон в солярисе. Но эффективно мапинг ядерных вызовов это можно сделать только имея в наличие исходные коды целевой системы… И то что разработчикам wine, используя реверс инжениринг, удалось достичь таких результатов, это просто фантастика.
                        +1
                        > wine, где работают 99% всех виндовых игр

                        Ну здесь как посмотреть. Если воспринимать «скорее да, чем нет» как твёрдое «да», то так оно и есть — многие игры по меньшей мере запускаются. Но далеко не все запускающиеся игры работают так же, как на родной для них ОС, и довольно многие запускаемые игры скорее не работают, чем работают.
                        Но это я отвлёкся. :)
                        Я знаю, что такое wine, я знаю как он работает, я согласен с тем, что разработчики wine — молодцы. Но вопрос был про другое :)
                        Я не являюсь ярым фанатом каких-либо игр и игр вообще. Мне вполне хватает warzone2000, caster, osmos и world of goo, которые работают нативно, и которые я запускаю раз в полгода. Но иногда интересно посмотреть чего ещё есть свежего хорошего. Собственно, вопрос был как раз о том, что уже есть и где об этом можно узнать. :)
                          0
                          Я обожаю osmos :) А что нового появляется можно узнать на playdeb.net
                      0
                      Если у вас видеокарта nVidia и Ubuntu с включённым Compiz, то, возможно, вы встретились с проблемой, когда система «замирает» (freeze) на некоторое время или глухо виснет.
                      В логах обычно наблюдаются строки:
                      NVRM: Xid (0000:01:00): 6, PE0004
                      NVRM: Xid (0000:01:00): 13, 0004 00000000 00000497 00000ff4 05000000 00000000
                      NVRM: Xid (0000:01:00): 12, COCOD 00000004 beef5097 00008597 00000ff4 05000000

                      Если отключить Compiz, то зависания пропадают. Но в релизе Ubuntu 11.10 Compiz будет обязателен и его отключение не выход и он тут совершенно не причём.
                      Суть проблемы в том, что видеокарта nVidia с включённой по умолчанию опцией PowerMizer динамически меняет частоты памяти и GPU на видеокарте, а система болезненно на это реагирует. Выходом является смена в nvidia-settings в разделе PowerMizer — Preferred Mode режима с Adaptive на Maximum Performance.

                      подробнее и скрипт
                      vasilisc.com/scripts_linux#freeze_nvidia

                      Only users with full accounts can post comments. Log in, please.