Estoy tratando de usar la salida HDMI en una PC (HP ZBook) con Debian (stretch). He configurado Bumblebee, funciona bien (glxinfo y optirun glxinfo informan la información esperada, y probé sombreadores GLSL complicados que también funcionan como se esperaba).
Ahora me gustaría poder enchufar un videoproyector en el HDMI. He leído aquí [1] que la salida intel-virtual se puede usar para configurarla cuando el HDMI está conectado a la placa NVidia (usando una salida VIRTUAL que puede ser manipulada por xrandr). Sin embargo, intel-virtual-output dice:
no VIRTUAL outputs on ":0"
Cuando lo hago xrandr -q
, no aparece ninguna salida VIRTUAL, solo tengo:
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 345mm x 194mm
1920x1080 60.02*+ 59.93
1680x1050 59.95 59.88
1600x1024 60.17
... other video modes ...
400x300 60.32 56.34
320x240 60.05
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)
Mi versión instalada de xserver-xorg-video-intel es: xserver-xorg-video-intel_2.99.917 + git20160706-1_amd64.deb
Actualización (sábado 09 de diciembre de 2016) He actualizado Debian, y ahora X falla cuando el segundo monitor está activo cuando inicio algunas aplicaciones (por ejemplo, xemacs). Se sentó. 17 de diciembre de 2016: ¡Sí, descubierto! (actualizado la respuesta).
Actualización (mié, 27 de septiembre de 2017) El método funciona en el 99% de los casos, pero la semana pasada probé un proyector que solo acepta modos de 50Hz y no pudo obtener nada más que 60Hz (por lo que no funcionó). ¿Alguien sabe cómo forzar modos de 50Hz?
Actualización (mar 01 oct 2019) ¡Argh! Roto de nuevo: después de actualizar X y el controlador NVidia, optirun ahora se bloquea ( /var/log/Xorg.8.log
dice bloqueo en Xorg, OsLookupColor + 0x139). Actualización (07 oct 2019) Se encontró una solución temporal (respuesta actualizada).
[1] https://github.com/Bumblebee-Project/Bumblebee/wiki/Multi-monitor-setup
Respuestas:
Sí, descubrí! Para activar la salida VIRTUAL del controlador de Intel, debe crear un
20-intel.conf
archivo en el directorio de configuración de Xorg (/usr/share/X11/xorg.conf.d
en Debian Stretch, descubierto mediante lectura/var/log/Xorg.0.log
)Mi /etc/bumblebee/xorg.conf.nvidia es el siguiente:
Algunas explicaciones: necesita una sección "Pantalla", de lo contrario, intenta usar el dispositivo Intel declarado en 20-intel.conf (que acabamos de agregar antes, oh mi ...). También necesita "AllowEmptyInitialConfiguration" para poder comenzar con optirun cuando no hay un monitor externo conectado.
Con esta configuración e inicio
intel-virtual-output
, pude acceder a mi puerto HDMI. Yeehaa !!!Solución de problemas: si funciona
optirun
ointel-virtual-output
no, eche un vistazo/var/log/Xorg.8.log
(bumblebee crea un servidor X con pantalla: 8 utilizados internamente).Notas he leído en varios lugares que
KeepUnusedXServer
se debe establecer entrue
yPMMethod
paranone
en/etc/bumblebee/bumblebee.conf
, yo no lo hicieron y trabaja muy bien. Si hago eso, funciona, pero la GPU discreta permanece encendida incluso después de salir de una aplicación optiruned o matar la salida de Intel virtual, que no quería.Más notas Algo más que me hizo golpearme la cabeza contra la pared fue desactivar Nouveau e iniciar el servidor Intel X: debe hacerse mediante indicadores pasados al núcleo, especificados en los parámetros de GRUB. En
/etc/defaults/grub
, tengo la siguiente línea:(Cuidado con las citas y las citas escapadas).
Algunas explicaciones: evita cargar nouveau (que es incompatible con el servidor Nvidia X), y le dice al controlador Intel que vaya al modo de gráficos en el momento del arranque. Si no hace eso, entonces el servidor Intel X no puede iniciarse, y vuelve a un servidor VESA antiguo con representación 3D en el lado de la CPU. Los
acpi_xxx
indicadores se requieren en esta máquina específica para superar un error de BIOS que hace que se bloquee cuando entra en modo de gráficos con la GPU discreta apagada. Tenga en cuenta que es específico para este portátil en particular (estación de trabajo portátil HP ZBook), puede ser innecesario o diferente para otros portátiles.Actualización (6 de diciembre de 2017) Con la última distribución de Debian (Buster), "915.modeset = 1 gfxpayload = 640x480" es innecesario. Para eliminar nouveau, también necesitaba crear un archivo nouveau.conf en /etc/modprobe.d con "blacklist nouveau", y luego volver a crear el ramdisk con "update-initramfs -u". Reinicie y asegúrese de que "nouveau" ya no esté cargado con "lsmod | grep nouveau".
Actualización (17 de diciembre de 2016) Con el último servidor xorg (1.19), parece haber un problema en una función RandR que administra Gamma cuando se usa con
intel-virtual-output
. Aquí está el procedimiento para parchar el Xserver y hacer que funcione:edite hw / xfree86 / modes / xg86RandR12.c Line 1260, inserte "return" (para que la función
xf86RandR12CrtcComputeGamma()
no haga nada)(reemplace
n.nn.n-n
con la versión correcta), reinicie y Yehaa !! funciona de nuevo! (pero es una solución rápida y sucia)La actualización presentó un informe de error (ya se conocía y solo se corrigió): https://bugs.freedesktop.org/show_bug.cgi?id=99129
Cómo lo descubrí: lo instalé
xserver-xorg-core-dbg
y lo hicegdb /usr/lib/xorg/Xorg <xorg pid>
desde otra máquina a través de ssh.Actualización (11 de enero 17) Parece que el error ahora está corregido en los últimos paquetes de Debian.
Actualización (24 de enero de 18) Cuando desea conectar un proyector para hacer una presentación y necesita configurar todo justo antes de comenzar (intel-virtual-output + xrandr), puede ser estresante. Aquí hay un pequeño script que hace el trabajo (descargo de responsabilidad: mucho margen de mejora, con respecto al estilo, etc.):
actualización (10/07/2019)
Una "solución" para el nuevo bloqueo: escriba lo que sigue en un script (llámelo,
bumblebee-startx.sh
por ejemplo):(reemplace PCI: nn: nn: n con la dirección de su tarjeta NVidia, obtenida con lspci)
Ejecutar esta secuencia de comandos desde una ventana de terminal como root (
sudo bumblebee-startx.sh
), mantenga el terminal, luego abiertaoptirun
yintel-virtual-output
el trabajo como se esperaba (nota: a veces tengo que correrxrandr
, además de hacer que la pantalla / proyector de vídeo detectada). Ahora no entiendo por qué el mismo comando comenzó desde accidentes de abejorros, tantos misterios aquí ... (pero al menos da una solución temporal).Cómo lo descubrí: escribí un script 'envoltorio' para iniciar el servidor x, lo declaró como XorgBinary en bumblebee.conf, lo hice guardar la línea de comando ($ *) en un archivo, probé algunas cosas que involucran LD_PRELOAD un parche en el XServer para solucionó el bloqueo en osLookupColor (no funcionó), pero cuando intenté iniciar la misma línea de comando a mano, funcionó y continuó funcionando sin mi parche (pero todavía no entiendo por qué).
Actualización 15/11/2019 Después de la actualización, experimenté muchos parpadeos, haciendo que el sistema fuera inutilizable. Se solucionó agregando el parámetro del kernel
i915.enable_psr=0
(en/etc/defaults/grub
, entoncessudo update-grub
). Si lo desea ahora, PSR significa 'actualización automática del panel', una función de ahorro de energía de las GPU de Intel (que puede causar parpadeo de la pantalla).fuente
intel-virtual-output
. estaba saliendo con el código de salida111
. Incluso estaba tratando de averiguar qué estaba haciendostrace
. Encontré tu publicación, la creé/etc/X11/xorg.conf.d/20-intel.conf
como la tuya, también agregué mi porBusID "PCI:2:0:0"
si acaso. Utiliza configuraciones similares/etc/bumblebee/xorg.conf.nvidia
y bam,intel-virtual-output
funciona bien.xrandr
¡ahora está detectando todos mis otros puertos! : D <3 la parte de/var/log/Xorg.8.log
xrandr
, pero enganchar el cable me muestra el mouse, pero las ventanas no se muestran en la pantalla externa. A veces muestra una copia de mi pantalla principal y luego ambas pantallas se ponen negras y no pasa nada. y resultó que el sistema no comienza/etc/X11/xorg.conf.d/20-intel.conf
y no veo nada en los registros. De todos modos, gracias por compartir esto, supongo que me estoy acercando a una solución.