Home Wiki > Archive:NVidia Suspend HOWTO
Sign up | Login

Archive:NVidia Suspend HOWTO

tagline: Материал из openSUSE

Icon-obsolete.png Эта статья актуальна для версии '10.1', которая теперь является устаревшей!
Пожалуйста, обратитесь к странице обсуждения этой статьи для получения подробной информации.

Настройка засыпания компьютера (suspend) с драйверами NVidia HOWTO

Чтобы использовать засыпание (suspend to disk и suspend to RAM) с бинарными драйверами для видеокарт Nvidia, необходимо принять дополнительные меры предосторожности. Учтите, что данный метод вероятно не работает одинаково хорошо со всеми графическими чипсетами Nvidia:

Инсталляция драйвера Nvidia

Загрузите драйвер Nvidia с помощью Yast Online Update, сконфигурируйте видеокарту для работы с 3D в SAX2. Вам нужна достаточно свежая версия драйвера Nvidia. Я тестировал с версией 1.0.7167. Прочтение Stefan Dirsch's nvidia-installer-howto настоятельно рекомендуется.

Включение NvAGP

Добавьте строку

Option "NvAGP" "1"

в секцию «Device», после строки 'Vendor Name "Nvidia"' в /etc/X11/xorg.conf

Предотвращение загрузки модуля AGP производителя.

SUSE 9.3 и старше

Удалите любые упоминания AGP модуля из /etc/sysconfig/hardware:

   # cd /etc/sysconfig/hardware
   # grep agp *
   hwcfg-vpid-8086-3340:MODULE_0='intel_agp'

Теперь отредактируйте файл, найденный с использованием команды grep (здесь: hwcfg-vpid-8086-3340) изменив "STARTMODE='auto'" на "STARTMODE='manual'". Также вы должны удалить строку "# HOTPLUG-FLAG: autocreated", чтобы эта конфигурация сохранилась при будущих обновлениях.

SUSE 10.0

Найдите какой AGP модуль загружен в данный момент

 # lsmod | grep agp

Типичные имена intel_agp, sis_agp, via_agp и т.д. Учтите, что agpgart трогать не надо.

Пометьте этот модуль как blacklisted в /etc/modprobe.conf.local. Пример:

   # blacklist agp module
   blacklist intel_agp

Внимание: /etc/hotplug/blacklist все еще исполняет те же функции, но скоро будет исключен.

Перезагрузка и проверка

Перезагрузитесь и убедитесь, что модуль agp теперь не запускается:

 # lsmod | grep agp

В списке не должно быть никакого модуля agp от производителя (т.е. intel_agp, sis_agp,...), кроме "agpgart".

Внимание: поддержка AGP работает только с чипсетами, которые поддерживаются nvidia kernel модулем. Иначе поддержка AGP будет выключена ! Проверьте это в "cat /proc/driver/nvidia/agp/status". Если там нет строки "Status: Enabled", значит поддержка AGP недоступна. Видеокарта будет работать с AGP, но производительность будет низкой.

Во время засыпания на диск, когда драйвер переходит в состояния засыпания, дисплей выключается (и на ноутбуках также отключается подсветка дисплея), но он не включается обратно, когда драйвер снова начинает отрисовку изображения. Это означает, что вы не увидите какого-либо индикатора прогресса во время засыпания, и в случае неудавшегося процесса засыпания (чего не должно быть :) ) вы тоже не увидите никакого сообщения об ошибке. Пока что ничего особого по этому поводу сделать нельзя, нужно всего лишь подождать, пока прекратится запись на диск, и компьютер выключится. После подъема из режима засыпания драйвер проснется корректно, и дисплей и подсветка будут включены.

Это было оттестировано на Sony VAIO PCG-GRT995MP и Dell D800 как в режиме засыпания на диск, так и в режиме засыпания в память. Это не заработало на более старом Dell Inspiron 8200.

-- seife 04:40, 22 May 2005 (PDT)

Отзывы

Режим засыпания на диск работает как здесь описано на Inspiron 8600 Bios A13. Режим засыпания в память не тестировался. Jens Kühnel


Режим засыпания в память работает на ноутбуке Compal EFL30, SUSE 9.3. Режим засыпания на диск не тестировался. D. Hurst


Режим засыпания на диск работает на Toshiba Satellite 5200-903 c SUSE 10.0 после изменения SUSPEND2DISK_SHUTDOWN_MODE на "shutdown" в /etc/sysconfig/powersave/sleep. Режим засыпания в память работает отлично. K. Becker


Мой Dell D800 просыпается после засыпания в память, но экран становится белым. Пробовал vga=normal, засыпание из текстового режима, ничего не помогает. Единственное решение – ctrl-alt-backspace X-сервер, чтобы kdm его перезагрузил. Это работает, но конечно все программы закрываются :(. -- Mark van Reijn, Novell


Это совершенно не работает на моем DELL Dimension 4400 с nVidia GeForce 2, где система пытается перейти в режим засыпания и зависает с черным экраном и мигающим индикатором питания. На моем DELL Inspiron 8600c (A14 bios) режим засыпания отрабатывается корректно, но во время просыпания GNOME не восстанавливается, и появляется выбор сеанса на экране KDM. После логина, появляется сообщение «Другая панель запущена», и меню не загружаются, требуется перезагрузка системы. --Alberto Passalacqua


Не работает на Sony VGN-S560P. Следовал инструкциям по SUSE 10, но (1) у меня нет директории /proc/driver/nvidia/agp (/proc/driver/nvidia/version указывает "NVRM version: NVIDIA Linux x86 NVIDIA Kernel Module 1.0-7676 Fri Jul 29 12:58:54 PDT 2005" в своей первой строке - /proc/driver/nvidia/cards/0 говорит Model: GeForce Go 6400 Video BIOS: 05.44.02.35.07, Card Type: PCI-E), и (2) режим засыпания на диск работает, но не восстанавливается видео после просыпания.--Ed Reed, Reed-Matthews, Inc.


9.3 (Kernel 2.6.11.4-21.12) на Dell Inspiron 8600 (GeForce FX Go5650 rev 161), NVIDIA-Linux-x86-1.0-8762 Засыпание в память работает отлично. Я добавил "options nvidia Nvreg_EnableAGPFW=1" в /etc/modprobe.conf.local согласно другой подсказке. Не знаю, на самом ли деле это необходимо. Режим засыпания на диск не тестировался.


10.1 (Kernel 2.6.16.13-4), GeForce 6800 Версия 8762 работает в моем случае с intel_agp blacklisted плюс 'Option "NvAGP" "1"' в xorg.conf. Никаких изменений в командную строку ядра в GRUP мне не понадобилось.


С версией 8756 происходит зависание с черным экраном в процессе засыпания.

Версия 8174 не компилируется вовсе.

Версия 7174 с патчем, упомянутым в секции "Legacy chipset support" NVIDIA работает, если сделать следующее:


  1. Пропатчить драйвер как это описано на данной странице NVIDIA, но не перепаковывать его (не запускать makeself.sh)
  2. Отредактировать usr/src/nv/nv.c
  3. Идем на строку 3427. Там должно быть case PM_SUSPEND_MEM:
  4. Вставляем "case PM_SUSPEND_STANDBY:" (без кавычек) ниже или выше
  5. Теперь создаем новый пакет или просто запускаем скрипт install используя ./nvidia-installer -q
  6. Следуем инструкциям выше по установке драйвера.

PS: Для того случая, если вы удивитесь, почему это перестает работать после настоящей перезагрузки (т.е. разлогинивание и рестарт системы вместо засыпания):


  1. Скопируйте файл ./usr/src/nv/makedevices.sh отуда-нибудь из архива Nvidia (например, /sbin)
  2. Убедитесь, что x-биты все еще установлены
  3. Отредактируйте /etc/init.d/xdm
  4. Найдите там "start)"; должно быть в районе 106 линии
  5. Вставьте /sbin/makedevices.sh

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

Надеюсь, это поможет. -- Aaron Digulla, 24.06.2006


10.1 10.на Dell D800 (GForce FX Go5650) с NVIDIA 8756 - режим засыпания на диск работает «из коробки», без всяких опций типа NvAGP или блэклистинга intel_agp. - режим засыпания в память не работает. Я попробовал каждую опцию, и смесь разных опций (NvAGP, blacklist intel_agp, acpi_sleep=..., vga=normal), но ничего не работает. Компьютер периодически перезагружается или зависает с черным экраном в процессе просыпания. При черном экране SysRq продолжает работать...

-- Matthias Boettger, 24.05.2006


10.1 10.на Dell Latitude 8600 (GeForce FX Go5650) - режим засыпания на диск работает c nvAGP = 1 и удалением intel_agp (как упомянуто в статье) - режим засыпания в память не работает (черный экран при просыпании).

-- Torsten Bielen, 25.05.2006


10.1 на Acer Aspire 1710/1714 (GeForce FX Go5700] (rev a1)) - Драйвер Nvidia: NVIDIA-Linux-x86-1.0-8762-pkg1.run (установлен согласно инструкции). - режим засыпания на диск работает с:

 nvAGP = 1 and removing the intel_agp (как упомянуто в статье)
 noapic kernel parameter в grub

- режим засыпания в память работает с:

 noapic kernel parameter в grub
 SUSPEND2RAM_FORCE="yes" в /etc/powersave/sleep
 kernel 2.6.16.13-4-default (smp kernel не тестировался, всегда зависает в 10.0)