View previous topic :: View next topic |
Author |
Message |
ZaPa l33t
Joined: 13 Feb 2007 Posts: 822
|
Posted: Mon Aug 31, 2015 11:30 pm Post subject: [Nvidia OPTIMUS] Portatil con dos tarjetas graficas (SOLVED) |
|
|
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 |
|
|
ek balam n00b
Joined: 11 May 2008 Posts: 35 Location: México
|
Posted: Tue Sep 01, 2015 3:21 pm Post subject: |
|
|
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 |
|
|
Pipeng Tux's lil' helper
Joined: 23 Jul 2013 Posts: 87
|
Posted: Thu Sep 17, 2015 5:47 pm Post subject: |
|
|
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
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:
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
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 |
|
|
ZaPa l33t
Joined: 13 Feb 2007 Posts: 822
|
Posted: Sun Oct 04, 2015 7:52 pm Post subject: |
|
|
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:
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:
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:
Por ejemplo:
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 |
|
|
|
|
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
|
|