Drivers proprietários da NVidia com EFI no Mac, para evitar superaquecimento

12

Eu tenho um Mac OS X 10.8 e Kubuntu 12.10 64x de inicialização dupla no meu MacBook branco a partir de meados de 2010 instalado. (Identificador do modelo: MacBook7,1. Atualizei minha RAM de 2 GB para 8 GB, se isso interessar.) Tenho os drivers NVIDIA proprietários instalados no meu Kubuntu.

A julgar pelo widget de monitor de temperatura no Kubuntu, minha temperatura parece estar ~ 10 ℃ mais quente em comparação com o Mac OS X. No Mac OS XI, use o Monitor de Temperatura . Estou comparando os valores CPU Core 0 e CPU Core 1 no Kubuntu aos valores CPU Core 1 e CPU Core 2 no Mac OS X.

10 ℃ a mais pode não ser um desastre de superaquecimento muito grande, mas quando eu faço coisas realmente intensas no meu computador (como jogar o Team Fortress 2 por um tempo), minha CPU está em ~ 70 ℃ no OSX e ao jogar um pouco no Kubuntu , minha CPU é ~ 80 ℃. Preocupa-me que a temperatura mais alta possa reduzir a vida útil do meu laptop.

Eu fiz algumas pesquisas e descobri que pode ser que eu o instalei no modo BIOS, o que causa o calor. Não consigo instalá-lo no modo EFI, porque os drivers proprietários da NVidia não funcionam na época (já tentei isso, deu uma tela preta). Alguém sabe como fazer com que os drivers proprietários da NVidia funcionem no modo EFI?

Edit: Ok, mesmo se não houver uma maneira de usar os drivers proprietários da nvidia no modo EFI (não parece haver uma maneira de fazê-lo, não estou recebendo respostas), eu já ficaria feliz se o aquecimento pode ser corrigido no modo BIOS. Como posso pelo menos consertar o aquecimento no modo BIOS? Tentei colocar isso no meu xorg.conf na seção Device para ativar a economia de energia:

     Option         "DPMS" "1"
     Option         "RegistryDwords" "EnableBrightnessControl=1; PowerMizerEnable=0x1; PerfLevelSrc=0x2233; PowerMizerDefault=0x3"

... mas isso não funcionou.

Ah, e eu não estou usando o rEFIt, a propósito, poderia ser isso?

stommestack
fonte

Respostas:

18

Para mim, inicializar o Ubuntu no modo UEFI com os drivers da Nvidia carregados também sempre resultava na conhecida tela preta quando o X era iniciado.

Isso foi até ontem!

Depois de encontrar algumas informações muito promissoras em outro tópico sobre a instalação do Windows 7 no modo UEFI em um Mac. As pessoas de lá lutaram com o suporte legado necessário para as 10h do Windows 7 e descobriram que, para contornar isso, é possível executar uma instalação autônoma (porque o monitor não funciona durante a instalação). As informações cruciais para inicializar com êxito o Ubuntu no modo UEFI, mesmo com os drivers da Nvidia, eram que, após o início da inicialização do EFI (durante a entrega ao grub), o firmware da Apple na verdade não ativa a placa VGA como mestre do barramento PCI-E . A equipe do Windows explicou como contornar isso usando um shell EFI que carrega em cadeia o gerenciador de inicialização do Windows para, pelo menos, executar a instalação no modo autônomo. E aqui estão as boas notícias:é fácil fazer isso no GRUB !

Na verdade, estou digitando isso no MacBook Pro 7,1 (meados de 2010) executando o Ubuntu Vivid inicializado no modo UEFI ( Xorg.0.log ). No entanto, deve ser fácil rodar ou adaptar isso a qualquer distribuição Linux que forneça uma versão EFI do GRUB, por exemplo, Ubuntu 14.04.2 LTS.

~$ dmesg | grep -i efi
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.19.0-15-generic.efi.signed root=UUID=7843c644-e6f4-4d64-9317-0b854cb524f2 ro quiet splash intremap=off acpi_osi=! acpi_osi=Darwin nomodeset vt.handoff=7
[    0.000000] efi: EFI v1.10 by Apple
[    0.000000] efi:  ACPI=0xbf96a000  ACPI 2.0=0xbf96a014  SMBIOS=0xbf71a000

Para encurtar a história, precisamos definir dois registros PCI-E: um que permita o barramento master na placa de vídeo e o outro que permita o suporte a VGA na ponte PCI-E da placa de vídeo. Portanto, na verdade, não tem nada a ver com os drivers da Nvidia e, dependendo do ponto de vista, nem mesmo com a implementação desatualizada / aleijada da Apple, você o chama de EFI.

Foi assim que eu resolvi. Obviamente, o kudo vai principalmente para os caras no fórum MacRumors. AVISO LEGAL As instruções a seguir são fornecidas como estão, sem garantias, nem assumimos qualquer responsabilidade. FAÇA ISSO POR SUA CONTA E RISCO!

1. Instale o Ubuntu no modo UEFI com os drivers da Nvidia

Não entrarei em detalhes aqui, porque existem muitos artigos na Web mostrando como fazer isso e os drivers nouveau executando sua máquina a quente ou com a tela preta após a instalação dos drivers da Nvidia (por exemplo, www.rodsbooks.com / ubuntu-efi ).

Observe, no entanto, que as instruções a seguir assumem que você instalou e inicializou com sucesso no modo UEFI. Você pode verificar isso verificando a existência do diretório / sys / firmware, criado apenas após a inicialização no modo EFI.

2. Encontre os identificadores de barramento PCI-E certos

Precisamos dos IDs da placa gráfica e da ponte PCI-E à qual ela está conectada. Emita o seguinte comando em um shell:

~$ sudo lshw -businfo -class bridge -class display
pci@0000:00:00.0              bridge         MCP89 HOST Bridge
pci@0000:00:03.0              bridge         MCP89 LPC Bridge
pci@0000:00:0e.0              bridge         NVIDIA Corporation
pci@0000:00:15.0              bridge         NVIDIA Corporation
pci@0000:00:16.0              bridge         NVIDIA Corporation
pci@0000:00:17.0     >!!<     bridge         MCP89 PCI Express Bridge
pci@0000:04:00.0     >!!<     display        MCP89 GeForce 320M

Veja (1) a linha dizendo display e (2) a linha com ponte logo antes dessa linha de exibição. Anote os IDs de barramento PCI-E (formato XX: YY.Z) do dispositivo de ponte (aqui 00: 17.0) e o dispositivo de exibição (aqui 04: 00.0) e lembre-se de qual é qual. Nota : esses IDs podem ser diferentes em sua máquina, dependendo do modelo e da revisão do Mac.

3. Crie um script GRUB para configurar os registradores PCI-E durante a inicialização

Inicie um editor de texto com o sudo nano /etc/grub.d/01_enable_vga.conf e copie / cole o conteúdo abaixo. Substitua 00: 17.0 pelo ID PCI-E do seu dispositivo de ponte anotado na etapa 2. Substitua 04: 00.0 pelo ID PCI-E do seu dispositivo de exibição anotado na etapa 2.

cat << EOF
setpci -s "00:17.0" 3e.b=8
setpci -s "04:00.0" 04.b=7
EOF

Por fim, torne o arquivo criado executável e atualize seus arquivos de configuração do grub usando os dois comandos a seguir .

~$ sudo chmod 755 /etc/grub.d/01_enable_vga.conf
~$ sudo update-grub

4. Reinicialize e verifique

Se, após a reinicialização, os valores do registro foram definidos como 8 (dispositivo de ponte) e 7 (dispositivo de exibição), tudo correu bem:

 ~$ sudo setpci -s "00:17.0" 3e.b
 08
 ~$ sudo setpci -s "04:00.0" 04.b
 07

5. Instale os drivers da Nvidia e divirta-se!

Use a GUI de drivers adicionais do Ubuntu para instalar os drivers da Nvidia. Eu recomendo seguir este artigo sobre como habilitar os controles de brilho, porque ele não funciona imediatamente.

Andreas
fonte
Alguma chance de você conectar-se ao seu arquivo /etc/X11/xorg.conf?
Patrick Patrick
Desculpe, vendi a máquina alguns meses depois de escrever este artigo. Mas você pode tentar perguntar neste tópico dos fóruns do Arch: bbs.archlinux.org/viewtopic.php?id=162289&p=4 .
556 Andreas
1

Eu tive um problema semelhante com meu laptop, o seguinte funcionou para mim, espero que ajude você.

O uso inicial de Júpiter ajudou a resolver a maioria dos problemas de aquecimento e duração da bateria.
Meu laptop é executado em média 50 graus Celsius e estava funcionando a 68 graus Celsius antes de instalar o Jupiter.

sudo add-apt-repository ppa: webupd8team / jupiter
sudo apt-get update
sudo apt-get install jupiter

Depois de instalar o Jupiter, instalei o Bumblebee para que minha placa nvidia funcionasse e alternasse entre a intel e a nvidea, conforme necessário, para economizar a bateria e ficar mais fria.

add-apt-repository ppa: bumblebee / stable
sudo apt-get install nvidia-atual
sudo apt-get install bumblebee bumblebee-nvidia

Reiniciar

Em seguida, teste para ver se funciona com

optirun glxspheres

Para instalar a GUI do Bumblebee: /ubuntu//a/170596/207851

Depois disso, meu laptop é executado em média 47 graus Celsius e minha bateria dura em média 3 horas (isto é, ouvindo música e desenvolvendo / trabalhando em 3D como usar o Blender).

Boa sorte e espero que isso ajude

Jonathan Moss
fonte
0

Vou tentar ajudar.

Primeiro você está correto. Você não pode usar o modo EFI e os drivers proprietários. Não apenas isso, mas muitas outras coisas serão resolvidas. Por enquanto, sua melhor opção de suporte é instalar no modo BIOS.

Agora quanto ao calor. Lembre-se de que o OS X fica mais frio porque eles sabem que o "aquecedor da virilha" é desagradável a temperaturas mais altas. Ou seja, eles esfriam demais para que você possa ficar parado com um dissipador de calor de 17 "no colo. Dito isso, você pode controlar as coisas no Linux para esfriar também (e manter a temperatura mais baixa).

Este código é muito bom. Compile-o, execute-o e configure-o para iniciar na inicialização, e você deverá obter resultados "melhores".

Você também pode controlar manualmente a velocidade do ventilador.

primeiro

echo 1 > /sys/devices/platform/applesmc.768/fan1_manual  
echo 1 > /sys/devices/platform/applesmc.768/fan2_manual  

Em seguida, faça eco na velocidade do controlador do ventilador

echo 6000 > /sys/devices/platform/applesmc.768/fan1_input  
echo 6000 > /sys/devices/platform/applesmc.768/fan2_input  

6000 é a velocidade de rotação da sua segmentação (nos scripts acima). 6000 é o máximo "oficial". Nessa velocidade, você obterá o som familiar de decolagem e seu dissipador de calor de 17 "ficará muito frio. Você também queimará seus fãs rapidamente. 2000 é o mínimo. Eu corro em 2000 um pouco, raramente vendo mais de 3000 mesmo quando estiver jogando, é claro que isso significa que ele fica mais quente do que no OS X.

A temperatura máxima oficial para a CPU nesse modelo é de 105 graus. Celsius. Então você tem bastante espaço de manobra.

PS Limpe suas vias aéreas, apenas para ter certeza.

PPS Aqui está minha configuração para o mbpfan, que estou usando para super-arrefecer (um pouco), mas mantém o laptop fresco ao toque e muito mais agradável do que no OS X.

[general]   
min_fan_speed = 3200    # default is 2000  
max_fan_speed = 6200    # default is 6200  
low_temp = 45       # try ranges 55-63, default is 63  
high_temp = 60          # try ranges 58-66, default is 66  
max_temp = 62           # do not set it > 90, default is 86  
polling_interval = 7    # default is 7  

O que eu faço é executar algo que realmente vai amontoar minha CPU e executar as CPUs em 100%. Em seguida, ligue os ventiladores a 6000 RPM e veja onde a temperatura se estabiliza. Em seguida, defina essa temperatura como meu "high_temp".

Defina o "max_temp" para algo um pouco além disso. Não muito longe, mas mais ainda o exemplo de superaquecimento.

Próximo Gire a CPU para economizar energia. E deixe-o ficar ocioso com os ventiladores ainda em 6000. Defina essa temperatura para o seu "low_temp".

Finalmente, para a velocidade mínima do ventilador, defina-o como algo que você gosta. Basicamente, apenas o suficiente para que você não possa ouvi-lo.

Então você o executa por um tempo e vê. Novamente, a temperatura máxima da CPU para o modelo é de 105 graus; portanto, o Linux não está errado em permitir que ele entre nos anos 80. Não vai prejudicar nada. Mude a velocidade do ventilador, no entanto, mantém o gabinete mais frio (o que, porque é o dissipador de calor da CPU e da GPU pode esquentar bastante no seu colo), e isso é pura preferência.

Para mim, um mínimo de 50, um máximo de 60 e um máximo de 70 funciona muito bem. Mas, novamente, esse nível de ajustes é a gosto. Com essa configuração de super-resfriamento, minha CPU nunca fica acima de 59. É claro que também é bastante alto.

coteyr
fonte
"Você também vai queimar seus fãs rapidamente". Isso significa que isso vai quebrar meus fãs? Ou eu entendi mal? Caso contrário, vou tentar isso.
Stommestack
Rodar a 6000 em tempo integral os queimará muito rápido. Executá-los a uma velocidade mais normal (por exemplo, 3000-4000) será bom. Os ventiladores devem atingir 6.000 e não funcionar lá em tempo integral.
coteyr
Eu tentei instalar isso, mas sem resultados. Meu MacBook ainda está mais quente. Eu posso sentir o calor.
Stommestack
Você tentou colocar seus ventiladores manualmente em 6000 e limpar o caminho do fluxo de ar? Atualmente, a temperatura da minha CPU está em 59,5 e os quatro núcleos estão em 100%. Não será muito mais frio do que isso.
coteyr
Não pode ser meu caminho de fluxo de ar, porque no Mac OS X é muito legal. Quando pressiono o dedo contra a tecla alt esquerda, sinto calor no Ubuntu. Mas não no Mac OS X.
stommestack