Jak zrestartować GPU bez restartu (miękki reset)?

15

Jak zrestartować GPU z linii poleceń?

Korzystanie z laptopa HP DV6 z systemem Ubuntu 12.04-64 i mobilnym procesorem graficznym ATI. Zainstalowano standardowe sterowniki ATI sugerowane przez Ubuntu. Po zamknięciu pokrywy komputer przechodzi w tryb zawieszenia. Po otwarciu pokrywy wszystko oprócz ekranu zostanie wznowione. Po prostu czarny. Domyślam się, że muszę włożyć skrypt resetowania GPU /etc/pm/sleep.d. Ale jak zrestartować / zresetować GPU?

LapBuntu
źródło
Najlepszym rozwiązaniem byłoby użycie skryptów kontrolujących sen i wznawianie. Możesz to zrobić teoretycznie, rozładowując moduł jądra dla fglrx, a następnie ładując go ponownie (używając rmmodi modprobe), ale byłoby to zupełnie niemożliwe bez niczego na ekranie (chyba, że ​​włączysz ssh);)
RolandiXor

Odpowiedzi:

14

Uruchom jedno z następnych poleceń w terminalu lub, lepiej, w TTY # za pomocą Ctrl+ Alt+ F#, gdzie #jest liczba od 1 do 6:

sudo /etc/init.d/lightdm restart

lub

sudo service lightdm restart

Spowoduje to ponowne uruchomienie środowiska graficznego.

Nie wiem jeszcze z jakiego powodu, ale te polecenia działały dla mnie tylko w TTY. W każdym razie, jeśli utkniesz na czarnym ekranie po uruchomieniu jednej z tych komend w terminalu, po prostu przejdź do TTY i uruchom następną komendę:

sudo service lightdm start

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

LightDM jest domyślnym menedżerem wyświetlania dla Ubuntu, Edubuntu, Xubuntu i Mythbuntu od wersji 11.10, dla Lubuntu od wersji 12.04 oraz dla Kubuntu od wersji 12.10.

Ponowne uruchomienie LightDM pociąga za sobą ponowne uruchomienie GDM bez ponownego uruchamiania komputera

Radu Rădeanu
źródło
1
Czy lightdm nie jest odpowiedzialny tylko za ekran logowania?
papukaija
1
@papukaija Nie tylko / naprawdę; patrz en.wikipedia.org/wiki/LightDM
Radu Rădeanu
2
Dziękuję za odpowiedź, Radu. Ale ponowne uruchomienie lightdm wydaje się resetować cały pulpit, a wszystkie programy i otwarte okna są tracone. Myślałem o sposobie zresetowania GPU po otwarciu pokrywy laptopa i wyjściu komputera z trybu uśpienia. Jak mam to zrobić?
LapBuntu,
@LapBuntu Nie znajdziesz innego sposobu ponownego uruchomienia GDM. Zresztą zrestartowanie GPU nie jest dobrym sposobem na rozwiązanie problemu. Być może ta odpowiedź zapewni dobre rozwiązanie twojego problemu.
Radu Rădeanu
Nadal bada to i wróci.
LapBuntu
2

Spróbuj, jeśli przełączanie się z ekranu graficznego na wirtualny tty działa. Mam na myśli, że kiedy masz czarny ekran, naciśnij Ctrl+ Alt+ F1, a jeśli masz ekran logowania, Alt+ F7. Jeśli ekran graficzny nie wróci, przestań czytać ...

Jeśli ekran wróci, możesz spróbować dodać to do swoich skryptów uśpienia (podziękowania dla wpisu na forum http://ubuntuforums.org/showthread.php?t=1978290 :)

#!/bin/sh
# 

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

        chvt 1 
        ;;
        resume|thaw)

        chvt 7
        ;;
esac

Umieść na przykład ten skrypt w pliku w /etc/pm/sleep.d/katalogu 99_vthacki wykonaj go:

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

Te 99_środki, że ten skrypt jest uruchamiany na końcu sekwencji CV.

Ten hack wydaje się działać w serii laptopów opartych na AMD. YMMV ...

Rmano
źródło
1

Po zainstalowaniu tego pakietu powinieneś być w stanie użyć tego skryptu, aby rozwiązać problem. Używam Dell Vostro 1000.

Ponieważ ekran jest popsuty, będziesz musiał przypisać klawisz, aby uruchomić ten skrypt, sugeruję Shift+ Ctrl+ Alt+ F. Ponadto, dla każdego kroku naprawienia, powie on, co robi, więc będziesz wiedział, co się dzieje. Kiedy ekran zostanie naprawiony, naciśnij Ctrl+, Caby zatrzymać skrypt (należy go uruchomić za pomocą xterminteraktywności).

To, co robi, to zasadniczo zmiana między wszystkimi możliwymi rozdzielczościach ekranu, a także może otworzyć nową sesję X, aby spróbować wymusić obejście do pracy.

To nie zadziała, jeśli ekran jest zablokowany, więc będziesz musiał przynajmniej zalogować się na ślepo .. LUB może, jeśli uruchomisz na konsoli tekstowej vt 1, z DISPLAY=:0, może załatwić sprawę.

UmpaLumpa
źródło