web-dev-qa-db-ja.com

ThinkPad W520の12.04での外部モニター表示

これらの問題に関して多くの資料があることは知っていますが、その多くは時代遅れであり、私の状況では何も機能していないようです:

  • ThinkPad W520(Intel 3000およびNvidia 1000Mチップセット)
  • OS:Ubuntu 12.04.3。
  • BIOSグラフィックスカードの設定:Optimus
  • BIOS OS Optimus自動検出:disabled

以下のBumblebee wikiを使用して、Bumblebeeをインストールおよびセットアップしました。 https://wiki.ubuntu.com/Bumblebee#Installation

グラフィックカードのBusIDを「PCI:01:00.0」に設定した後(以下の構成ファイルを参照)、optirun firefoxおよびoptirun glxspheres64glxspheres64などのvirtualglテストを実行できます。だから、外部モニターに(VGA経由で)接続できないことを除いて、すべてがBumblebeeのインストールでうまくいくと思います。これを行う方法に関するアイデアはありますか? W520には、Zachary Sunbergによると、VGA(およびDisplayPort)がNvidiaカードに配線されています。

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

そのため、VGAを外部モニターに接続しようとすると、これが少し面倒になると思います。サーバー/スクリーンクローンを使用する必要があると信じています。

  1. 私は次の投稿を試して外部モニターを設定しましたが、

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

    ただし、手順7の後で再起動すると、OSが完全にクラッシュします(ブートローダーの後に「バイトを書き込めませんでした:パイプが壊れています」と表示される黒い画面)。これはxorgサーバーが何らかの形でシステムを混乱させたためだと思います。

  2. 次のチュートリアルで同様のアプローチを試みましたが、xorg-devのインストール後の再起動中に(1)と同じクラッシュが発生しました。

    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

また、ここにいくつかのファイルがあります(より良い構成があるかどうかを教えてください-唯一の変更は、xorg.conf.nvidiaファイルの "BusID PCI:01:00.0"のコメントを外すことでした:

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"

バンブルビーの設定:

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

ありがとうございました。

10
modulitos

まず、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の初心者として、このプロセスは非常に時間がかかり、この投稿が誰かに役立つことを願っています。 Nvidiaチップに接続されたディスプレイポートを備えたOptimusを実行しているラップトップに外部モニターをセットアップすることは、新しいLinuxユーザーにとって非常に落胆するプロセスです。

私の仕事にLinuxを使用する必要があるユーザーとして、プロプライエタリなOptimusドライバーの保護に関するこのような状況は、技術コミュニティ全体に恥ずかしさをもたらします。

3
modulitos