Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Nvidia OPTIMUS] Portatil con dos tarjetas graficas (SOLVED)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Spanish
View previous topic :: View next topic  
Author Message
ZaPa
l33t
l33t


Joined: 13 Feb 2007
Posts: 822

PostPosted: Mon Aug 31, 2015 11:30 pm    Post subject: [Nvidia OPTIMUS] Portatil con dos tarjetas graficas (SOLVED) Reply with quote

Hola.

Hace poco he comprado un pc nuevo, con un procesador intel core i7 y una gráfica Nvidia.

Este PC lleva instaladas dos tarjetas graficas lo que se le conoce como "Optimus Machine". He estado buscnado información al respecto, despues de horas y horas en el que mi interfaz grafica no se levantaba.

He encontrado un software de un proyecto llamado "blumblebee" el cual se utiliza para hacer funcionar estas tarjetas graficas.

Pero a la vez tambien he encontrado en el wiki de gentoo este enlace, titulado 'NVIDIA DRIVER WITH OPTIMUS LAPTOPS'

Code:
https://wiki.gentoo.org/wiki/NVIDIA_Driver_with_Optimus_Laptops



Segun la información consultada estas maquinas cuando funcionan con corriente ponen a funcionar las dos tarjetas a full. La GPU externa procesa los graficos más pesados y los envia a la GPU integrada para su representación. Pero cuando funciona con bateria la GPU externa creo que deja de funcionar para ahorrar energia.

De realizar estos cambios (parar o iniciar la GPU externa, entre otras cosas) segun he leido se encarga el demonio de blumblebee,.
Pero... ¿y realizando la instalación tal y como dice la guía 'NVIDIA DRIVER WITH OPTIMUS LAPTOPS'? ¿Que daemon o software se encargaria de hacer todos estos cambios? Ya que la instalación de blumblebee en esta guía no aparece por ningun lado.¿Se encargaria el propio driver de hacer todo lo que blumblebee hace? ¿Que pasos deberia seguir, la guia para instalar blumblebee o la guia de la wiki de gentoo de nvidia with optimus laptops? ¿O con cual obtendria mejores resultados?


Perdonar mi ignorancia en el tema pero como podeis ver estoy bastante verde en esto.
Espero me puedan ayudar.
Un saludo.
_________________
--
http://www.monovarlinux.org. Información y experiencias con linux, especialmente con Gentoo.


Last edited by ZaPa on Sun Oct 04, 2015 7:54 pm; edited 1 time in total
Back to top
View user's profile Send private message
ek balam
n00b
n00b


Joined: 11 May 2008
Posts: 35
Location: México

PostPosted: Tue Sep 01, 2015 3:21 pm    Post subject: Reply with quote

Hasta donde supe bumblebee te sirve para que aplicaciones especificas usen la tarjeta gráfica (a través del comando optirun), no para correr todo el entrono, ej. optirun mplayer.

La guía que pones es para que la tarjeta se use para todo y copie su salida a la gpu integrada.

También hasta donde supe esto es en parte por que X no admite estar "switcheando" dinamicamente gpus.


Saludos!
Back to top
View user's profile Send private message
Pipeng
Tux's lil' helper
Tux's lil' helper


Joined: 23 Jul 2013
Posts: 87

PostPosted: Thu Sep 17, 2015 5:47 pm    Post subject: Reply with quote

Holis, tal y como dieron antes, esa guia es para mover todo hacia la gpu de nvidia, bueno respecto a bumblebee, para instalarlo primero sigue estas guias:

https://wiki.gentoo.org/wiki/Xorg/Guide/es
https://wiki.gentoo.org/wiki/NVidia/nvidia-drivers/es
https://wiki.gentoo.org/wiki/Intel

te dare un dato por experiencia propia, mi pc tambien es i6 y tiene con targeta dedicada, mi gpu intel es generacion 6, pero por alguna razon en el make.conf tengo que configurar con "intel i965 i915" si desactivo cualquiera de las 3 opciones falla el rendimiento de la grafica intel.

bueno, despues si habilitas el framebuffer de nvidia y el nouveau tienes que meterlos al blacklist y tienes que instalarlos como modulos

en /etc/modprobe.d/blacklist agrega

blacklist nouveau
blacklist nvidiafb
blacklist nvidia


si se habilita al inicio del X alguno de estos drivers este no iniciara y sera refastidioso

actualmente gentoo-osurces esta en la version 4.0.5 y nvidia-drivers en 355.11 y son compatibles y funcionales, ten cuidado con las actualizaciones deestos paquetes, hay versiones incompatbles entre si, la mejor solucion muchas veces es hacer un downgrado o al revez para hacerlos funcionar, si actualizas el kernel acuerdate actualizar los modulos.

aunque el kernel se actualize como paquete hay que seguir algunos detalles de esta guia para que funcione bien:

https://wiki.gentoo.org/wiki/Kernel/Upgrade

bueno y por ultimo un

Code:
"emerge bumblebee"


ademas que tienes que añadirte a un grupo de ususarios para que este corra

Code:
usermod -a -G bumblebee USER


bueno yo uso systemd asi que hay que agregar el servicio al inicio del sistema:

Code:
systemctl enable bumblebeed


sip, la aplicacion se llama bumblebee, y el servivio bumblebeed, y el modulo de kernel que ocupa bbswitch.

despues reinicias el computador y deberias poder ejecutar tus aplicaciones con:

Code:
optirun APP


como nota, optirun ejecuta igual que la shell, osea si estas en un directorio con un hola.sh y lo corres con optirun hola.sh no funcionara, solo funciona si es un optirun ./hola.sh puedes omitir el directorio si es una aplicacion de acceso por el PATH (directorios para acceder a aplicacion, puedes verlo con en una terminal con "env" o "echo $PATH")

para verificarlo:

primero instalamos algunas herramientas de pruebas

Code:
emerge x11-apps/mesa-progs


ahora

Code:
optirun glxgears


deberias ver unos engranajes andando con tu gpu, si te aparece un error buscalo en la web, ya que hay muchos de ellos, y casi todos tienen solucion.
Back to top
View user's profile Send private message
ZaPa
l33t
l33t


Joined: 13 Feb 2007
Posts: 822

PostPosted: Sun Oct 04, 2015 7:52 pm    Post subject: Reply with quote

Bueno, hace un tiempo que ya hice funcionar mi nueva máquina con Gentoo, por lo que he realizado un pequeño manual. A ver si os sirve de ayuda:




¿Que es una pc optimus machine?

Un PC Optimus Machine son aquellos equipos portatiles que tienen 2 tarjetas gráficas. Una de ellas de baja calidad de procesamiento y la otra bastante mayor. La que se encarga de procesar los gráficos es la tarjeta de mayores prestaciónes y una vez procesados, los envia a la tarjeta más pequeña para que los muestre por pantalla. La tarjeta superior no tiene conectada a ella una pantalla, simplemente se usa para el procesamiento gŕafico.


Dicho esto, os facilito los pasos necesarios para hacer funcionar una máquina optimus machine en Gentoo. Empezamos:



En el kernel, seleccionar la opción de modesetting para el modulo de intel:
Code:

------------------------------------------------------------------------------------------------------------------
DeviceDrivers --->
    Graphics Support --->
      Direct Rendering Manager --->
        Direct Rendering Manager (Xfree86 4.1.0 and higher DRI support)  --->
          <*> Intel 8xx/9xx/G3x/G4x/Hd Graphics
          [*]  Enable modesetting on intel by default
------------------------------------------------------------------------------------------------------------------



Añadir el modulo del kernel 'nouveau' y 'nvidia' a la lista de blacklist para que systemd o openrc evite cargarlo al inicio:

Code:

# Para sytemd:
------------------------------------------------------------------------------------------------------------------
echo "blacklist nouveau" >> /etc/modules-load.d/blacklist.conf
echo "blacklist nouveaufb" >> /etc/modules-load.d/blacklist.conf
echo "blacklist rivafb" >> /etc/modules-load.d/blacklist.conf
echo "blacklist nvidiafb" >> /etc/modules-load.d/blacklist.conf
echo "blacklist nvidia" >> /etc/modules-load.d/blacklist.conf
------------------------------------------------------------------------------------------------------------------


Code:

# Para Openrc:
------------------------------------------------------------------------------------------------------------------
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nouveaufb" >> /etc/modprobe.d/blacklist.conf
echo "blacklist rivafb" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nvidiafb" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf
------------------------------------------------------------------------------------------------------------------



Habilitamos la versión testing para los paquetes que se encargan de los gráficos:
Code:

------------------------------------------------------------------------------------------------------------------
echo "x11-apps/xrandr ~amd64" >> /etc/portage/package.keywords
echo "x11-base/xorg-server ~amd64" >> /etc/portage/package.keywords
echo "x11-proto/inputproto ~amd64" >> /etc/portage/package.keywords
echo "x11-drivers/nvidia-drivers ~amd64" >> /etc/portage/package.keywords
echo "x11-drivers/xf86-input-evdev ~amd64" >> /etc/portage/package.keywords
echo "x11-drivers/xf86-input-synaptics ~amd64" >> /etc/portage/package.keywords
echo "x11-drivers/xf86-video-modesetting ~amd64" >> /etc/portage/package.keywords
------------------------------------------------------------------------------------------------------------------



Hacemos emerge de todos esos paquetes
Code:

------------------------------------------------------------------------------------------------------------------
emerge x11-apps/xrandr && emerge -1 xf86-video-modesetting && emerge -1 $(qlist -IC x11-drivers)
------------------------------------------------------------------------------------------------------------------


Colocar, el siguiente contenido en /etc/gdm/Init/Default:
Code:

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto



Seleccionamos con eselect opengl la opción de nvidia:

Code:

eselect opengl list:

------------------------------------------------------------------------------------------------------------------
Available OpenGL implementations:
[1] nvidia
[2] xorg-x11 *
------------------------------------------------------------------------------------------------------------------
Code:

eselect opengl set 1 


Switching to nvidia OpenGL interface... done




En /etc/X11/xorg.conf insertamos todo esto:

Code:

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "<BUS_ID_NVIDIA_CARD>"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    # Uncomment this line if your computer has no display devices connected to
    # the NVIDIA GPU.  Leave it commented if you have display devices
    # connected to the NVIDIA GPU that you would like to use.
   
EndSection

Section "Device"
    Identifier "intel"
    Driver "modesetting"
    BusID "<BUS_ID_INTEL_CARD>"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection




Sustituimos BUS_ID_INTEL_CARD por el ID de la tarjeta gráfica INTEL. Para averiguar el PCI ID podemos hacerlo con:

Code:

lspci | grep VGA


El comando en mi caso, devuelve:
------------------------------------------------------------------------------------------------------------------
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
------------------------------------------------------------------------------------------------------------------

Quedaria:
----------------------
Section "Device"
Identifier "intel"
Driver "modesetting"
BusID "PCI:0:2:0"
EndSection
----------------------

Y para la tarjeta gráfica NVIDIA, podemos ver cual es el PCI ID, con:
Code:

lspci | grep NVIDIA


Devolveria:
------------------------------------------------------------------------------------------------------------------
04:00.0 3D controller: NVIDIA Corporation GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (rev a1)
------------------------------------------------------------------------------------------------------------------


Quedaria en el xorg.conf:
------------------------------------------------------------------------------------------------------------------
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:4:0:0"
EndSection
------------------------------------------------------------------------------------------------------------------


Una vez realizado todo lo anterior, solamente quedaria instalar el software que realizará el proceso de intercambio de gráficos entre las 2 tarjetas, se llama 'bumblebee'.

Lo instalamos con:

Code:

emerge bumblebee


Añadimos nuestro usuario al grupo bumblebee:

Code:

usermod -a -G bumblebee <USUARIO>



Arrancamos el servicio 'bumblebeed' al inicio:
Code:

# Para SystemD
systemctl enable bumblebeed


Code:

# Para openRC
rc-update add bumblebeed default



Una vez realizados estos pasos, para ejecutar software y que bumblebeed ponga a trabajar las 2 tarjetas se hace con:
Code:

optirun aplicacion


Por ejemplo:
Code:

optirun glxgears



Llegados a este punto ya tendriamos nuestra máquina funcionando con las dos tarjetas gráficas.
_________________
--
http://www.monovarlinux.org. Información y experiencias con linux, especialmente con Gentoo.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Spanish All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum