Как перезапустить GPU без перезагрузки (softreset)?

15

Как перезапустить графический процессор из командной строки?

Использование ноутбука HP DV6 с Ubuntu 12.04-64 и мобильного графического процессора ATI. Установлены стандартные драйверы ATI, предложенные Ubuntu. Когда я закрываю крышку, компьютер переходит в режим ожидания. При открытии крышки все, кроме экрана, возобновляется снова. Просто черный. Я предполагаю, что мне нужно вставить скрипт сброса графического процессора /etc/pm/sleep.d. Но как мне перезапустить / сбросить графический процессор?

LapBuntu
источник
Лучше всего использовать скрипты, которые управляют сном и возобновлением. Вы можете сделать это теоретически, выгрузив модуль ядра для fglrx, а затем снова загрузив его (используя rmmodи modprobe), но это будет практически невозможно, если на экране ничего нет (если вы не используете ssh);)
RolandiXor

Ответы:

14

Выполните одну из следующих команд в терминале или, что лучше, в TTY #, используя Ctrl+ Alt+ F#, где #число от 1 до 6:

sudo /etc/init.d/lightdm restart

или

sudo service lightdm restart

Это перезапустит графическое окружение.

Пока не знаю, по какой причине, но эти команды работали для меня только в TTY. В любом случае, если вы застряли в черном экране после запуска одной из этих команд в терминале, просто войдите в TTY и выполните следующую команду:

sudo service lightdm start

С http://en.wikipedia.org/wiki/LightDM :

LightDM является диспетчером отображения по умолчанию для Ubuntu, Edubuntu, Xubuntu и Mythbuntu с 11.10 выпуска, для Lubuntu с 12.04 выпуска и для Kubuntu начиная с 12.10.

Итак, перезапуск LightDM влечет за собой перезапуск GDM без перезагрузки компьютера

Раду Рэдяну
источник
1
Разве lightdm не отвечает только за экран входа в систему?
Папукайя
1
@papukaija Не только / действительно; см. en.wikipedia.org/wiki/LightDM
Раду Радеану
2
Спасибо за ваш ответ, Раду. Но перезапуск lightdm сбрасывает весь рабочий стол, и все программы и открытые окна теряются. Я думал о способе сброса графического процессора после того, как крышка ноутбука открылась, и компьютер вышел из спящего режима. Как бы я это сделал?
LapBuntu
@LapBuntu Вы не найдете другого способа перезапустить GDM. В любом случае, перезапуск GPU не является хорошим способом решения вашей проблемы. Может быть, этот ответ даст вам хорошее решение вашей проблемы.
Раду Рэдяну
Все еще расследую это и вернусь.
LapBuntu
2

Попробуйте, если переключение с графического экрана на виртуальный tty работает. Я имею в виду, когда у вас черный экран, попробуйте нажать Ctrl+ Alt+ F1и, если и когда у вас есть экран входа, Alt+ F7. Если графический экран не возвращается, прекратите читать ...

Если экран возвращается, вы можете попытаться добавить это в свои скрипты сна (слава записи на форуме http://ubuntuforums.org/showthread.php?t=1978290 :)

#!/bin/sh
# 

case "${1}" in
        hibernate|suspend)

        chvt 1 
        ;;
        resume|thaw)

        chvt 7
        ;;
esac

Поместите этот скрипт /etc/pm/sleep.d/, например 99_vthack, в файл в вашем каталоге и сделайте его исполняемым:

sudo chmod 755 /etc/pm/sleep.d/99_vthack 

В 99_означает , что этот скрипт запускается в конце последовательности резюме.

Этот хак работает в серии ноутбуков на базе AMD. YMMV ...

Rmano
источник
1

После установки этого пакета вы сможете использовать этот скрипт для решения вашей проблемы. Я использую Dell Vostro 1000.

Поскольку экран запутан, вам нужно будет связать ключ, чтобы запустить этот скрипт, я предлагаю Shift+ Ctrl+ Alt+ F. Кроме того, для каждого шага попытки исправить, он будет говорить о том, что он делает, чтобы вы знали, что происходит. Когда экран исправится, нажмите Ctrl+, Cчтобы остановить скрипт (его нужно запустить, xtermчтобы быть интерактивным).

То, что он делает, - это в основном переключение между всеми возможными разрешениями экрана, а также может открыть новый сеанс X, чтобы попытаться обойти обходной путь.

Это не будет работать, если экран заблокирован, так что вам, по крайней мере, придется слепо входить в систему .. ИЛИ, может быть, если запуск на текстовой консоли vt 1, с DISPLAY=:0, тоже может помочь.

UmpaLumpa
источник