Hibernate + Nvidia

Um post ultra-rápido... Atualmente meu Debian Lenny amd64 não conseguia hibernar corretamente, travando ao tentar. Parei 1 minuto para fazer um trace do que o GNOME chamava por baixo dos panos. Percebi que ele delega ao HAL a responsabilidade para chamar os softwares baixo nível de suspensão.

Olhando os scripts de ações do HAL (/usr/lib/hal/scripts) é possível ver que ele faz alguns checks sobre o que a máquina suporta (grep /sys/power/disk) e depois, se existir, chama o s2disk contido no pacote uswsusp. Em meu caso lembrei que entre as milhares de tentativas de fazer funcionar no passado eu tinha instalado manualmente este pacote. Naquela época eu já tinha experimentado tais travamentos por incompatibilidade no descarregamento do módulo da placa gráfica da NVidia (digo o proprietário). Por isso mesmo eu vinha usando a hibernação via um script simples mas totalmente funcional em meu caso (echo disk > /sys/power/state).

Assim vi que o script do HAL quando não acha o pacote uswsusp ele tenta exatamente o modo kernel de suspensão fazendo exatamente:

 # echo "disk" > /sys/power/state

Por fim, meu problema se resumiu então a desinstalar o pacote uswsusp e agora já posso hibernar com minhas milhares de janelas rodando compiz, player de música, mensageiro, evolution sem problemas. Viva ! Recomendo que na sua partição de swap haja espaço suficiente, senão a compressão do snapshot da memória pode ser maior que a swap e daí não funcionará a hibernação. No mínimo mantenha tamanho da swap igual ao tamanho da sua memória, talvez por precaução deixar uns 10 ou 20% de margem à mais (visto que não sei o que é feito com os dados já armazenados na swap provenientes da execução normal dos programas, imagino que eles devam entrar no snapshot também).

Tags:
Debian1Add my vote for this tag GNOME1Add my vote for this tag HAL1Add my vote for this tag hardware1Add my vote for this tag create new tag


Creative Commons License Esta obra está licenciada sob uma Licença Creative Commons.