Driver NVidia eksklusif dengan EFI di Mac, untuk mencegah overheating

12

Saya memiliki dual-boot Mac OS X 10.8 dan Kubuntu 12.10 64x pada MacBook putih saya dari pertengahan 2010 yang diinstal. (Pengidentifikasi model: MacBook7, 1. Saya telah memutakhirkan RAM dari 2GB menjadi 8GB, jika itu penting.) Saya memiliki driver NVIDIA eksklusif yang diinstal pada Kubuntu saya.

Dilihat dari widget monitor suhu di Kubuntu, suhu saya tampaknya ~ 10 ℃ lebih panas dibandingkan di bawah Mac OS X. Di Mac OS XI gunakan Monitor Suhu . Saya membandingkan nilai CPU Core 0 dan CPU Core 1 di Kubuntu dengan nilai CPU Core 1 dan CPU Core 2 di Mac OS X.

10 ℃ lebih mungkin bukan bencana panas yang terlalu besar, tetapi ketika saya melakukan hal-hal yang sangat intens di komputer saya (seperti bermain Team Fortress 2 sebentar) CPU saya berada pada ~ 70 ℃ di OSX, dan ketika bermain sebentar di Kubuntu , CPU saya ~ 80 ℃. Saya khawatir suhu yang lebih tinggi dapat mempersingkat masa pakai laptop saya.

Saya melakukan riset dan menemukan bahwa mungkin saya menginstalnya dalam mode BIOS, yang menyebabkan panas. Saya tidak dapat menginstalnya dalam mode EFI, karena driver NVidia propietary tidak berfungsi saat itu (sudah mencobanya, ia memberikan layar hitam). Apakah ada yang tahu cara mendapatkan driver NVidia propietary bekerja dalam mode EFI?

Sunting: Oke, meskipun tidak ada cara untuk menggunakan driver nvidia eksklusif dalam mode EFI (sepertinya tidak ada cara untuk melakukannya, saya tidak mendapatkan jawaban), saya sudah akan senang jika pemanasan bisa diperbaiki dalam mode BIOS. Bagaimana saya setidaknya bisa memperbaiki pemanasan dalam mode BIOS? Saya mencoba meletakkan ini di xorg.conf saya di bagian Device untuk mengaktifkan penghematan daya:

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

... tapi itu tidak berhasil.

Oh, dan saya tidak menggunakan RESEFIL, mungkinkah itu?

stommestack
sumber

Jawaban:

18

Bagi saya, boot Ubuntu dalam mode UEFI dengan driver Nvidia dimuat, juga selalu menghasilkan layar hitam yang terkenal ketika X dimulai.

Itu sampai kemarin!

Setelah mengalami beberapa info yang sangat menjanjikan di utas lain tentang menginstal Windows 7 dalam mode UEFI pada Mac. Orang-orang di sana berjuang dengan dukungan legacy int 10j yang diperlukan Windows 7 dan menemukan bahwa untuk mengatasi itu, seseorang dapat melakukan instalasi tanpa pengawasan (karena tampilan tidak berfungsi selama instalasi). The informasi penting untuk berhasil booting Ubuntu dalam mode UEFI bahkan dengan driver Nvidia adalah bahwa setelah awal EFI boot (saat menyerahkan ke grub), firmware Apple tidak benar-benar mengaktifkan kartu VGA sebagai master PCI-E bus . Orang-orang Windows menjelaskan bagaimana cara menghindari ini menggunakan shell EFI yang memuat boot manager Windows untuk setidaknya menjalankan setup dalam mode tanpa pengawasan. Dan inilah kabar baiknya:mudah untuk melakukan ini di GRUB !

Bahkan, saya sekarang mengetik ini di MacBook Pro 7,1 (pertengahan 2010) yang menjalankan Ubuntu Vivid yang dibooting dalam mode UEFI ( Xorg.0.log ). Namun, itu harus mudah dijalankan atau disesuaikan dengan distribusi Linux yang menyediakan GRFI versi EFI, misalnya 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

Singkatnya, kita harus menetapkan dua register PCI-E: satu yang memungkinkan penguasaan bus pada kartu video dan yang lainnya memungkinkan dukungan VGA pada jembatan PCI-E pada kartu video. Jadi sebenarnya tidak ada hubungannya dengan driver Nvidia dan tergantung pada sudut pandangnya, bahkan dengan Apple yang sudah usang / lumpuh / sebut saja implementasi EFI.

Ini adalah bagaimana saya menyelesaikannya. Tentu saja, kudo itu terutama ditujukan untuk orang-orang di forum MacRumors. PENOLAKAN Instruksi berikut diberikan sebagaimana adanya, tanpa jaminan atau saya bertanggung jawab. LAKUKAN DENGAN RESIKO DITANGGUNG SENDIRI!

1. Instal Ubuntu dalam mode UEFI dengan driver Nvidia

Saya tidak akan membahas lebih lanjut di sini karena ada banyak artikel di web yang menunjukkan kepada Anda cara melakukan ini dan berakhir dengan driver nouveau yang menjalankan mesin Anda panas atau dengan layar hitam setelah menginstal driver Nvidia (mis. Www.rodsbooks.com / ubuntu-efi ).

Harap perhatikan bahwa petunjuk berikut menganggap Anda telah berhasil menginstal dan mem-boot dalam mode UEFI. Anda dapat memverifikasi itu dengan memeriksa keberadaan direktori / sys / firmware yang hanya dibuat setelah boot dalam mode EFI.

2. Temukan pengidentifikasi bus PCI-E yang tepat

Kami membutuhkan ID untuk kartu grafis dan jembatan PCI-E yang terhubung dengannya. Keluarkan perintah berikut dalam 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

Lihat (1) tampilan garis mengatakan dan (2) garis dengan jembatan tepat sebelum garis tampilan itu. Tulis id bus PCI-E (format XX: YY.Z) dari perangkat jembatan (di sini 00: 17.0) dan perangkat layar (di sini 04: 00.0) dan ingat yang mana. Catatan : ID tersebut mungkin berbeda pada mesin Anda, tergantung pada model dan revisi Mac Anda.

3. Buat skrip GRUB untuk mengatur register PCI-E saat boot

Jalankan editor teks dengan sudo nano /etc/grub.d/01_enable_vga.conf dan salin / tempel konten di bawah ini. Ganti 00: 17.0 dengan ID PCI-E dari perangkat bridge Anda yang dicatat pada langkah 2. Ganti 04: 00.0 dengan ID PCI-E perangkat tampilan Anda yang dicatat pada langkah 2.

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

Terakhir, buat file yang dibuat dapat dieksekusi dan perbarui file konfigurasi grub Anda menggunakan perintah DUA berikut .

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

4. Reboot dan periksa

Jika, setelah reboot, nilai register telah diatur ke 8 (perangkat jembatan) dan 7 (perangkat layar), semuanya berjalan dengan baik:

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

5. Instal driver Nvidia dan nikmatilah!

Gunakan GUI driver tambahan Ubuntu untuk menginstal driver Nvidia. Saya sarankan mengikuti artikel ini tentang cara mengaktifkan kontrol kecerahan karena tidak berfungsi di luar kotak.

Andreas
sumber
Apakah ada kemungkinan Anda dapat menautkan ke file /etc/X11/xorg.conf Anda?
Patrick
Maaf, saya menjual mesin beberapa bulan setelah menulis artikel ini. Tetapi Anda dapat mencoba bertanya di forum Arch thread ini: bbs.archlinux.org/viewtopic.php?id=162289&p=4 .
Andreas
1

Saya punya masalah yang sama dengan laptop saya berikut ini bekerja untuk saya, saya harap ini membantu Anda.

pertama menggunakan Jupiter membantu memecahkan sebagian besar masalah pemanasan dan masa pakai baterai.
Laptop saya berjalan rata-rata 50 derajat Celcius dan berjalan pada 68 derajat Celcius sebelum menginstal Jupiter.

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

Setelah saya menginstal Jupiter, saya menginstal Bumblebee untuk mendapatkan kartu nvidia saya untuk bekerja dan beralih antara intel dan nvidea yang diperlukan untuk menghemat masa pakai baterai dan menjalankan pendingin.

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

Mulai ulang

Kemudian Uji untuk melihat apakah itu berhasil

optirun glxspheres

Untuk menginstal BUI Gumblebee: /ubuntu//a/170596/207851

Setelah ini Laptop Saya berjalan rata-rata 47 derajat Celcius dan baterai saya rata-rata 3 jam (Ini dengan mendengarkan musik dan mengembangkan / kerja 3D seperti Menggunakan Blender).

Semoga Sukses dan Saya harap Ini Membantu

Jonathan Moss
sumber
0

Saya akan mencoba membantu.

Pertama, Anda benar. Anda tidak dapat menggunakan mode EFI dan driver berpemilik. Bukan hanya itu tetapi banyak hal lainnya akan borked. Untuk saat ini pilihan terbaik Anda untuk dukungan adalah menginstal dalam mode BIOS.

Sekarang untuk memanaskan. Ingatlah bahwa OS X bekerja lebih dingin karena mereka tahu "selangkangannya lebih hangat" tidak menyenangkan pada suhu yang lebih tinggi. Yaitu mereka lebih keren sehingga Anda bisa duduk diam dengan heat sink 17 "di pangkuan Anda. Yang mengatakan Anda dapat mengontrol hal-hal di Linux sehingga Anda juga bisa over cool (dan menjaga suhu lebih dingin).

Kode ini cukup bagus. Kompilasi, jalankan, dan atur untuk mulai saat boot, dan Anda akan mendapatkan hasil yang "lebih baik".

Anda juga dapat secara manual mengontrol kecepatan kipas.

pertama

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

Kemudian gema kecepatan ke pengendali kipas

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

6000 adalah RPM yang mempercepat penargetan Anda (dalam skrip di atas). 6000 adalah maks "resmi". Pada kecepatan itu Anda akan mendapatkan suara lepas landas yang akrab, dan heat sink 17 "Anda akan menjadi sangat dingin. Anda juga akan membakar kipas Anda dengan sangat cepat. 2000 adalah minimum. Saya berlari pada 2000 agak sedikit jarang melihat lebih dari 3000 bahkan saat bermain game. Tentu saja itu berarti lebih hangat daripada di OS X.

Suhu maksimum resmi untuk CPU dalam model itu adalah 105 deg. Celsius. Jadi Anda punya banyak ruang gerak.

PS Bersihkan saluran udara Anda, hanya untuk memastikan.

PPS Ini adalah konfigurasi saya untuk mbpfan itu salah satu yang saya gunakan untuk overcool (cukup sedikit) tetapi itu membuat laptop tetap dingin saat disentuh, dan banyak coooler di 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  

Apa yang saya lakukan adalah menjalankan sesuatu yang benar-benar akan menumpuk CPU saya dan menjalankan CPU pada 100%. Kemudian jalankan kipas pada 6000 RPM dan lihat di mana suhu mengendap. Kemudian atur suhu itu sebagai "high_temp" saya.

Atur "max_temp" menjadi sesuatu yang sedikit lebih dari itu. Bukan untuk jauh, tapi lebih jauh maka contoh pendinginan lebih.

Selanjutnya Ubah CPU menjadi hemat daya. Dan biarkan duduk diam dengan kipas masih di 6000. Setel suhu itu ke "low_temp" Anda.

Akhirnya untuk kecepatan kipas minimum, atur ke sesuatu yang "Anda sukai". Pada dasarnya cukup rendah sehingga Anda tidak dapat mendengarnya.

Kemudian Anda menjalankannya sebentar dan melihat. Sekali lagi, suhu maksimum CPU untuk model adalah 105 derajat, sehingga Linux tidak salah untuk membiarkannya masuk ke tahun 80-an. Itu tidak akan membahayakan apa pun. Namun, ubah kecepatan kipas menjaga casing tetap dingin (yang karena heat sink untuk CPU dan GPU dapat menjadi cukup hangat di pangkuan Anda), dan itu adalah preferensi murni.

Bagi saya, rendahnya 50, tinggi 60 dan maksimal 70 bekerja dengan baik. Tapi sekali lagi, tingkat penyesuaian ini hanya untuk selera. Dengan konfigurasi pendingin yang terlalu tinggi, CPU saya tidak pernah mencapai di atas 59. Tentu saja cukup keras juga.

kapas
sumber
"Kamu juga akan membakar penggemar dengan sangat cepat." Apakah itu berarti ini akan menghancurkan penggemar saya? Atau apakah saya salah paham? Kalau tidak, saya akan coba ini.
stommestack
Berjalan pada 6000 waktu penuh akan membakar mereka dengan sangat cepat. Menjalankan mereka pada kecepatan yang lebih normal (katakan 3000-4000) akan baik-baik saja. Para penggemar dimaksudkan untuk memuncak pada 6000 tidak berjalan di sana penuh waktu.
coteyr
Saya mencoba menginstal itu, tetapi tidak ada hasil. MacBook saya masih lebih panas. Saya bisa merasakan panasnya.
stommestack
Apakah Anda mencoba menjalankan kipas Anda secara manual pada 6000 dan membersihkan jalur aliran udara Anda? Temperatur CPU saya saat ini di 59.5 dan keempat core berada di 100%. Itu tidak akan jauh lebih keren dari itu.
coteyr
Itu tidak bisa menjadi jalur aliran udara saya karena di bawah Mac OS X itu sangat keren. Ketika saya memegang jari saya pada tombol alt kiri, saya bisa merasakan panas di Ubuntu. Tetapi tidak di Mac OS X.
stommestack