วิธีการติดตั้งไดรเวอร์ nVidia ด้วย Bumblebee บน Ubuntu 14.04


11

ฉันจะตั้งค่าเทคโนโลยี nvidia-optimus บน Ubuntu ได้อย่างถูกต้องได้อย่างไร


คำตอบ:


26

หมายเหตุ: โพสต์นี้เป็นผลมาจากการใช้เวลาหลายวันในการอ่านเนื้อหาต่าง ๆ บนเว็บดังนั้นจงยอมรับความเสี่ยงของคุณเอง มันถูกทดสอบบน Ubuntu 12.04 / 12.10 / 13.04 / 13.10 / 14.04 (64 บิตทั้งหมด) ด้วยการ์ดกราฟิก nVidia GT650M อย่าลังเลที่จะเพิ่มความคิดเห็นและข้อเสนอแนะ


ติดตั้ง nVidia และ bumblebee

1. ก่อนอื่นเราต้องลบไดรเวอร์วิดีโอทั้งหมดในคอมพิวเตอร์:

sudo apt-get remove --purge nvidia*

จากนั้น bumblebee ในกรณีที่คุณติดตั้งไว้ก่อนหน้านี้:

sudo apt-get remove --purge bumblebee*

เราต้องลบไดรเวอร์นูโวทั้งหมดด้วย:

sudo apt-get --purge remove xserver-xorg-video-nouveau

เพื่อให้แน่ใจว่าลบเนื้อหาทั้งหมดแล้วให้ลองพิมพ์dpkg -l | grep nvidiaและdpkg -l | grep bumblebee: ไม่ควรส่งคืนสิ่งใด เพราะdpkg -l | grep nouveauมีโอกาสที่มันจะส่งกลับบางบรรทัดพูดlibdrm-nouveauXXXXX; สำหรับตอนนี้เพียงแค่ละเว้นพวกเขา

2. จากนั้นเราต้องให้แน่ใจว่าได้พิมพ์ส่วนหัวทั้งหมด:

sudo apt-get install linux-source && sudo apt-get install linux-headers-$(uname -r)

3. สิ่งต่อไปที่ต้องทำคือการขึ้นบัญชีดำไดรเวอร์นูโวที่เหลือและแพ็คเกจอื่น ๆ ที่อาจทำให้เกิดปัญหา:

sudo cp /etc/modprobe.d/blacklist.conf /etc/modprobe.d/blacklist.conf.bak
 sudo gedit /etc/modprobe.d/blacklist.conf

การเพิ่มบรรทัดต่อไปนี้ที่ท้ายไฟล์:

# Necessary to install nvidia drivers
blacklist nouveau
blacklist lbm-nouveau
blacklist nvidia-173
blacklist nvidia-96
blacklist nvidia-current
blacklist nvidia-173-updates
blacklist nvidia-96-updates
alias nvidia nvidia_current_updates
alias nouveau off
alias lbm-nouveau off
options nouveau modeset=0

เพียงบันทึกและออก

4. ตอนนี้ให้รันคำสั่งที่ดีที่สุดสำหรับ Ubuntu

sudo apt-get update && sudo apt-get dist-upgrade -y

5. จากนี้เราทำงานบน tty เปิดคอนโซล tty1 ด้วย CTRL + ALT + F1 และล็อกอินด้วยชื่อผู้ใช้และรหัสผ่านของคุณ จากนั้นดำเนินการ:

sudo service lightdm stop

ตอนนี้เราจะติดตั้งไดรเวอร์ ดำเนินการ:

sudo apt-get install nvidia-XXX-updates nvidia-settings

โดยที่ XXX คือไดรเวอร์ที่เสถียรล่าสุด ฉันใช้ไดร์เวอร์ 331 แต่ฉันได้อ่านที่ไหนสักแห่งว่ามี 343 ให้ดาวน์โหลด (ไม่รู้ว่ามันเสถียรหรือไม่)

หมายเหตุ:ด้วยไดร์เวอร์เวอร์ชั่นล่าสุดมันจะติดตั้งnvidia-primeตามค่าเริ่มต้น เทคโนโลยีนี้มีวัตถุประสงค์เพื่อสลับระหว่างการ์ดกราฟิก Intel และ nVidia โดยอัตโนมัติโดยผู้ใช้ไม่ต้องดำเนินการใด ๆ เมื่อต้องการทำเช่นนี้การ์ดจะเปิดทิ้งทั้งการ์ด ในทางกลับกัน Optimus จะเปิดใช้การ์ดกราฟิก nVidia เฉพาะเมื่อมีคำขอของผู้ใช้อย่างชัดเจน มันแปลในการใช้พลังงานน้อยลงอย่างมีนัยสำคัญต่อนายก

ฉันชอบออพติมัสมากกว่าไพรม์ แต่ถ้าคุณไม่ใส่ใจกับการสิ้นเปลืองพลังงานมหาศาลให้หยุดที่นี่ มิฉะนั้นคุณมีสองตัวเลือก:

  • ลบ prime ทั้งหมด ( sudo apt-get remove --purge nvidia-prime);

  • ออกจากนายก; ในส่วน "Prime with optimus" เราจะดูวิธีทำให้ Optirun ทำงานด้วยการติดตั้ง Prime

6. ตอนนี้เราต้องติดตั้ง bumblebee และแพ็คเกจ virtualgl ด้วย

sudo apt-get install bumblebee bumblebee-nvidia virtualgl virtualgl-libs virtualgl-libs-ia32:i386 virtualgl-libs:i386

จากนั้นเราต้องเพิ่มผู้ใช้ของเราในกลุ่มภมรด้วย:

sudo usermod -a -G bumblebee $USER

จากนั้นรีบูทพีซี

7. เข้าสู่ระบบในบัญชีผู้ใช้ของคุณเปิดหน้าต่างเทอร์มินัลใหม่และพิมพ์:

cd /etc/bumblebee
ls -Al

ในบรรดาไฟล์ต่าง ๆ ที่ระบุควรมีสองไฟล์: bumblebee.confและxorg.nvidia.conf. มาทำสำเนาสำรองของทั้งคู่ด้วย:

sudo cp FILE_NAME FILE_NAME.bak

คุณควรแทนที่ FILE_NAME ด้วยชื่อจริงของไฟล์ จากนั้นเราจะไปแก้ไขไฟล์แรกด้วยsudo gedit bumblebee.confเพิ่ม (ทั้งหมดโดยไม่มีเครื่องหมายอัญประกาศ)

  • [bumblebeed] ส่วน: หลัง "Driver =" insert "nvidia"
  • [nvidia-driver] ส่วน: หลัง "KernelDriver =" แทรก "nvidia-XXX-updates"
  • [nvidia-driver] ส่วน: หลัง "LibraryPath =" insert "/ usr / lib / nvidia-XXX-updates, / usr / lib / nvidia-331-updates: / usr / lib32 / nvidia-XXX-updates"
  • [ส่วนโปรแกรมควบคุม nvidia]: หลัง "XorgModulePath =" แทรก "/ usr / lib / nvidia-XXX-updates / xorg, / usr / lib / xorg / โมดูล"

ตรวจสอบให้แน่ใจว่า "XorgConfFile" ภายใต้ [nvidia-driver] เท่ากับ "/etc/bumblebee/xorg.conf.nvidia" (อีกครั้งโดยไม่มีเครื่องหมายอัญประกาศ) จากนั้นให้บันทึกและปิด gedit

ตอนนี้เราต้องแก้ไขไฟล์อื่นด้วยsudo gedit xorg.conf.nvidia(ในกรณีนี้เราต้องใส่เครื่องหมายคำพูดด้วย !!) แทนที่ Option "ConnectedMonitor" "DFP"ด้วย Option "UseDisplayDevice" "none"บันทึกและออก

8. เรียกใช้gedit /etc/modprobe.d/bumblebee.confและตรวจสอบให้แน่ใจว่าทุกบรรทัดที่มีblacklist <something>อยู่ไม่ได้ถูกคอมเม้นต์ (เช่นพวกเขาไม่ได้ขึ้นต้นด้วย#)

9. ณ จุดนี้ให้เรียกใช้คำสั่งต่อไปนี้

sudo service bumblebeed start

หากมีข้อผิดพลาดให้ลองเรียกใช้คำสั่งอีกครั้งด้วยการรีสตาร์ทแทนที่จะเริ่มต้น หากคุณยังคงมีข้อผิดพลาดบางอย่างเช่น:

restart: Unknown job: bumblebeed

อาจเป็นสิ่งผิดปกติในไฟล์ bumblebee.conf ดังนั้นให้ตรวจสอบขั้นตอนที่ 7 อีกครั้ง

หากผลลัพธ์นั้นคล้ายกับ:

bumblebeed start/running, process XXXXX

คุณกำลังตั้งค่า bumblebee ในไม่ช้า!

10. ตอนนี้เราสามารถทำงานได้เพียงหรือoptirun glxspheres optirun glxspheres64หากทำงานได้ตามที่คาดหวังคุณจะได้ผลลัพธ์ดังนี้:

$ optirun glxspheres64
Polygons in scene: 62464
Visual ID of window: 0x20
Context is Direct
OpenGL Renderer: GeForce GT 650M/PCIe/SSE2
182.253407 frames/sec - 203.394802 Mpixels/sec
182.940725 frames/sec - 204.161849 Mpixels/sec
....

เพื่อตรวจสอบว่าเราเป็นจริงโดยใช้ nvidia-ไดรเวอร์เปิดอื่นในขณะที่ขั้วกำลังทำงานจากนั้นพิมพ์optirun <application> sudo lshw -c display | grep driverผลลัพธ์ควรเป็นอย่างนั้น

configuration: driver=nvidia latency=0
configuration: driver=i915 latency=0

ในทางกลับกันถ้าคุณปิดแอปพลิเคชันทั้งหมดที่เริ่มต้นด้วยoptirunควรแสดงเฉพาะไดรเวอร์ Intel แค่นั้นแหละ!!


ติดตั้ง Bumblebee UI

ขอบคุณคำตอบนี้จาก Pavak Paul นี่คือคำแนะนำในการเพิ่มส่วนต่อประสานผู้ใช้ bumblebee บน Ubuntu 14.04 เพื่อจัดการแอพที่จะเปิดโดยใช้ nVidia

1. ติดตั้ง Python App Indicator:

sudo apt-get install python-appindicator

2. ติดตั้ง Git:

sudo apt-get install git

3. สร้างไดเรกทอรีสำหรับ git:

mkdir git && cd git

4. ตรวจสอบที่เก็บ:

git clone https://github.com/Bumblebee-Project/bumblebee-ui.git
cd bumblebee-ui
sudo ./INSTALL

5. ไปที่แอปพลิเคชั่นเริ่มต้นและเพิ่มตัวบ่งชี้ bumblebee [คลิกที่เพิ่มจากนั้นใส่ชื่อและความคิดเห็นที่คุณต้องการ ใส่bumblebee-indicatorในกล่องคำสั่งและคลิกที่เพิ่ม)

6. รีบูต


นายกด้วย optimus

หากคุณต้องการให้ตัวเลือกใช้งานnvidia-primeบางครั้งให้ลองทำตามคำแนะนำด้านล่าง

1. เพื่อป้องกันการbumblebeedเริ่มต้นในเวลาบูตให้ดำเนินการ:

echo "manual" | sudo tee /etc/init/bumblebeed.override

2. ประเด็นนี้เป็นปัญหามากที่สุด มันป้องกันไม่ให้ bumblebee ทำการขึ้นบัญชีดำไดร์เวอร์ nVidia และควรส่งผลให้เซสชั่นกราฟิกหยุดทำงาน ลองด้วยความเสี่ยงของคุณเอง! วิ่ง:

sudo gedit /etc/modprobe.d/bumblebee.conf

และแสดงความคิดเห็นในบรรทัดที่มีไดรเวอร์ XXX ของ nVidia ของคุณ มันควรส่งผลให้บางอย่างเช่นนั้น

# XXX
#blacklist nvidia-XXX
#blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX

3. nvidia-settingsรีบูตระบบและการเปิดตัว สถานการณ์สุดท้ายคือ:

หากคุณเลือก "Intel (ประหยัดพลังงาน)" ในการตั้งค่า nvidia คุณจะเปิดใช้งานเฉพาะการ์ดกราฟิก Intel เท่านั้น คุณยังต้องเรียกใช้แอปพลิเคชันด้วยoptirunเพื่อใช้การ์ดกราฟิก nVidia

sudo service bumblebeed start
optirun <application>

หากคุณต้องการใช้โปรไฟล์ "Nvidia (ประสิทธิภาพ)" ให้เลือกจากการตั้งค่า nvidia จากนั้นเข้าสู่ระบบ / ออกจากระบบและทุกอย่างจะทำงานโดยอัตโนมัติ สิ่งเดียวคือคุณไม่ต้องเปิดbumblebeeddaemon ด้วยโปรไฟล์นี้ที่เลือกเพราะอาจทำให้เกิดปัญหา

ในกรณีที่คุณมีปัญหา:

1. ถ้าคุณต้องการใช้เท่านั้นnvidia-prime:

sudo apt-get --purge remove bumblebee*

จากนั้นรีบูท

2. หากคุณต้องการใช้เฉพาะ optimus โดยไม่ลบ nvidia-prime ให้แก้ไขไฟล์ก่อนหน้าอีกครั้ง:

sudo gedit /etc/modprobe.d/bumblebee.conf

Uncommenting (ลบอักขระ #) ออกจากบรรทัดที่แก้ไขก่อนหน้านี้:

# XXX
blacklist nvidia-XXX
blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX

และการรีบูท ในกรณีนี้คุณสามารถปล่อยให้ bumblebeed ทำงานในเวลาบูตได้:

sudo rm /etc/init/bumbebeed.override

1
ฉันทำตามคำแนะนำบน Ubuntu 14.04 แต่หน้าจอของฉันเป็นสีดำหลังจากหน้าจอเริ่มต้นและฉันไม่สามารถเข้าสู่ระบบได้ ใช้ Dell xps l502x, nvidia gfrc gt540m
DeepSidhu1313

1
คุณแน่ใจหรือว่าคุณทำตามคำแนะนำทั้งหมดตั้งแต่ต้น? อย่างไรก็ตามกด CTRL + ALT + F1 เพื่อเข้าถึง tty จากนั้นป้อนข้อมูลรับรองการเข้าสู่ระบบของคุณและเริ่มต้นใหม่ตั้งแต่ต้น
tigerjack89

1
โอเคฉันได้รับการแก้ไขปัญหาโดยใช้หรือเราสามารถใช้vblank_mode=0 primusrun ./glxgears vblank_mode=0 optirun -b primus ./glxgearsขอบคุณ :)
DeepSidhu1313

1
โปรดทราบฉันต้องติดตั้ง xorg-edgers ppa เพื่อรับแพ็คเกจ virtualgl ไม่มีอยู่ในการติดตั้ง Ubuntu 14.04 ที่สะอาด
Ubuntuser

1
นี่คือบทเรียนล่าสุดที่ฉันได้ทำการลงคะแนนไปแล้ว ฉันตรวจสอบแล้วและใช้งานได้กับ 17.10 ทำได้ดีมาก
Doodloo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.