Testei o kernel 4.14.14 e pelo menos na minha maquina não deu certo , travou e reiniciou a sessão .
Dos Kernels que testei até o momento :
- 4.8.17
- 4.9.78
- 4.10.17
- 4.13.16
- 4.14.14
somente o 4.8.17 rodou bem , apesar de ter travado umas duas vezes durante quase 1 mês de uso intensivo . Já o bom e velho 4.7.10 rodou sem problemas . Realmente é uma pena isso ! Pois quando estou usando as versões mais novas como as 4.14.14 , noto uma diferença de performance , as páginas carregam mais rapidamente , tudo parece mais "suave" . Mas aí , acontece o travamento e adeus sessão ! Pelo menos vou ficando com o 4.8.17 que por enquanto está dando para usar de boa no dia a dia .
Embora meu notebook não esteja travando com o kernel 4.14.14, recentemente descobri que o kernel 4.14.14 estava "reclamando" que a versão de firmware¹ da CPU Intel é antiga. Eu vi isso nos logs do sistema. Se quiser testar para ver se o kernel que você está usando também está "reclamando" da versão de firmware da CPU Intel do seu computador, execute este comando, no terminal do shell, imediatamente após ligar o computador e efetuar login no sistema:
dmesg |grep -i microcode
Se o comando acima fizer aparecer na tela uma mensagem do tipo
[Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0x25 (or later),² instale o pacote que atualiza o microcode da Intel. O comando é este:
sudo apt-get install intel-microcode iucode-tool -y ; sudo telinit 6
Não é possível modificar permanentemente o firmware de uma CPU (um processador): diferentemente de um BIOS, que pode ser substituído, o firmware de um processador não pode. A solução, portanto, consiste em instruir o sistema operacional a inicializar um firmware alternativo (mais novo) toda vez em que o sistema operacional estiver sendo inicializado (boot). Portanto, a instalação dos pacotes acima não atualizará o firmware que está dentro do processador, mas fará com que a cada boot (inicialização) do Linux um firmware alternativo (armazenado no disco rígido ou unidade de estado sólido do seu computador) seja carregado (inicializado) no lugar do firmware padrão que está embutido no processador.
Após você executar o comando acima e o computador reiniciar, execute novamente o comando
dmesg |grep -i microcode. Caso o comando lhe mostre estas mensagens:²
microcode: microcode updated early to revision 0x25, date = 2017-01-27
microcode: sig=0x306d4, pf=0x40, revision=0x25
microcode: Microcode Update Driver: v2.2.
...então um microcode mais novo (uma versão alternativa e mais recente do firmware do processador do seu computador) está presente na unidade de armazenamento na qual o sistema operacional Linux está instalado, e esse microcode está sendo corretamente inicializado pelo sistema operacional Linux, durante o "boot".
...mas se o comando acima continuar lhe retornando a mesma mensagem de erro, experimente instalar também o pacote para microcode da AMD:
sudo apt-get install amd64-microcode -y ; sudo telinit 6
Após o microcode estar atualizado, você pode de repente instalar um kernel mais novo, como por exemplo o da versão 4.14.14, e verificar se o congelamento / travamento do sistema ocorre. Eu não sei se os congelamentos que estão ocorrendo no sistema operacional do seu computador estão sendo causados por algum conflito da versão do microcode do processador com a versão do driver de vídeo, mas não custa atualizar o microcode (mal não vai fazer: o pior que pode acontecer é não mudar nada) e testar se essa atualização melhora alguma coisa no funcionamento do processador e no comportamento do kernel em relação ao processador e à GPU que porventura esteja embutida no processador.
Notas de rodapé¹ Um
firmware é um pequeno programa que fica gravado no chip de um dispositivo eletrônico. O firmware facilita a interação de um ser humano (ou de outro programa) com o dispositivo no qual o firmware está instalado. O BIOS do computador, por exemplo, é um firmware: ele é um programa que permite que você configure o comportamento dos chips que se encontram na placa-mãe do computador.
² Algumas informações nas mensagens podem ser diferentes. No caso do meu computador, por exemplo, o comando informa que a versão do microcode precisa ser
0x25 ou posterior (o código hexadecimal
0x25 corresponde ao número decimal
37, portanto a versão 0x25 é a versão 37). A mensagem seguinte mostra "date = 2017-01-27", o que significa que em 27/01/2017 eu atualizei o microcode do processador. Caso você atualize o microcode em outro dia, a data mostrada ali evidentemente será a desse outro dia em que você atualizou o microcode.