ขยะมูลฝอยใน nvidia bumblebee บน Trusty


12

ต่อไปนี้จะปรากฏขึ้นเมื่อทำงานoptirun glxgearsด้วยprimusและnvidia-331-updatesกำหนดค่าในbumblebee.conf:

ขยะพรีมัส

นี่คือ 14.04 Trusty Tahr, อัพเกรดจาก 13.10 ดูเหมือนว่าแอปพลิเคชันจะทำงานบน nvidia gpu แต่ไม่แสดงอย่างถูกต้องเหมือนใน distro เวอร์ชั่นก่อนหน้า ฉันสงสัยว่านี่เป็นข้อผิดพลาดใน Primus ใน repos 14.04 เว้นแต่ว่าหนึ่งในแพ็คเกจของฉันจะได้รับการกำหนดค่าไม่ดี

หน้าต่างจะรีเฟรชและแสดงส่วนของภาพ glxgears แต่เฉพาะเมื่อฉันย่อขนาดหน้าต่างและหนึ่งครั้งต่อเฟรมที่หน้าต่างกำลังถูกปรับขนาด การปรับสัดส่วน viewport GL นั้นไม่ถูกต้องในกระบวนการนี้เช่นกัน

ต่อการทดสอบบางอย่างPRIMUS_UPLOAD=1ธงดูเหมือนว่าจะทำให้หน้าต่างรีเฟรชอย่างถูกต้องและทุกอย่างทำงานได้ตามที่ต้องการ นี่ไม่ใช่วิธีแก้ปัญหาอย่างถาวร


1
ฉันมีปัญหาที่คล้ายกัน โดยเฉพาะอย่างยิ่ง PRIMUS_UPLOAD = 1 ดูเหมือนว่าจะใช้ทรัพยากรจำนวนมากที่ค่าใช้จ่ายสูงกว่าผลกำไร ...
Florian Echtler

คุณnvidia-primeติดตั้งแล้วหรือยัง ที่อาจทำให้เกิดปัญหา เมื่อฉันลองใช้สิ่งต่าง ๆ บนการ์ด nvidia โดยใช้ Primus มันใช้ได้ดี
biggles5107

@Furyhunter - นี่มันเจียมเกินไป - ดูในโปรไฟล์ของฉันสำหรับการแก้ปัญหาเกี่ยวกับ nvidia optimus (กับ bumblebee) มี SDK-package ที่ nvidia เพื่อดาวน์โหลด - มันคือลิงค์นี้ที่นี่: askubuntu.com/questions/311151/
dschinn1001

คุณสามารถลองใช้ไดรเวอร์นูโวเพื่อดูว่าบั๊กในไดรเวอร์ nvidia แทนที่จะเป็นรุ่นพริมัสหรือไม่ นอกจากนี้คุณสามารถลองใช้ optirun vanilla แทน primus
Sparhawk

สิ่งหนึ่งที่ฉันทำแทนที่จะใช้ primusrun นั้นคือใช้ optirun กับ primus bridge (ตั้งค่าเป็น bumblebee.conf) ฉันดูเหมือนจะได้ผลลัพธ์ที่ดีกว่าด้วยวิธีนี้
biggles5107

คำตอบ:


1

ใช้วิธีเรียกค้น GitHub เพื่อตรวจสอบรายละเอียดของคุณ

$ lspci -vnn | grep '\''[030[02]\]'
00:02.0 VGA compatible controller [0300]: Intel Corporation Haswell-ULT Integrated Graphics Controller [8086:0a16] (rev 09) (prog-if 00 [VGA controller])
08:00.0 3D controller [0302]: NVIDIA Corporation GK208M [GeForce GT 740M] [10de:1292] (rev a1)
  • สังเกตุสัญกรณ์ที่08:00.0มีหลงใหลเดียว
เฉพาะแล็ปท็อปเท่านั้นที่มีการ์ด nVidia Optimus ประเภทนี้ดังนั้นโครงการนี้จะไม่ใช้กับเดสก์ท็อป (สำหรับตอนนี้) การ์ดจาก 4xxM และซีรีย์ที่ใหม่กว่านั้นเปิดใช้งาน Optimus ทั้งหมด M หมายถึง "มือถือ" แต่การมีการ์ด 4xxM นั้นไม่เพียงพอที่จะตรวจสอบให้แน่ใจว่าคุณมีโน้ตบุ๊ก Optimus จะต้องมีคอนโทรลเลอร์วิดีโอรวมอยู่ในโปรเซสเซอร์ของคุณ เพื่อตรวจสอบว่ารันคำสั่งนี้ใน [terminal] [1]:

วิธี Ubuntu กับBumblebee (Wiki)

  • การตั้งค่าพื้นฐานสำหรับ 12.04 - 13.04

คุณจำเป็นต้องถ้าคุณได้ติดตั้งไว้purgeppa

  • Basic_Setup_for_13.10_and_later

เปิด Terminal และป้อนคำสั่งด้านล่าง:

- คำแนะนำของ UbuntuWiki

  1. เปิดใช้งานที่เก็บข้อมูล Universe และ Multiverse - คุณต้องทำสิ่งนี้เพื่ออนุญาตให้ติดตั้งแพ็คเกจ bumblebee และ nvidia ตามลำดับ

  2. sudo apt-get install bumblebee bumblebee-nvidia primus linux-headers-generic

  3. Reboot

ตอนนี้

กำปั้นทำให้แน่ใจว่าเวอร์ชันปัจจุบันของ nvidia คือ 304 นั้นยอดเยี่ยมจริงๆ

หลังการติดตั้ง -

$ ls -l /etc/bumblebee/
-rw-r--r-- 1 root root 2957 Dez  1 00:38 bumblebee.conf
drwxr-xr-x 2 root root 4096 Nov 30 23:57 xorg.conf.d
-rw-r--r-- 1 root root  513 Dez  1 00:37 xorg.conf.nouveau
-rw-r--r-- 1 root root 1380 Dez  1 00:37 xorg.conf.nvidia

จำได้08:00.0ไหม?

$ cat /etc/bumblebee/xorg.conf.n*
$ view /etc/bumblebee/xorg.conf.nouveau # and
$ view /etc/bumblebee/xorg.conf.nvidia  # and change the last dot in

BusID "PCI:08:00.0"

ต่อไป:

 $ view /etc/bumblebee/bumblebee.conf
 [bumblebeed]
 VirtualDisplay=:8       # refers to PCI:08:00.0, the 1st left 0 is ignored
 KeepUnusedXServer=false
 ServerGroup=bumblebee
 TurnCardOffAtExit=false
 NoEcoModeOverride=false
 Driver=nvidia           # changed
 XorgConfDir=/etc/bumblebee/xorg.conf.d

 [optirun]
 Bridge=auto
 VGLTransport=proxy
 PrimusLibraryPath=/usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus
 AllowFallbackToIGC=false

 [driver-nvidia]
 KernelDriver=nvidia-current
 PMMethod=bbswitch       # changed
 LibraryPath=/usr/lib/nvidia-current:/usr/lib32/nvidia-current
 XorgModulePath=/usr/lib/nvidia-current/xorg,/usr/lib/xorg/modules
 XorgConfFile=/etc/bumblebee/xorg.conf.nvidia

 [driver-nouveau]
 KernelDriver=nouveau
 PMMethod=auto
 XorgConfFile=/etc/bumblebee/xorg.conf.nouveau

Wanning : ฉันลบความคิดเห็นดั้งเดิม (การแทรก) เป็นข้อมูลสำรอง ทำเช่นกันหรือเรียกดูไฟล์และเปลี่ยนค่าโดยไม่ต้องสัมผัสความคิดเห็น

ทดสอบพรีมัส

 DRI_PRIME=0 glxgears -info | grep "GL_VENDOR"
 DRI_PRIME=1 glxgears -info | grep "GL_VENDOR"

 $ DRI_PRIME=:8 glxgears # and finaly do it

หลังจากนั้นทำตามข้อมูลที่ให้ไว้ใน -

ตัวอย่าง _update_to_nvidia-319_driver ที่ UbuntuWiki

คุณจะปรับรุ่นไดรเวอร์และพา ธ ด้วยเช่นกันในไฟล์ด้านบน

ทำงานได้ดีมากสำหรับฉัน


1

ฉันจะแนะนำให้ใช้ "Nvidia Prime Indicator"

First Remove Bumblebee คุณต้องกำจัด Bumblebee และไดรเวอร์ Nvidia Bumblebee ทำงานได้ไม่ดีในเครื่อง Optimus ของฉันปัญหาเดียวกันรับตัวบ่งชี้ Prime นอกจากนี้nvidia-331-updatesจะถูกติดตั้งด้วยsudo apt-get upgradeหลังจากการติดตั้งนี้

นี่คือคำแนะนำของฉันจากชุดข้อความอื่นลองใช้ดูฉันรู้สึกว่าใช้งานได้

ระมัดระวังในขั้นตอนถัดไปทำตามขั้นตอนที่จำเป็นเท่านั้น:

ในการลบและล้าง bumblebee run terminal (หากคุณมีหน้าจอสีดำให้กดCtrl+ Alt+ F2) และพิมพ์

sudo apt-get remove --purge bumblebee

ในการติดตั้ง Prime รันคำสั่งทั้ง 3 แถว:

sudo add-apt-repository ppa:nilarimogard/webupd8 &&
sudo apt-get update && sudo apt-get install prime-indicator

ควรทำงานจากกล่องด้วยตัวบ่งชี้เฉพาะ

ถ้าไม่ล้างพวกเขาทั้งหมดด้วย:

sudo apt-get remove 'nvidia.*' prime-indicator && sudo apt-get autoremove

และเริ่มจากศูนย์ด้วย:

sudo apt-get install nvidia-331 indicator-prime

เมื่อคุณใช้งานได้ให้ติดตั้ง mesa-utils ซึ่งช่วยให้เรารู้จัก GPU:

sudo apt-get install mesa-utils

คุณมี Nvidia Optimus ขั้นตอนต่อไปสำหรับไดรเวอร์ Intel:

เปลี่ยนเป็น Intel GPU จาก Prime Indicator และรับไฟล์. deb ของIntel Graphics Installerติดตั้งผ่าน Software Center ค้นหาตัวติดตั้งใน Dash และรันเพื่ออัปเดต Intel 4000 ของคุณด้วยไดรเวอร์ล่าสุด

แก้ไข: หลังจากติดตั้งแพคเกจ Intel ถ้าsudo apt-get updateล้มเหลวในdownload.01.orgกุญแจสาธารณะเรียกใช้สิ่งนี้ใน terminal:

นี่จะเป็นการเพิ่มรหัสที่ถูกต้อง

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A902DDA375E52366
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.