O Ubuntu congela no login após informações privilegiadas

3

Eu tenho um Asus GL553 com Intel 560 e Nvidia GTX 1050 e estou tentando configurar meus cartões híbridos com nvidia-prime. Eu instalei o Ubuntu Gnome 17.04, em seguida, instalei a nvidia-381 e executei o comando prime-select. Eu tive que reiniciar bastante e, quando tentei fazer o login, o sistema congelou. Eu pesquisei e li todos esses tópicos, mas não consigo encontrar uma solução.

Alguém poderia configurar a nvidia corretamente?

    
por Glats 02.06.2017 / 21:53

2 respostas

0

Eu finalmente fiz isso.

1.- Crie uma pasta para armazenar os arquivos SSDT. Em seguida, extraia-o das tabelas da ACPI (execute esta parte como root):

# mkdir dsdt
# cd dsdt
# SSDT_FILES='ls /sys/firmware/acpi/tables/ | grep SSDT'
# for file in $SSDT_FILES ; do cat "/sys/firmware/acpi/tables/$file" > "$file.dat"; done
# cat /sys/firmware/acpi/tables/DSDT > DSDT.dat

2.- Verifique se você tem IASL instalado. No Ubuntu, o sudo apt install iasl deve ser suficiente. Eu baixei o código e o compilei para obter a versão mais recente, mas não acho necessário.

3.- Há uma definição duplicada em um arquivo SSDT que não nos permite desassociá-lo. Descubra qual é e exclua:

# grep PRT0 *.dat
Binary file DSDT.dat matches
Binary file SSDT1.dat matches
# mv SSDT1.dat SSDT1.bak

Então, no meu caso, é SSDT1. Substitua-o com o que você conseguir. Não toque em DSDT.dat

4.- Em seguida, encontramos o arquivo SSDT com o código que precisamos alterar. Nós procuramos o arquivo com ambos "NVID" e "OSYS" presentes: (Provavelmente há uma maneira melhor de fazer isso no grep)

# grep NVID *.dat
Binary file SSDT10.dat matches
Binary file SSDT3.dat matches
# grep OSYS SSDT10.dat
# grep OSYS SSDT3.dat
Binary file SSDT3.dat matches

Então, no meu caso, era o SSDT3, se é diferente, você substitui todas as outras instâncias do SSDT3 com o que você recebe.

5.- Desmonte!

# iasl -e *.dat -d SSDT3.dat

6.- Espero que você não veja nenhum erro neste momento. Substitua todas as instâncias de OSYS, exceto a declaração com a constante para o Windows 7, e bata o número do bloco de definição em um:

# sed -i '/^ *External/! s/OSYS/0x07D9/g' SSDT3.dsl
# sed -i '/^ *DefinitionBlock/ s/0x00001000/0x00001001/g' SSDT3.dsl

Se você tiver um BIOS diferente, o número do Bloco de Definição pode não ser 1000. Basta abrir o SSDT3.dsl em um editor de texto e procurar por DefinitionBlock. Qualquer número que você vir nessa linha, incremente um por um.

7.- Compile tudo e espere que não haja erros.

# iasl -ve -tc -p SSDT3 SSDT3.dsl

8.- Crie uma imagem:

# mkdir -p kernel/firmware/acpi
# cp SSDT3.aml kernel/firmware/acpi/ssdt3.aml
# find kernel | cpio -H newc --create > acpi_gpufix

8.- Todas as instruções seguintes, correspondentes ao Ubuntu e ao GRUB2. Copie-o para a pasta de inicialização. o initrd.img é seu img padrão da pasta de inicialização:

# cp acpi_gpufix /boot/

você pode adicioná-lo permanentemente ao seu GRUB editando /etc/grub.d/10_linux. Eu tive que mudar a linha initrd ${rel_dirname}/${initrd} para initrd ${rel_dirname}/acpi_gpufix ${rel_dirname}/${initrd} . Em seguida, execute update-grub2.

9.- Para verificar se funciona:

$ dmesg | grep ACPI | grep override
[    0.000000] ACPI: Table Upgrade: override [SSDT-PegSsd- PegSsdt]
[    0.000000] ACPI: SSDT 0x000000007A715080 Physical table override, new table: 0x0000000079493000

Agora você pode alterar a GPU sem congelar

fonte:

link link

    
por Glats 08.06.2017 / 03:45
-1

Há muito tempo atrás eu usava um laptop nvidia e tinha problemas parecidos com o gnome. O único que funcionou para mim foi desinstalar o gnome e usar o KDE. Mas repito que foi há muito tempo 10 ~ versão eu acho.

Você pode começar no modo de comando para fazer isso:

Para inicializar no modo single user , edite as instruções de inicialização para a entrada do menu GRUB que deseja inicializar e adicione o parâmetro / opção single do kernel. Breves instruções de como fazer isso estão abaixo.

  • Mantenha pressionada a tecla Shift da esquerda durante a reinicialização para abrir o menu GRUB
  • Selecione (destaque) a entrada do menu de inicialização do GRUB que você deseja usar.
  • Pressione e para editar os comandos de inicialização do GRUB para o menu de inicialização selecionado entrada.
  • Procure perto da parte inferior da lista de comandos para linhas semelhantes a

    linux /boot/vmlinuz-3.2.0-24-generico raiz = UUID = bc6f8146-1523-46a6-8b \ 6a-64b819ccf2b7 ro respingo quieto initrd /boot/initrd.img-3.2.0-24-generic

  • Altere a linha do meio em (4) adicionando o parâmetro de inicialização do kernel único ao final da linha (ou seja, após ro quiet splash ).

Para este exemplo, você mudaria:

6a-64b819ccf2b7 ro  quiet splash

para

6a-64b819ccf2b7 ro  quiet splash single
  • Pressione Ctrl+X ou F10 para inicializar usando estas opções de kernel.

Observação: essas alterações não são persistentes . Qualquer alteração nas opções de inicialização do kernel feita dessa forma afetará apenas a próxima inicialização e somente se você iniciar essa inicialização pressionando Ctrl + X ou F10 enquanto ainda estiver no modo de edição do GRUB.

    
por Sinuee Hernández 02.06.2017 / 21:59