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


12

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

Kubuntuの温度モニターウィジェットから判断すると、私の温度はMac OS Xの場合と比較して10℃ほど高温になっているようです。MacOS XIでは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モードで動作させる方法を知っていますか?

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

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

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

ああ、ちなみにrEFItを使用していません。

回答:


18

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

それは昨日まででした!

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

実際、私は今、UEFIモード(Xorg.0.log)で起動されたUbuntu Vividを実行しているMacBook Pro 7,1(2010年半ば)でこれを入力しています。ただし、EFIバージョンのGRUBを提供する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フォーラムのメンバーに送られます。 免責事項以下の指示は現状のまま提供され、保証も責任も負いません。あなた自身の責任でこれをしてください!

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

Webにはこれを行う方法を示す多くの記事があり、Nvidiaドライバーをインストールした後、マシンをホットで実行しているnouveauドライバーまたは黒い画面になってしまうため、ここでは詳しく説明しません(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を使用してテキストエディターを起動し、以下のコンテンツをコピーして貼り付けます。置き換え 00:17.0を 2段階で注意お使いのブリッジデバイスのPCI-E IDで置き換え 04: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

最後に、次の2つのコマンドを使用して、作成したファイルを実行可能にし、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ドライバーをインストールしてお楽しみください!

Ubuntuの追加ドライバー GUIを使用して、Nvidiaドライバーをインストールします。輝度コントロールはそのままでは機能しないため、輝度コントロールを有効にする方法については、この記事に従うことをお勧めします。


/etc/X11/xorg.confファイルにリンクできる可能性はありますか?
パトリック

申し訳ありませんが、この記事を書いてから数ヶ月後にマシンを販売しました。しかし、Archフォーラムのスレッドbbs.archlinux.org/viewtopic.php?id=162289&p=4で質問してみてください。
アンドレアス

1

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

最初に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

リブート

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

オプティランglxspheres

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

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

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


0

お手伝いします。

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

加熱するようになりました。OS Xは、「クロッチウォーマー」が高温では不快であることがわかっているため、より低温で動作することに注意してください。つまり、ひざの上に17インチのヒートシンクを置いてじっと座って過ごせるように冷やしすぎています。つまり、Linuxで物事を制御して、冷やしすぎないように(そして温度をより低く保つことができます)。

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

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

最初

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が最小です。2000で実行すると、3000を超えることはめったにありませんもちろん、それはOS Xよりも暖かく実行されることを意味します。

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

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

PPSこれはmbpfanの私の設定です。これは私が過冷却するために使用しているものです(かなり)が、ラップトップを触ってクールに保ち、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を超えることはありません。もちろん、かなり大きな音もします。


「また、ファンはすぐに燃え尽きます。」これは私のファンを壊すということですか?または私は誤解しましたか?それ以外の場合は、これを試してみます。
stommestack

フルタイムで6000で実行すると、かなり速く燃え尽きます。より通常の速度(たとえば3000〜4000)で実行することは問題ありません。ファンは、フルタイムで稼働するのではなく、6000でピークになることを意図しています。
coteyr

私はそれをインストールしようとしましたが、結果はありませんでした。私のMacBookはまだ暑いです。暑さを感じることができます。
stommestack

6000でファンを手動で実行し、空気の流れをきれいにしてみましたか?私のCPU温度は現在59.5で、4つのコアはすべて100%です。
coteyr

Mac OS Xでは本当にクールだから、気流の道にならない。左のAltキーに指を当てると、Ubuntuで熱を感じることがあります。しかし、Mac OS Xではそうではありません。
stommestack'13
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.