Bumblebee com atualizações nvidia-331. Funciona com “--driver nvidia”, mas não funciona como serviço

Bumblebee com atualizações nvidia-331. Funciona com “--driver nvidia”, mas não funciona como serviço

Estou tentando configurar o Bumblebee no Ubuntu 12.04. Também estou usando o último driver da Nvidia porque 319 não está mais disponível.

Estes são meus arquivos de configuração:

/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=nvidia 
# 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/primus
# 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-331-updates
PMMethod=auto
# colon-separated path to the nvidia libraries
LibraryPath=/usr/lib/nvidia-331-updates:/usr/lib32/nvidia-331-updates
# comma-separated path of the directory containing nvidia_drv.so and the
# default Xorg modules path
XorgModulePath=/usr/lib/nvidia-331-updates/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

/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"
EndSection

Então eu mostro algumas coisas místicas:

Primeiro comando:

    $ sudo /usr/sbin/bumblebeed -vv
[ 4828.053052] [DEBUG]Found card: 01:00.0 (discrete)
[ 4828.053093] [DEBUG]Found card: 00:02.0 (integrated)
[ 4828.053103] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[ 4828.053656] [INFO]Configured driver: nvidia 
[ 4828.053678] [DEBUG]Skipping auto-detection, using configured driver 'nvidia '
[ 4828.053743] [DEBUG]bbswitch has been detected.
[ 4828.053753] [INFO]Switching method 'bbswitch' is available and will be used.
[ 4828.053762] [DEBUG]Active configuration:
[ 4828.053770] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[ 4828.053778] [DEBUG] X display: :8
[ 4828.053786] [DEBUG] LD_LIBRARY_PATH: 
[ 4828.053794] [DEBUG] Socket path: /var/run/bumblebee.socket
[ 4828.053802] [DEBUG] pidfile: /var/run/bumblebeed.pid
[ 4828.053810] [DEBUG] xorg.conf file: /etc/bumblebee/xorg.conf.DRIVER
[ 4828.053818] [DEBUG] xorg.conf.d dir: /etc/bumblebee/xorg.conf.d
[ 4828.053826] [DEBUG] ModulePath: 
[ 4828.053833] [DEBUG] GID name: bumblebee
[ 4828.053841] [DEBUG] Power method: auto
[ 4828.053849] [DEBUG] Stop X on exit: 1
[ 4828.053857] [DEBUG] Driver: nvidia 
[ 4828.053865] [DEBUG] Driver module: nvidia 
[ 4828.053872] [DEBUG] Card shutdown state: 1
[ 4828.054045] [DEBUG]Process /sbin/modprobe started, PID 3031.
[ 4828.054143] [DEBUG]Hiding stderr for execution of /sbin/modprobe
[ 4828.056711] [DEBUG]SIGCHILD received, but wait failed with No child processes
[ 4828.056777] [ERROR]Module 'nvidia ' is not found.

Segundo comando:

    $ sudo /usr/sbin/bumblebeed -vv --driver nvidia
[ 4742.214895] [DEBUG]Found card: 01:00.0 (discrete)
[ 4742.214970] [DEBUG]Found card: 00:02.0 (integrated)
[ 4742.215000] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[ 4742.215609] [INFO]Configured driver: nvidia 
[ 4742.215660] [DEBUG]Skipping auto-detection, using configured driver 'nvidia'
[ 4742.215885] [DEBUG]Process /sbin/modprobe started, PID 3023.
[ 4742.215981] [DEBUG]Hiding stderr for execution of /sbin/modprobe
[ 4742.218520] [DEBUG]SIGCHILD received, but wait failed with No child processes
[ 4742.218667] [DEBUG]bbswitch has been detected.
[ 4742.218730] [INFO]Switching method 'bbswitch' is available and will be used.
[ 4742.218769] [DEBUG]Active configuration:
[ 4742.218805] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[ 4742.218834] [DEBUG] X display: :8
[ 4742.218871] [DEBUG] LD_LIBRARY_PATH: /usr/lib/nvidia-331-updates:/usr/lib32/nvidia-331-updates
[ 4742.218908] [DEBUG] Socket path: /var/run/bumblebee.socket
[ 4742.218949] [DEBUG] pidfile: /var/run/bumblebeed.pid
[ 4742.218981] [DEBUG] xorg.conf file: /etc/bumblebee/xorg.conf.nvidia
[ 4742.219010] [DEBUG] xorg.conf.d dir: /etc/bumblebee/xorg.conf.d
[ 4742.219040] [DEBUG] ModulePath: /usr/lib/nvidia-331-updates/xorg,/usr/lib/xorg/modules
[ 4742.219074] [DEBUG] GID name: bumblebee
[ 4742.219102] [DEBUG] Power method: auto
[ 4742.219136] [DEBUG] Stop X on exit: 1
[ 4742.219172] [DEBUG] Driver: nvidia
[ 4742.219202] [DEBUG] Driver module: nvidia-331-updates
[ 4742.219238] [DEBUG] Card shutdown state: 1
[ 4742.219431] [DEBUG]Process /sbin/modprobe started, PID 3024.
[ 4742.219517] [DEBUG]Hiding stderr for execution of /sbin/modprobe
[ 4742.221990] [DEBUG]SIGCHILD received, but wait failed with No child processes
[ 4742.222054] [DEBUG]Configuration test passed.
[ 4742.222937] [INFO]/usr/sbin/bumblebeed 3.2.1 started
[ 4742.223214] [INFO]Switching dedicated card OFF [bbswitch]
[ 4742.404703] [INFO]Initialization completed - now handling client requests

E é trabalho!

Não consigo entender por que o primeiro comando não funciona. No bumblebee.conf o valor do "driver" é "nvidia". Por que no primeiro comando ele tenta carregar o módulo do driver "nvidia" em vez de "nvidia-331-updates"? Ambos os comandos devem ser viáveis ​​ou não. Junto. Como resolver este problema?

Responder1

mudar LibraryPath=/usr/lib/nvidia-331-updates:/usr/lib32/nvidia-331-updatespara LibraryPath=/usr/lib/nvidia-current:/usr/lib32/nvidia-current

mudar [driver-nvidia]para

Driver=nvidia [driver-nvidia]

mudar [driver-nouveau]para

Driver=nouveau [driver-nouveau]

mudar KernelDriver=nvidia-331-updatespara KernelDriver=nvidia_331_updatesouKernelDriver=nvidia

ESSA ABELHA LÓGICA -.-

ATUALIZAR Tente isto: mude LibraryPath=/usr/lib/nvidia-331-updates,/usr/lib32/nvidia-331-updatespara LibraryPath=/usr/lib/nvidia-331-updates,/usr/lib32/nvidia-331-updates

Minha configuração do Bumblebee:

# Arquivo de configuração do Bumblebee. Os valores **não** devem ser colocados entre aspas

## Opções de servidor. Qualquer alteração feita nesta seção exigirá a reinicialização do servidor
# para fazer efeito.
[abelha]
# O número DISPLAY do servidor Xorg secundário
Exibição Virtual=:8
# O servidor Xorg não utilizado deve continuar funcionando? Defina isso como verdadeiro se estiver esperando
# para o X ficar pronto é muito longo e não precisa de gerenciamento de energia.
KeepUnusedXServer=falso
# O nome do grupo de servidores Bumbleblee (nome GID)
ServerGroup=abelha
# Estado de energia do cartão na saída. Defina como falso se o cartão estiver LIGADO quando o Bumblebee
# saídas do servidor.
TurnCardOffAtExit=falso
# O comportamento padrão da opção '-f' no optirun. Se definido como "true", '-f' irá
# ser ignorado.
NoEcoModeOverride=falso
# O driver usado pelo servidor Bumblebee. Se este valor não estiver definido (ou estiver vazio),
# detecção automática é executada. Os drivers disponíveis são nvidia e nouveau
# (Veja também as seções específicas do driver abaixo)
Motorista=
# Diretório com um arquivo de configuração fictício para passar como -configdir para o X secundário
XorgConfDir=/etc/bumblebee/xorg.conf.d

## Opções do cliente. Entrará em vigor no próximo optirun executado.
[optirun]
# Ponte de aceleração/renderização, os valores possíveis são auto, virtualgl e
#primus.
Ponte=automático
# O método usado pelo VirtualGL para transportar quadros entre servidores X.
# Os valores possíveis são proxy, jpeg, rgb, xv e yuv.
VGLTransport=proxy
# Lista de caminhos que são pesquisados ​​pelo primus libGL.so.1 ao usar
# a ponte primus
PrimusLibraryPath=/usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus
# O programa deve ser executado em optirun mesmo se o servidor Bumblebee ou a placa nvidia
# não está disponível?
AllowFallbackToIGC=falso


# As configurações específicas do driver estão agrupadas em [driver-NAME]. As seções são
# analisado se a configuração do driver em [bumblebeed] estiver definida como NAME (ou se auto-
# detecção é resolvida para NAME).
# PMMethod: método a ser usado para economizar energia desabilitando a placa nvidia, válido
# valores são: auto - detecta automaticamente qual método PM usar
#bbswitch - novo no BB 3, recomendado se disponível
# switcheroo - método vga_switcheroo, use por sua conta e risco
# nenhum - desativa o PM completamente
# https://github.com/Bumblebee-Project/Bumblebee/wiki/Comparison-of-PM-methods

## Seção com opções específicas do driver nvidia, analisada apenas se Driver=nvidia
[driver-nvidia]
# Nome do módulo a ser carregado, o padrão é Driver se estiver vazio ou não definido
KernelDriver=nvidia_331_updates
PMMethod = automático
# caminho separado por dois pontos para as bibliotecas da nvidia
LibraryPath=/usr/lib/nvidia-331-updates,/usr/lib32/nvidia-331-updates
# caminho separado por vírgula do diretório que contém nvidia_drv.so e o
# caminho padrão dos módulos Xorg
XorgModulePath=/usr/lib/nvidia-331-updates/xorg,/usr/lib/xorg/modules
XorgConfFile=/etc/bumblebee/xorg.conf.nvidia

## Seção com opções específicas do driver nouveau, analisada apenas se Driver=nouveau
[driver-novo]
KernelDriver = novo
PMMethod = automático
XorgConfFile=/etc/bumblebee/xorg.conf.nouveau

Meu xorg.conf.nvidia:

# nvidia-settings: arquivo de configuração X gerado por nvidia-settings
# nvidia-settings: versão 331.20 (buildd@roseapple) Seg, 3 de fevereiro 15:07:22 UTC 2014

Seção "Layout do Servidor"
    Identificador "Layout0"
    Tela 0 "Tela0" 0 0
    InputDevice "Teclado0" "CoreKeyboard"
    Dispositivo de entrada "Mouse0" "CorePointer"
    Opção "AutoAddDevices" "falso"
    Opção "AutoAddGPU" "falso"
    Opção "Xinerama" "0"
Seção Final

Seção "Dispositivo de entrada"
    # gerado a partir do padrão
    Identificador "Teclado0"
    Driver "kbd"
Seção Final

Seção "Dispositivo de entrada"
    # gerado a partir do padrão
    Identificador "Mouse0"
    Motorista "rato"
    Opção "Protocolo" "automático"
    Opção "Dispositivo" "/dev/psaux"
    Opção "Emulate3Buttons" "não"
    Opção "ZAxisMapping" "4 5"
Seção Final

Seção "Dispositivo"

# Se o servidor X não detectar automaticamente o seu dispositivo VGA,
# você pode configurá-lo manualmente aqui.
# Para obter a propriedade BusID, execute `lspci | egrep 'VGA|3D'` e insira os dados
# como você vê no exemplo comentado.
# Esta configuração pode ser necessária em algumas plataformas com mais de um
# placa nvidia, o que pode confundir o driver proprietário (por exemplo,
# tentando se apropriar do dispositivo errado). Também necessário no Ubuntu 13.04.
# Definir ProbeAllGpus como false evita o novo driver proprietário
# instância gerada para tentar controlar a placa gráfica integrada,
# que já está sendo gerenciado fora do bumblebee.
# Esta opção não faz mal e é necessária em plataformas rodando
# mais de uma placa gráfica nvidia com driver proprietário.
# (Por exemplo, Macbook Pro pré-2010 com nVidia 9400M + 9600M GT).
# Se esta opção não estiver definida, o novo Xorg poderá escurecer a tela e
# torna-o inutilizável (a menos que você tenha alguma maneira de executar o killall Xorg).
    Identificador "DiscreteNvidia"
    Driver "nvidia"
    Nome do fornecedor "NVIDIA Corporation"
    Opção "ProbeAllGpus" "falso"
    Opção "NoLogo" "verdadeiro"
    Opção "UseEDID" "falso"
    Opção "UseDisplayDevice" "nenhum"
    ID do ônibus "PCI:01:00:0"
Seção Final

Seção "Dispositivo"
    Identificador "Dispositivo0"
    Driver "nvidia"
    Nome do fornecedor "NVIDIA Corporation"
    Nome da placa "GeForce GT 540M"
Seção Final

Seção "Tela"
    Identificador "Tela Padrão"
    Dispositivo "DiscretoNvidia"
Seção Final

Seção "Tela"
    Identificador "Tela0"
    Dispositivo "Dispositivo0"
    Profundidade padrão 24
    Opção "UseDisplayDevice" "nenhum"
    Subseção "Exibição"
        Virtuais 1600 900
        Profundidade 24
    FimSubSeção
Seção Final

Após nova instalação do Bumblebee e Nvidia e DKMS etc.

  1. Criar backup (se existir arquivo)sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

  2. Digite optirun -b none nvidia-settings -c :8e salve config xorg em/etc/bumblebee/xorg.conf.nvidia

  3. nvidia-settingsnão salvando em /etc/bumblebee/xorg.conf.nvidia. A configuração de nvidia-settingsfoi salva em/etc/X11/xorg.conf

    Você deve mover este arquivo para a configuração do bumblebee xorg-nvidia. Tiposudo rm /etc/bumblebee/xorg.conf.nvidia && sudo mv /etc/X11/xorg.conf /etc/bumblebee/xorg.conf.nvidia

  4. Reinício ;)

Funciona para mim

informação relacionada