web-dev-qa-db-fra.com

Affichage du moniteur externe sur Thinkpad W520 avec 12.04

Je sais qu'il y a beaucoup de documentation sur ces problèmes, mais une grande partie semble obsolète et rien ne semble fonctionner pour ma situation:

  • ThinkPad W520 (chipsets Intel 3000 et Nvidia 1000M)
  • Système d'exploitation: Ubuntu 12.04.3.
  • Paramétrage de la carte graphique du BIOS: Optimus
  • Détection automatique BIOS OS Optimus: disabled

J'ai utilisé le wiki de Bumblebee ci-dessous pour installer et configurer Bumblebee: https://wiki.ubuntu.com/Bumblebee#Installation

Après avoir défini mon ID de bus pour la carte graphique sur "PCI: 01: 00.0" (voir fichiers de configuration ci-dessous), je peux exécuter optirun firefox et les tests de virtualgl tels que optirun glxspheres64 et glxspheres64. Donc, je pense que tout va bien avec l'installation de Bumblebee, sauf que je ne peux pas me connecter à mon moniteur externe (via VGA). auriez vous des idées pour faire ça? Le W520 a le VGA (et DisplayPort) câblé à la carte Nvidia, comme décrit par Zachary Sunberg:

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

Donc, je pense que cela rend les choses un peu difficiles lorsque vous essayez de connecter le VGA à un moniteur externe. Je crois que je dois utiliser un serveur/clone d'écran, décrit dans mes tentatives documentées ci-dessous:

  1. J'ai essayé le post suivant pour configurer les moniteurs externes,

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

    Cependant, le redémarrage après l’étape 7 provoque le blocage complet du système d’exploitation (écran noir après le chargeur de démarrage indiquant "Impossible d’écrire en octets: tuyau cassé"). Je pense que cela est dû au serveur xorg qui a perturbé mon système.

  2. J'ai essayé une approche similaire dans le tutoriel suivant, mais j'ai eu le même crash que dans (1) lors du redémarrage après l'installation de xorg-dev:

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

Pour l'instant, je me demande où aller à partir de maintenant. J'ai quelques pistes ci-dessous, des idées sur le problème ou sur ce que je peux faire? Y a-t-il une meilleure suggestion? 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

En outre, voici quelques-uns de mes fichiers (laissez-moi savoir s'il existe une meilleure configuration. Le seul changement que j'ai apporté consistait à supprimer le commentaire "BusID PCI: 01: 00.0" dans le fichier 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 pilote:

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"

Configuration 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

Je vous remercie.

10
modulitos

Tout d'abord, j'ai arrêté d'essayer avec 12.04.3 ou 12.04.4 LTS et utilisé 13.10 à la place. Je crois que les versions LTS ne peuvent pratiquement pas suivre la situation graphique en constante évolution - et j'ai appris à la dure.

Voici les étapes générales que j'ai prises:

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 :)

Cette ressource est utile:

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

J'ai également créé un article de blog sur cette question pour Ubuntu 14.04:

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

Ce dernier devrait également avoir des informations pour aider un débutant lors de la compilation des pilotes à partir de la source.

PS: En tant que novice en Linux, ce processus prenait beaucoup de temps et je ne peux qu’espérer que ce message aidera quelqu'un. La configuration d’un moniteur externe sur un ordinateur portable sous Optimus avec des ports d’affichage câblés sur la puce Nvidia est un processus très décourageant pour un nouvel utilisateur Linux.

En tant qu'utilisateur devant utiliser Linux pour mon travail, toute cette question de la protection des pilotes Optimus propriétaires met la communauté des technologies dans l'embarras.

3
modulitos