Prestazioni con Bumblebee + uscita HDMI

12 risposte [Ultimo contenuto]
Ritratto di 3vis
3vis
(Junior)
Offline
Junior
Iscritto: 23/06/2013
Messaggi: 32

Per quanto riguarda i tentativi di far funzionare l'uscita HDMI, ho fatto riferimento a Bumblebee-Project su GitHub.

Metodo 1

Citazione:

Using the intel-virtual-output tool

Before going further

Check and see if you have the tool 'intel-virtual-output' installed. This is included in 'xf86-video-intel' =< v2.99, aprox date released is 22/Dec/2014

Running 'intel-virtual-output' without any extra parameters will daemonize itself and detect attached displays in the background. It will then perform all the trickery of virtualizing and cloning so that the newly attached screen can be used via conventinal screen management methods, such as cloning/extending with xrandr

Purtroppo non riesco a capire come installare intel-virtual-output.
Qui si dice che:

Citazione:

xserver-xorg-video-intel è creato a partire dal modulo driver di X.Org xf86-video-intel.

Ecco cosa ho tentato da terminale:

root@debian:~# apt-get install xserver-xorg-video-intel
Reading package lists... Done
Building dependency tree      
Reading state information... Done
xserver-xorg-video-intel is already the newest version.
xserver-xorg-video-intel set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

root@debian:~# intel-virtual-output -h
bash: intel-virtual-output: command not found

root@debian:~# apt-get install intel-virtual-output
Reading package lists... Done
Building dependency tree      
Reading state information... Done
E: Unable to locate package intel-virtual-output

Metodo 2

Citazione:

Getting started with the nvidia chip

In order to use an external monitor through the nvidia chip, power management must be disabled for this. Edit /etc/bumblebee/bumblebee.conf and change PmMethod=auto to PmMethod=none (twice).

extra screen

(blob only) In /etc/bumblebee/bumblebee.conf, change KeepUnusedXServer=false to KeepUnusedXServer=true. Remove the UseEDID and Option "AutoAddDevices" "false" lines in /etc/bumblebee/xorg.conf.nvidia

Ecco il file /etc/bumblebee/bumblebee.conf originale.

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

Qui quello da me modificato:

# 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=true
# 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/primus:/usr/lib/primus:/usr/lib32/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
PMMethod=none
# colon-separated path to the nvidia libraries
LibraryPath=/usr/lib/x86_64-linux-gnu/nvidia:/usr/lib/i386-linux-gnu/nvidia:/usr/lib/nvidia
# comma-separated path of the directory containing nvidia_drv.so and the
# default Xorg modules path
XorgModulePath=/usr/lib/nvidia,/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=none
XorgConfFile=/etc/bumblebee/xorg.conf.nouveau

Diseguito il file /etc/bumblebee/xorg.conf.nvidia originale.

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

Qui quello da me modificato:

Section "ServerLayout"
    Identifier  "Layout0"
    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 "UseDisplayDevice" "none"
EndSection

A questo punto nella guida si dice:

Citazione:

Trigger a start of the X server with optirun true.

Da terminale:

root@debian:~# optirun true
root@debian:~#

Poi si dice

Citazione:

Before running an application on the external monitor, adjust the library path if necessary (or remove it for nouveau) and run:

export DISPLAY=:8 LD_LIBRARY_PATH=/usr/lib/nvidia-current:$LD_LIBRARY_PATH

Then start your program at your choice (without optirun), it should show up on the external monitor. TODO

Ma non capisco cosa dovrei fare quando scrivono...adjust the library path if necessary (or remove it for nouveau) ?

Riassumendo non sono in grado di mettere in pratica nessuno dei 2 metodi.

Se qualcuno ha qualche consiglio, ben venga!

Per quanto riguarda xrandr, da terminale:

root@debian:~# apt-get install xrandr
Reading package lists... Done
Building dependency tree      
Reading state information... Done
Package xrandr is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  x11-xserver-utils:i386 x11-xserver-utils
 
E: Package 'xrandr' has no installation candidate

Ho visto che c'è arandr

L'ho installato. Ho collegato il cavo HDMI, ma nell'interfaccia grafica non appare un secondo monitor da gestire (vedi immagine allegata).

At Wits End

Attached images:

Ritratto di mcortese
mcortese
(Moderatore)
Offline
Moderatore
Iscritto: 27/02/2009
Messaggi: 2918

Purtroppo hai una situazione mista, con alcuni pacchetti presi da wheezy, altri da wheezy-backports. Non so se abbia influenza sul problema dell'uscita video, ma sicuramente è quello che ti impedisce di installare nvidia-settings. Ti consiglio di aggiornare a wheezy-backports tutti i pacchetti collegati ai driver NVIDIA.

P.S. ho appena scoperto un comando più efficace di quello da me consigliato per vedere quale versione si ha installata di vari pacchetti:

aptitude versions ~i~nnvidia
dove la stringa ~i limita l'elenco ai soli pacchetti installati, mentre ~nXXX a quelli che contengono XXX nel nome.