Archive:NVidia Suspend HOWTO
Эта статья актуальна для версии '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 работает, если сделать следующее:
- Пропатчить драйвер как это описано на данной странице NVIDIA, но не перепаковывать его (не запускать makeself.sh)
- Отредактировать usr/src/nv/nv.c
- Идем на строку 3427. Там должно быть case PM_SUSPEND_MEM:
- Вставляем "case PM_SUSPEND_STANDBY:" (без кавычек) ниже или выше
- Теперь создаем новый пакет или просто запускаем скрипт install используя ./nvidia-installer -q
- Следуем инструкциям выше по установке драйвера.
PS: Для того случая, если вы удивитесь, почему это перестает работать после настоящей перезагрузки (т.е. разлогинивание и рестарт системы вместо засыпания):
- Скопируйте файл ./usr/src/nv/makedevices.sh отуда-нибудь из архива Nvidia (например, /sbin)
- Убедитесь, что x-биты все еще установлены
- Отредактируйте /etc/init.d/xdm
- Найдите там "start)"; должно быть в районе 106 линии
- Вставьте /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)