web-dev-qa-db-ja.com

過熱を防ぐために、MacでEFIを備えた独自のNVidiaドライバー

2010年半ばの白いMacBookにデュアルブートMac OS X 10.8とKubuntu 12.10 64xがインストールされています。 (モデル識別子:MacBook7,1。RAMを2GBから8GBにアップグレードしました(それが重要な場合)。Kubuntuに独自のNVIDIAドライバーがインストールされています。

Kubuntuの温度モニターウィジェットから判断すると、私の温度はMac OS Xに比べて約10℃高いようです。MacOS Xでは Temperature Monitor を使用します。 KubuntuのCPUコア0とCPUコア1の値をMac OS XのCPUコア1とCPUコア2の値と比較しています。

10℃以上はそれほど大きな過熱災害ではないかもしれませんが、コンピューターで非常に激しいことをするとき(たとえば、 Team Fortress 2 しばらくプレイするとき)、OSXではCPUが〜70℃になります。 Kubuntuでしばらくプレイすると、CPUが〜80℃になります。温度が高いとラップトップの寿命が短くなるのではないかと心配しています。

いくつかの調査を行ったところ、BIOSモードでインストールしたことが原因である可能性があることがわかりました。所有権のあるNVidiaドライバーが動作しないため、EFIモードでインストールできません(既に試してみましたが、黒い画面が表示されました)。誰もが独自のNVidiaドライバーをEFIモードで動作させる方法を知っていますか?

編集:OK、EFIモードでプロプライエタリのnvidiaドライバーを使用する方法がなくても(それを行う方法がないように思われ、答えが得られない)、私はすでに満足しているだろうBIOSモードで加熱を修正できます。少なくともBIOSモードで加熱を修正するにはどうすればよいですか?省電力を有効にするために、これをDeviceセクションのxorg.confに入れてみました:

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

...しかし、それはうまくいきませんでした。

ああ、ところでrEFItを使用していません。

11
stommestack

私にとっては、Nvidiaドライバーをロードした状態でUbuntuをUEFIモードで起動すると、Xが起動したときによく知られている黒い画面が常に表示されていました。

それは昨日まででした!

別のスレッド MacでのUEFIモードでのWindows 7のインストールに関する非常に有望な情報に遭遇した後。向こうの人々は、Windows 7に必要なint 10hレガシーサポートに苦労し、それを回避するために、無人インストールを実行できることを発見しました(インストール中にディスプレイが機能しないため)。 NvidiaドライバーでもUEFIモードでUbuntuを正常に起動するための重要な情報は、EFIブートの開始時(grubへの引き渡し中)、Appleのファームウェアは実際にVGAカードをアクティブ化しないPCI-Eバスマスター。 Windowsの担当者は、少なくとも無人モードでセットアップを実行するために、WindowsブートマネージャーをチェーンロードするEFIシェルを使用してこれを回避する方法を説明しました。そしてここに朗報があります:GRUBでこれを行うのは簡単です

実際、私は今、UEFIモードで起動されたUbuntu Vividを実行しているMacBook Pro 7,1(2010年半ば)でこれを入力しています( Xorg.0.log )。ただし、GRUBのEFIバージョンを提供するLinuxディストリビューションで実行するか、これに適応させるのは簡単です。 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

簡単に言うと、2つのPCI-Eレジスタを設定する必要があります。1つはビデオカードでバスマスタリングを有効にし、もう1つはビデオカードのPCI-EブリッジでVGAサポートを有効にします。そのため、実際にはNvidiaドライバーとは関係がなく、視点によっては、Appleの時代遅れの/欠陥のある/あなたがEFI実装と名付けることさえありません。

これは私がそれを解決した方法です。もちろん、賞賛は主にMacRumorsフォーラムのメンバーに送られます。 免責事項以下の指示は、保証なしにそのまま提供され、いかなる責任も負いません。 これを行うATあなた自身のリスク!

1. Nvidiaドライバーを使用してUEFIモードでUbuntuをインストールします

これを行う方法を示すWeb上の記事が多数あるため、ここでは詳しく説明しません。Nuviaドライバーをインストールした後、マシンをホットに実行するnouveauドライバー、またはNvidiaドライバーをインストールした後の黒い画面になります(例 www .rodsbooks.com/ubuntu-efi )。

ただし、次の手順はUEFIモードで正常にインストールおよび起動したことを前提としています。 EFIモードで起動した後にのみ作成されるディレクトリ/ sys/firmwareの存在を確認することで、それを確認できます。

2.適切なPCI-Eバス識別子を見つける

グラフィックカードのIDと、接続先のPCI-Eブリッジの両方が必要です。シェルで次のコマンドを発行します。

~$ 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

(1)表示という行と、(2)その表示行の直前にあるブリッジのある行を見てください。ブリッジデバイス(ここでは00:17.0)とディスプレイデバイス(ここでは04:00.0)のPCI-EバスID(形式XX:YY.Z)を書き留め、どちらが正しいかを覚えておいてください。 注意:これらのIDは、お使いのMacモデルとリビジョンに応じて、マシン上で異なる場合があります。

3.ブート中にPCI-Eレジスタを設定するためのGRUBスクリプトを作成します

Sudo nano /etc/grub.d/01_enable_vga.confでテキストエディターを起動し、以下のコンテンツをコピー/貼り付けます。 Replace00:17.0ステップ2でメモしたブリッジデバイスのPCI-E ID Replace04:00.0ステップ2でメモしたディスプレイデバイスのPCI-E ID.

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

最後に、作成されたファイルを実行可能にし、次のTWOコマンドを使用してgrub構成ファイルを更新します。

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

4.再起動して確認する

再起動後に、レジスタ値が8(ブリッジデバイス)および7(ディスプレイデバイス)に設定されている場合、すべてが正常に実行されました。

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

5. Nvidiaドライバーをインストールしてお楽しみください!

UbuntuAdditional driversGUIを使用して、Nvidiaドライバーをインストールします。 この記事 明るさコントロールを有効にする方法については、そのままでは機能しないため、以下をお勧めします。

15
Andreas

私のラップトップでも同様の問題がありましたが、以下がうまくいきました。

最初にJupiterを使用すると、過熱とバッテリー寿命の問題のほとんどを解決できました。
私のラップトップは平均50℃で動作し、Jupiterをインストールする前は68℃で動作していました。

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

Jupiterをインストールした後、Bumblebeeをインストールしてnvidiaカードを動作させ、必要に応じてintelとnvideaを切り替えて、バッテリー寿命を節約し、クーラーを実行しました。

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

リブート

次に、それが動作するかどうかをテストします

 optirun glxspheres 

Bumblebee GUIをインストールするには: https://askubuntu.com/a/170596/207851

この後、私のラップトップは平均摂氏47度で動作し、私のバッテリーは平均3時間持続します(これは、音楽を聴いたり、Blenderを使用するような3D作業を開発した場合です)。

幸運とこれが役立つことを願っています

1
Jonathan Moss

私は支援しようとします。

まず、あなたは正しいです。 EFIモードと独自のドライバーは使用できません。それだけでなく、他の多くの事柄が中断されます。現在のところ、サポートの最良のオプションはBIOSモードでインストールすることです。

加熱するようになりました。 OS Xは、「クロッチウォーマー」が高温では不快であることがわかっているため、より低温で実行されることに注意してください。つまり彼らはひざの上に17インチのヒートシンクを置いてじっと座っていることができるので、彼らはあまりにも涼しくなります。

このコード はかなり良いです。コンパイルして実行し、起動時に開始するように設定すると、「より良い」結果が得られます。

ファン速度を手動で制御することもできます。

最初

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

次に、速度をファンコントローラーにエコーします。

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

6000はターゲティングのRPM速度です(上記のスクリプト)。 6000は「公式」の最大値です。その速度では、おなじみの離陸音が得られ、17インチのヒートシンクは非常に冷たくなります。また、ファンをすぐに燃やします。2000が最小です。もちろん、それはOS Xよりも暖かく実行されることを意味します。

そのモデルのCPUの公式の最高温度は105度です。摂氏。だから、小刻みに動く部屋がたくさんある。

追伸念のため、気道をきれいにしてください。

P.P.S. mbpfanの設定は次のとおりです。これは(かなり)過冷却するために使用しているものですが、ノートPCを涼しく保ち、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  

私がしていることは、実際にCPUをヒープに積み、CPUを100%で実行するものを実行することです。次に、6000 RPMでファンを実行し、温度が安定する場所を確認します。次に、その温度を「high_temp」に設定します。

「max_temp」をそれを少し超える値に設定します。遠くまでではなく、さらに過冷却の例です。

次に、CPUを回して省電力にします。そして、まだ6000のファンでアイドル状態にします。その温度を「low_temp」に設定します。

最後に、最小ファン速度については、「好きな」ものに設定します。基本的には聞こえない程度の低さです。

その後、しばらく実行して確認します。繰り返しになりますが、モデルのCPU最大温度は105度です。そのため、Linuxは80年代に入るのに間違っていません。それは害を与えません。ただし、ファンの速度を変更すると、ケーシングがより低温に保たれます(CPUとGPUのヒートシンクであるため、膝の上でかなり暖かくなる可能性があります)。

私にとっては、最低50、最高60、最高70で十分です。しかし、このレベルの微調整はすべて味わうことです。過冷却設定では、CPUが59を超えることはありません。もちろん、かなり大きな音もします。

0
coteyr