Включение/отключение дискретной видеокарты

Практически все современные ноутбуки обладают двойными видеокартами. Обычно это что то маломощное от интел, и крутая, энергозависимая карта для фильмов и игр от nvidia или ati. Автоматическое переключение довольно часто глючит(Например: может включится крутая видеокарта при работе с документами, а нам нужно сохранить батарею как можно дольше), поэтому рассмотрим способ ручного переключения.

1. Способ. Подходит для все версий linux с ядром 2.6.34 +

«uname -a» узнать свою версию ядра

Для начала узнаем какие видеокарты видит наша система

lspci | grep VGA

Появится примерно такие строчки:

00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
01:00.0  VGA compatible controller: ATI Technologies Inc Juniper [Radeon HD 5750 Series] (rev ff)

Запомним, что 00:02.0 это слабая видеокарта, а 1:00.0 сильная

Теперь посмотрим, какая из видеокарт сейчас работает


sudo cat /sys/kernel/debug/vgaswitcheroo/switch

Появятся примерно такие строки:

0: :Pwr:0000:01:00.0
1:+:Pwr:0000:00:02.0

Плюс стоит на против активной видеокарты, а Pwr обозначает, что видеокарта работает и кушает питание. Несложно догадаться, что можно отключить питание от неиспользуемой карточки  этим самым ничуть не повредить системе.

а) Если нам нужно обесточить неиспользуемую видеокарту, то выполняем команду:

sudo echo OFF > /sys/kernel/debug/vgaswitcheroo/switch

Смотрим результат:


sudo cat /sys/kernel/debug/vgaswitcheroo/switch
0: :Off:0000:01:00.0
1:+:Pwr:0000:00:02.0

Батарея ноутбука скажет вам спасибо  :)
Если хотим, чтобы лишняя видеокарта отключалась после загрузки системы, то добавляем строчку


sudo echo OFF > /sys/kernel/debug/vgaswitcheroo/switch

в файл /etc/rc.local


sudo gedit /etc/rc.local

б) Если нам нужно, наоборот, включить мощную видеокарту и на неё изначально не подаётся питание то выполняем команды:

sudo echo ON > /sys/kernel/debug/vgaswitcheroo/switch
sudo echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch

Шпаргалка по командам ON, DDIS и т.п »

DIS — немедленное переключение на дискретную видеокарту
IGD — немедленное переключение на интегрированную видеокарту
DDIS — отложенное переключение на дискретную видеокарту
DIGD — отложенное переключение на интегрированную видеокарту
ON — включить неиспользуемую видеокарту
OFF — выключить неиспользуемую видеокарту

Завершаем сеанс, входим заново и отключаем слабую видеокарту

echo OFF > /sys/kernel/debug/vgaswitcheroo/switch

Должно получится так:

sudo cat /sys/kernel/debug/vgaswitcheroo/switch
0: :Off:0000:00:02.0
1:+:Pwr:0000:01:00.0

Если вдруг видеокарта вообще не работает, то тут поможет только ремонт ноутбуков. Если с видеокартой всё в порядке, но способ описанные выше кажется сложным, то можно воспользоваться графической программой.

2. Способ. Если на вашем ноутбуке установлена ubuntu и лезть в терминал не хочется, то можно воспользоваться Ubuntu Control Center

После установки и запуска переходим в Hardware>VGA Switching

Тут всё интуитивно понятно.

После выбора видеокарты произойдёт автоматическое завершение сеанса, так что не пугайтесь. Лично мне первый способ показался более красивым :)

Поделись статьёй с друзьями

Или просто поиграйся с кнопочками

5 комментариев на «Включение/отключение дискретной видеокарты»

  1. а я и не знал что в ноутах обычно 2 видяхи, обязательно проверю на своём.

  2. danonechik:

    После неудачных попыток выполнения команды:
    sudo echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
    Посмотрел в каталоге debug и не нашёл там vgaswtcheroo.
    Что в таком случае делать ?

    P.S. Вторым случаем нет возможности воспользоваться, т.к. файл 64bit версии проги удалён с файлообменника

  3. viktor:

    vik@vik-Inspiron-N5110:~$ lspci | grep VGA
    00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
    01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Seymour [Radeon HD 6400M Series]
    vik@vik-Inspiron-N5110:~$ sudo cat /sys/kernel/debug/vgaswitcheroo/switch
    [sudo] password for vik:
    cat: /sys/kernel/debug/vgaswitcheroo/switch: Нет такого файла или каталога

  4. http://www.linux.org.ru/forum/general/9698153
    Добавь в /etc/fstab строчку
    none /sys/kernel/debug debugfs defaults 0 0
    Дело в том, что эти файлы находятся в debugfs, а она часто не подмонтирована по умолчанию.

Добавить комментарий