จอมอนิเตอร์ภายนอกแสดงผลบน Thinkpad W520 พร้อม 12.04


11

ฉันรู้ว่ามีเนื้อหามากมายเกี่ยวกับปัญหาเหล่านี้ แต่ส่วนมากดูเหมือนว่าล้าสมัยและไม่มีอะไรที่ดูเหมือนจะทำงานได้กับสถานการณ์ของฉัน:

  • ThinkPad W520 (ชิปเซ็ต Intel 3000 และ Nvidia 1000M)
  • ระบบปฏิบัติการ: Ubuntu 12.04.3
  • การตั้งค่าการ์ดกราฟิก BIOS: Optimus
  • BIOS OS Optimus การตรวจจับอัตโนมัติ: disabled

ฉันใช้วิกิ Bumblebee ด้านล่างเพื่อติดตั้งและตั้งค่า Bumblebee: https://wiki.ubuntu.com/Bumblebee#Installation

หลังจากตั้ง BusID ของฉันสำหรับกราฟิกการ์ดที่ "PCI: 01: 00.0" (ดู config ไฟล์ด้านล่าง) ผมก็สามารถที่จะเรียกใช้optirun firefoxและทดสอบ virtualgl ชอบและoptirun glxspheres64 glxspheres64ดังนั้นฉันเชื่อว่าการติดตั้ง Bumblebee นั้นดียกเว้นฉันไม่สามารถเชื่อมต่อกับจอภาพภายนอกของฉัน (ผ่าน VGA) ความคิดใด ๆ เกี่ยวกับวิธีการทำเช่นนี้? W520 มี VGA (และ DisplayPort) เดินสายไปยังการ์ด Nvidia ตามที่อธิบายโดย Zachary Sunberg:

http://zachstechnotes.blogspot.com/2012/04/post-title.html

ดังนั้นฉันเชื่อว่าการทำเช่นนี้จะยุ่งยากเล็กน้อยเมื่อพยายามเชื่อมต่อ VGA กับจอภาพภายนอก ฉันเชื่อว่าฉันต้องใช้โคลนเซิร์ฟเวอร์ / หน้าจอที่อธิบายไว้ในความพยายามของฉันเอกสารด้านล่าง:

  1. ฉันลองโพสต์ต่อไปนี้เพื่อกำหนดค่าจอภาพภายนอก

    http://hillspcworld.com/forum/index.php?topic=2.0

    แต่การรีบูตเครื่องหลังจากขั้นตอนที่ 7 ทำให้ระบบปฏิบัติการขัดข้องอย่างสมบูรณ์ (หน้าจอสีดำหลังจาก bootloader ที่ระบุว่า "ไม่สามารถเขียนไบต์: ใช้ไพพ์ได้") ฉันเชื่อว่านี่เป็นเพราะเซิร์ฟเวอร์ xorg รบกวนระบบของฉันอย่างใด

  2. ฉันลองวิธีที่คล้ายกันในการกวดวิชาต่อไปนี้ แต่ฉันมีความผิดพลาดเช่นเดียวกับใน (1) ระหว่างการรีบูตหลังจากติดตั้ง xorg-dev:

    http://sagark.org/optimal-ubuntu-graphics-setup-for-thinkpads/

ณ ตอนนี้ฉันสงสัยว่าจะไปจากที่นี่ ฉันมีคู่นำด้านล่างความคิดเห็นใด ๆ เกี่ยวกับปัญหาคืออะไรหรือฉันสามารถทำอะไรได้บ้าง มีคำแนะนำที่ดีกว่านี้ไหม? http://zachstechnotes.blogspot.com/2012/04/post-title.html

https://github.com/Bumblebee-Project/Bumblebee/issues/77

https://github.com/Bumblebee-Project/Bumblebee/issues/522

และนี่คือไฟล์บางส่วนของฉัน (แจ้งให้เราทราบหากมีการกำหนดค่าที่ดีกว่า - การเปลี่ยนแปลงเดียวที่ฉันทำคือยกเลิกการใส่เครื่องหมาย "BusID PCI: 01: 00.0" ในxorg.conf.nvidiaไฟล์:

lucas@lucas-ThinkPad-W520:~$ more /etc/bumblebee/xorg.conf.nvidia 
Section "ServerLayout"
    Identifier  "Layout0"
    Option      "AutoAddDevices" "false"
    Option      "AutoAddGPU" "false" EndSection

Section "Device"
    Identifier  "DiscreteNvidia"
    Driver      "nvidia"
    VendorName  "NVIDIA Corporation"

#   If the X server does not automatically detect your VGA device,
#   you can manually set it here.
#   To get the BusID prop, run `lspci | egrep 'VGA|3D'` and input the data
#   as you see in the commented example.
#   This Setting may be needed in some platforms with more than one
#   nvidia card, which may confuse the proprietary driver (e.g.,
#   trying to take ownership of the wrong device). Also needed on Ubuntu 13.04.
    BusID "PCI:01:00:0"

#   Setting ProbeAllGpus to false prevents the new proprietary driver
#   instance spawned to try to control the integrated graphics card,
#   which is already being managed outside bumblebee.
#   This option doesn't hurt and it is required on platforms running
#   more than one nvidia graphics card with the proprietary driver.
#   (E.g. Macbook Pro pre-2010 with nVidia 9400M + 9600M GT).
#   If this option is not set, the new Xorg may blacken the screen and
#   render it unusable (unless you have some way to run killall Xorg).
    Option "ProbeAllGpus" "false"

    Option "NoLogo" "true"
    Option "UseEDID" "false"
    Option "UseDisplayDevice" "none"

ไดรเวอร์ Nouveau:

lucas@lucas-ThinkPad-W520:~$ more /etc/bumblebee/xorg.conf.nouveau  Section "ServerLayout"
    Identifier  "Layout0"
    Option      "AutoAddDevices" "false"
    Option      "AutoAddGPU" "false" EndSection

Section "Device"
    Identifier  "DiscreteNvidia"
    Driver      "nouveau"

#   If the X server does not automatically detect your VGA device,
#   you can manually set it here.
#   To get the BusID prop, run `lspci | egrep 'VGA|3D'` and input the data
#   as you see in the commented example.
#   This Setting is needed on Ubuntu 13.04.
#   BusID "PCI:01:00:0"

การกำหนดค่า Bumblebee:

lucas@lucas-ThinkPad-W520:~$ more /etc/bumblebee/bumblebee.conf 
# Configuration file for Bumblebee. Values should **not** be put between quotes

## Server options. Any change made in this section will need a server restart
# to take effect. [bumblebeed]
# The secondary Xorg server DISPLAY number VirtualDisplay=:8
# Should the unused Xorg server be kept running? Set this to true if waiting
# for X to be ready is too long and don't need power management at all. KeepUnusedXServer=false
# The name of the Bumbleblee server group name (GID name) ServerGroup=bumblebee
# Card power state at exit. Set to false if the card shoud be ON when Bumblebee
# server exits. TurnCardOffAtExit=false
# The default behavior of '-f' option on optirun. If set to "true", '-f' will
# be ignored. NoEcoModeOverride=false
# The Driver used by Bumblebee server. If this value is not set (or empty),
# auto-detection is performed. The available drivers are nvidia and nouveau
# (See also the driver-specific sections below) Driver=
# Directory with a dummy config file to pass as a -configdir to secondary X XorgConfDir=/etc/bumblebee/xorg.conf.d

## Client options. Will take effect on the next optirun executed. [optirun]
# Acceleration/ rendering bridge, possible values are auto, virtualgl and
# primus. Bridge=auto
# The method used for VirtualGL to transport frames between X servers.
# Possible values are proxy, jpeg, rgb, xv and yuv. VGLTransport=proxy
# List of paths which are searched for the primus libGL.so.1 when using
# the primus bridge PrimusLibraryPath=/usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primu s
# Should the program run under optirun even if Bumblebee server or nvidia card
# is not available? AllowFallbackToIGC=false


# Driver-specific settings are grouped under [driver-NAME]. The sections are
# parsed if the Driver setting in [bumblebeed] is set to NAME (or if auto-
# detection resolves to NAME).
# PMMethod: method to use for saving power by disabling the nvidia card, valid
# values are: auto - automatically detect which PM method to use
#         bbswitch - new in BB 3, recommended if available
#       switcheroo - vga_switcheroo method, use at your own risk
#             none - disable PM completely
# https://github.com/Bumblebee-Project/Bumblebee/wiki/Comparison-of-PM-methods

## Section with nvidia driver specific options, only parsed if Driver=nvidia [driver-nvidia]
# Module name to load, defaults to Driver if empty or unset KernelDriver=nvidia-current PMMethod=auto
# colon-separated path to the nvidia libraries LibraryPath=/usr/lib/nvidia-current:/usr/lib32/nvidia-current
# comma-separated path of the directory containing nvidia_drv.so and the
# default Xorg modules path XorgModulePath=/usr/lib/nvidia-current/xorg,/usr/lib/xorg/modules XorgConfFile=/etc/bumblebee/xorg.conf.nvidia

## Section with nouveau driver specific options, only parsed if Driver=nouveau [driver-nouveau] KernelDriver=nouveau PMMethod=auto XorgConfFile=/etc/bumblebee/xorg.conf.nouveau

ขอบคุณ.


ฉันไม่แน่ใจว่าสิ่งนี้จะช่วยได้หรือไม่ แต่โดยทั่วไปฉันพบว่าไดรเวอร์ที่กำหนดค่าไว้นอกกรอบในการติดตั้งใหม่นั้นเป็นไดรเวอร์ที่ดีที่สุดในการใช้งานและการสลับไดรเวอร์มักจะทำให้เกิดปัญหามากกว่าการแก้ไข ลองบู๊ตสดจากแผ่นซีดีที่มีจอภาพที่สองของคุณต่ออยู่ หากไม่ได้กำหนดค่าใหม่หลังจากเข้าสู่ระบบ apt-get install arandarให้เปิดตัวตรวจจับและกำหนดค่า หากใช้งานได้เพียงคัดลอกทับการกำหนดค่าและติดตั้งไดรเวอร์เดียวกัน
virtualxtc

BTW ฉันคิดว่าคุณarandrไม่ได้หมายถึงarandar
iX3

คำตอบ:


3

ก่อนอื่นฉันหยุดลองกับ 12.04.3 หรือ 12.04.4 LTS และใช้ 13.10 แทน ฉันเชื่อว่าเวอร์ชั่น LTS ไม่สามารถติดตามสถานการณ์กราฟิกที่เปลี่ยนแปลงตลอดเวลาได้และฉันเรียนรู้วิธีที่ยากลำบาก

นี่คือขั้นตอนทั่วไปที่ฉันทำ:

1) Install latest intel drivers, hope that intel-virtual-output, which is the integrated version of screenclone. If it's not packaged, compile that stuff from source.
2) In your xorg.conf.nvidia ensure the option preventing external screens is disabled.
3) Xrandr as usual :)

ทรัพยากรนี้มีประโยชน์:

http://www.unixreich.com/blog/2013/linux-nvidia-optimus-on-thinkpad-w520w530-with-external-monitor-finally-solved/

ฉันยังสร้างบล็อกโพสต์ในปัญหานี้สำหรับ Ubuntu 14.04:

http://blog.lukeswart.net/wordpress/

หลังควรมีข้อมูลเพื่อช่วยผู้เริ่มต้นเมื่อรวบรวมไดรเวอร์จากแหล่งที่มา

PS: ในฐานะมือใหม่ Linux กระบวนการนี้ใช้เวลานานมากและฉันก็หวังว่าโพสต์นี้จะช่วยใครซักคน การตั้งค่าจอภาพภายนอกบนแล็ปท็อปที่ใช้ Optimus ด้วยพอร์ตจอแสดงผลที่ต่อสายเข้ากับชิป Nvidia นั้นเป็นกระบวนการที่ท้อใจสำหรับผู้ใช้ Linux รายใหม่

ในฐานะผู้ใช้ที่ต้องการใช้งาน Linux สำหรับการทำงานของฉันสถานการณ์ทั้งหมดนี้เกี่ยวกับการปกป้องไดรเวอร์ Optimus ที่เป็นกรรมสิทธิ์ทำให้เกิดความอับอายต่อชุมชนเทคโนโลยีทั้งหมด


คุณรู้หรือไม่ว่ามีสถานที่อื่นที่ฉันสามารถค้นหาข้อมูลที่มีอยู่ในลิงค์ที่คุณเสนอ? เว็บไซต์ปรากฏว่าตายแล้วตอนนี้
maguirre

มันทำงานได้ในเบราว์เซอร์ของฉัน (Firefox) หรือเพียงแค่ Google: "Linux NVidia Optimus บน ThinkPad W520 / W530 พร้อมจอแสดงผลภายนอก - ในที่สุดก็ได้รับการแก้ไขแล้ว NVidia Optimus ทำงานอย่างไรบนแล็ปท็อป Thinkpad W520 / W530"
modulitos
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.