Решение проблем s2ram и s2disk на Thinkpad T61p с видеокартой nVidia FX570
Перевод статьи, опубликованной на NovellCool Solutions. Автор ее - tmstone835. Может быть, кому-то пригодится.
Когда я заказывал ноутбук, я выбрал самую лучшую видеокарту, имеющуюся в наличии, посчитав, что это будет лучший выбор при работе со SLED или openSUSE. Как оказалось, это была плохая идея.
Уже после покупки я узнал, что в определенных ситуациям с драйверами nVidia могут быть проблемы. Особенно это касается работоспособности suspend и hibernate. Ноутбук засыпает хорошо. Но проблемы начинаются, когда пытаешься его разбудить. Все запускается, но как только пытается загрузить драйвер X11 и переключиться на рабочий стол, появляется черный экран и система перестает реагировать на что-либо. Единственное, что в данном случае есть возможность сделать - выключить ноутбук или перегрузить. Что не очень хорошо влияет на целостность файловой системы, даже если она имеет журналирование, как ext3 или reiserfs.
Я перерыл множество форумов, сайтов вроде thinkwiki.org в поисках решения и не нашел ничего, что могло бы помочь в моем случае. Однако, я должен поблагодарить всех за помощь в поиске подходящего решения. Я не могу гарантировать, что вас это тоже сработает, но, возможно, поможет.
Проблемы, как кажется, относятся к драйверу, который пытается управлять функциями AGP. В случае, сли вы не знакомы с термином, AGP - это возможность управления питанием, встроенная в любой современный компьютер. Похоже, что все управление питанием было делегировано драйверу видеосистемы в Linux и Windows.
Многие системные платы идут с интегрированными видеоконтроллерами, и установка другой видеокарты все только усложняет. Похоже, что у дистрибутивов Linux есть проблемы с конфигурированием настроек AGP в случае, сли в системе установлено два видеоадаптера. Лаптопы и десктопы могут поставляться с более продвинутыми видеокартами, использующими чипсеты ATI или nVidia, но интегрированое видео на материнских платах до сих пор скрывается на заднем плане.
Я также думаю, что необходимо проверить соответствие возможностей AGP компьютера и возможностей. встроенных в драйвер. Прочтите информацию, представленную ниже, и поймете, что я под этим подразумеваю.
Шаг 1.
Проверьте, какой драйвер загружается на вашей системе при запуске машины.
lsmod | grep agp
Я получил intel_agp, но у вас может быть sis_agp или via_agp, в зависимости от материнской платы. Также может ыбть показано agppart, но это нормально. Запомните, какой из agp модулей установлен, поскольку эта информация потребуется нам для следующих шагов.
Шаг 2.
Откройте файл /etc/modprobe.local и добавьте следующую строку:
blacklist intel_agp
Должно получиться вот что:
#
# please add local extensions to this file
#
blacklist intel_agp
Шаг 3.
Теперь необходимо взглянуть на driver registry, чтобы определить, какие возможности поддерживаются. Запустите следующее:
cat /proc/driver/nvidia/registry
Найдите NvAGP: 3. Число - это поддерживаемое AGP состояние.
Шаг 4.
Необходимо модифицировать настройки X Window System в соответствие с уже известными возможностями AGP вашей видеокарты. Откройте /etc/X11/xorg.conf и найдите секцию [Device]. В оригинале у меня выглядит так:
Section "Device"
BoardName "Quadro FX 570M"
Driver "nvidia"
Identifier "Device[0]"
VendorName "NVidia"
EndSection
Добавьте новую запись Option "NvAGP" "3". После сделанных изменений она будет выглядеть таким образом:
Section "Device"
BoardName "Quadro FX 570M"
Driver "nvidia"
Identifier "Device[0]"
VendorName "NVidia"
Option "NvAGP" "3"
EndSection
Вполне вероятно, что настройки будут работать сразу же после сохранения файла, но, на всякий случай, лучше перегрузиться. Я также обратил ванимание, что теперь, когда я проверяю драйвер agp с помощью lsmod | grep agp, я получаю вот что:
agpgart 32308 1 nvidia
Заключение
Теперь моя система засыпает и просыпается должным образом. Hibernate работает, но при просыпании система отображает примерно в течение 2 минут черный экран и мигающий курсор в левом верхнем углу. Также система подает звуковой сигнал, а через несколько минут еще один. После этого система окончательно просыпается и вы попадаете на рабочий стол. Hibernate я использую редко, потому это меня не особо волнует. Но, по крайней мере,я заню, что он сработает, если вдруг мне потребуется.