Monitor externo no Thinkpad W520 com 12.04

11

Sei que há muito material relacionado a esses problemas, mas muito parece desatualizado e nada parece estar funcionando para a minha situação:

  • ThinkPad W520 (chipset Intel 3000 e Nvidia 1000M)
  • SO: Ubuntu 12.04.3.
  • Configuração da placa gráfica do BIOS: Optimus
  • Detecção automática do BIOS OS Optimus: disabled

Usei o wiki do Bumblebee abaixo para instalar e configurar o Bumblebee: https://wiki.ubuntu.com/Bumblebee#Installation

Depois de definir meu BusID para a placa gráfica como "PCI: 01: 00.0" (consulte os arquivos de configuração abaixo), sou capaz de executar optirun firefoxe os testes do virtualgl como optirun glxspheres64e glxspheres64. Portanto, acredito que tudo esteja bem com a instalação do Bumblebee, exceto que não consigo conectar ao meu monitor externo (via VGA). Algumas ideias em como fazer isso? O W520 possui o VGA (e o DisplayPort) conectados à placa Nvidia, conforme descrito por Zachary Sunberg:

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

Portanto, acredito que isso torne as coisas um pouco complicadas ao tentar conectar o VGA a um monitor externo. Acredito que tenho que usar um servidor / clone de tela, descrito nas minhas tentativas documentadas abaixo:

  1. Eu tentei o seguinte post para configurar os monitores externos,

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

    Porém, a reinicialização após a etapa 7 causa uma falha total do sistema operacional (tela preta após o carregador de inicialização que diz "Não foi possível gravar bytes: tubo quebrado"). Eu acredito que isso se deve ao fato do servidor xorg interromper meu sistema de alguma forma.

  2. Tentei uma abordagem semelhante no tutorial a seguir, mas tive a mesma falha do (1) durante a reinicialização após a instalação do xorg-dev:

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

A partir de agora, estou me perguntando para onde ir a partir daqui. Tenho algumas pistas abaixo, alguma idéia sobre qual é o problema ou o que posso fazer? Existe uma sugestão melhor? 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

Além disso, aqui estão alguns dos meus arquivos (deixe-me saber se há uma configuração melhor - a única alteração que fiz foi descomentar o "BusID PCI: 01: 00.0" no xorg.conf.nvidiaarquivo:

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"

Driver 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"

Configuração do 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

Obrigado.

modulitos
fonte
Não tenho certeza se isso ajudará, mas, em geral, achei os drivers configurados prontos para uso em uma instalação nova geralmente os melhores para usar, e a troca de drivers sempre causa mais problemas do que resolve. Tente inicializar o CD ao vivo com o seu segundo monitor conectado. Se não estiver reconfigurado após o log apt-get install arandar, abra o arander e configure-o. Se isso funcionar, basta copiar a configuração e instalar os mesmos drivers.
Virtualxtc
BTW, acho que você arandrnão quis dizer #arandar
iX3 13/11

Respostas:

3

Primeiro de tudo, parei de tentar com o 12.04.3 ou 12.04.4 LTS e usei o 13.10. Acredito que as versões LTS praticamente não conseguem acompanhar a situação gráfica em constante mudança - e aprendi da maneira mais difícil.

Aqui estão as etapas gerais que eu tomei:

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

Este recurso é útil:

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

Também criei uma postagem de blog sobre esse assunto para o Ubuntu 14.04:

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

Este último também deve ter informações para ajudar um iniciante ao compilar os drivers da fonte.

PS: Como iniciante no Linux, esse processo consumiu muito tempo e só espero que este post ajude alguém. A instalação de um monitor externo em um laptop executando o Optimus com portas de tela conectadas ao chip Nvidia é um processo muito desanimador para um novo usuário do Linux.

Como um usuário que precisa usar o Linux para o meu trabalho, toda essa situação sobre a proteção de drivers Optimus proprietários traz constrangimento para toda a comunidade tecnológica.

modulitos
fonte
Você sabe se existem lugares alternativos onde eu possa encontrar as informações contidas no link que você propôs? o site parece morto agora
maguirre 23/02
Funciona no meu navegador (firefox). Ou apenas o Google: "Linux NVidia Optimus no ThinkPad W520 / W530 com monitor externo - finalmente resolvido, Como o NVidia Optimus funciona em laptops Thinkpad W520 / W530"
modulitos 23/02/14