[Pregunta] Error en Arch Linux con monitores

Publicado en 'GNU/Linux' por mario1560900, 10 Feb 2019.





  1. mario1560900

    mario1560900 Miembro maestro

    Registro:
    7 Oct 2018
    Mensajes:
    668
    Likes:
    126
    Temas:
    12




    Hola:

    Bueno, llevo un tiempo con Linux y ya con Arch también. Lo que sucede es que esta laptop que tengo tiene gráficos duales "Una HD630 de intel y una 1050m de NVIDIA". Resulta que siempre he tenido el error que aparece al consultar y sé que es relacionado a que una tarjeta de vídeo está conectada físicamente y la otra es un chip. Adjunto la consulta:
    dmesg | grep ERROR
    Código:
    [    3.936840] [drm:lspcon_init [i915]] *ERROR* Failed to probe lspcon
    [    3.936893] [drm:intel_modeset_init [i915]] *ERROR* LSPCON init failed on port B
    Bueno, al final, quisiera saber si alguien puede guiarme en como configurar esta laptop para que no aparezca ese error. No he encontrado en las guías de Arch una manera de hacerlo.

    Laptop Dell inspiron 7567.
     


  2. gnox

    gnox Miembro de bronce

    Registro:
    3 Ene 2013
    Mensajes:
    1,926
    Likes:
    759
    Temas:
    68
  3. mario1560900

    mario1560900 Miembro maestro

    Registro:
    7 Oct 2018
    Mensajes:
    668
    Likes:
    126
    Temas:
    12
    Hola @gnox:
    Actualmente uso bumblebee, de hecho tengo la misma funcionalidad que sugieres y esa página ya la leí. No obstante, no he identificado eso que me comentas Nvidia-xrun.
    ¿Consideras que es mejor que Bumblebee?

    Acabo de leer que Nvidia-xrun tiene mejor rendimiento que Bumblebee. Esa seria la diferencia, pero no creo que corrija el error que modtre en el código.
     
  4. gnox

    gnox Miembro de bronce

    Registro:
    3 Ene 2013
    Mensajes:
    1,926
    Likes:
    759
    Temas:
    68
    Si, es mejor que Bumblebee porque usa la funcionalidad PRIME de la tarjeta nvidia osea mayor performance, y tambien te va a permitir usar Vulkan (con Wine/Steam-Proton o juegos nativos) cosa que Bumblebee no puede (todavia) ya que solo es opengl.

    Si ya configuraste la laptop para uso via Optimus, instala nvidia-xrun le agregas un DE ligero tipo openbox y cambias de terminal ctrl + alt +f2 y ejecutas nvidia-xrun, para regresar al tty1 sales del openbox a terminal y recien ahi presionas ctrl +alt + f1. No se que DE principal usaras pero puede que tengas problema con el login manager lee bien su documentación, yo uso i3 y ahi salto sin ningun inconveniente.

    El error ha de ser por el tipo de conexión entre tarjetas en optimus creo que le decian muxless o muxed donde la salida hdmi esta en uno amarrado a la tarjeta intel directamente en otros casos a la nvidia.
     
  5. chillinfart

    chillinfart Miembro de oro

    Registro:
    23 Ene 2011
    Mensajes:
    7,973
    Likes:
    2,936
    Temas:
    443
    Los drivers libres de Nvidia siempre estarán por debajo de los propietarios debido a caprichos del fabricante en no ayudar a la comunidad (nouveau es básicamente ingeniería inversa).

    Te recomiendo leer bien los modelos de archivos de configuración para bumblebee (hay uno en la misma wiki de Arch).

    Sobre el error, parece que tu gráfica intel es la no reconocida.

    Tengo entendido que algunos gráficos de Intel no admiten el driver libre sino modesetting

    tira lspci a ver qué bota al respecto
     
  6. mario1560900

    mario1560900 Miembro maestro

    Registro:
    7 Oct 2018
    Mensajes:
    668
    Likes:
    126
    Temas:
    12
    Entiendo, y sí, el error es por eso que mencionas en relación a la conexión HDMI que en el caso de esta laptop está amarrada a la gráfica discreta NVIDIA. Bueno, trataré de liarme con el nvidia-xrun. Tendré que ver varias cosas porque no entiendo mucho tu explicación.

    Acá te arrojo mi lspci:
    Código:
    00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 05)
    00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 05)
    00:02.0 VGA compatible controller: Intel Corporation HD Graphics 630 (rev 04)
    00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 05)
    00:14.0 USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller (rev 31)
    00:14.2 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem (rev 31)
    00:15.0 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Serial IO I2C Controller #0 (rev 31)
    00:15.1 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Serial IO I2C Controller #1 (rev 31)
    00:16.0 Communication controller: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 (rev 31)
    00:17.0 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 31)
    00:1c.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #5 (rev f1)
    00:1c.5 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #6 (rev f1)
    00:1f.0 ISA bridge: Intel Corporation HM175 Chipset LPC/eSPI Controller (rev 31)
    00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31)
    00:1f.3 Audio device: Intel Corporation CM238 HD Audio Controller (rev 31)
    00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31)
    01:00.0 VGA compatible controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Mobile] (rev ff)
    02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
    03:00.0 Network controller: Intel Corporation Wireless 3165 (rev 79)
    
    @gnox:
    Estoy intentando hacer la operación, pero al pones esto no me deja ingresar al desktop environment:

    Using nvidia
    The proprietary NVIDIA driver does not support dynamic switching like the nouveau driver (meaning it can only use the NVIDIA device). It also has notable screen-tearing issues that NVIDIA recognizes but has not fixed, unless you are using x.org > 1.19 and enable prime sync, see [1]. However, it does allow use of the discrete GPU and has (as of January 2017) a marked edge in performance over the nouveau driver.

    First, install the NVIDIA driver and xorg-xrandr. Then, configure xorg.conf. You will need to know the PCI address of the NVIDIA card, which you can find by issuing

    $ lspci | egrep 'VGA|3D'

    The PCI address is the first 7 characters of the line that mentions NVIDIA. It will look something like 01:00.0. In the xorg.conf, you will need to format it as #:#:#; e.g. 01:00.0 would be formatted as 1:0:0.

    Note: On some setups this setup breaks automatic detection of the values of the display by the nvidia driver through the EDID file. As a work-around see #Resolution, screen scan wrong. EDID errors in Xorg.log.
    If X.Org X server version 1.17.2 or higher is installed ([2])

    /etc/X11/xorg.conf
    Section "Module"
    Load "modesetting"
    EndSection

    Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "<BusID for NVIDIA device here>"
    Option "AllowEmptyInitialConfiguration"
    EndSection

    Por cierto:
    ¿Sin un DE que no se base en openbox se puede usar xrun?
    Yo uso cinnamon.

    Con esto estoy entendiendo algo mejor:
    https://forum.manjaro.org/t/how-to-use-vulkan-on-bumblebee-a-guide-to-nvidia-xrun/56260
     
  7. gnox

    gnox Miembro de bronce

    Registro:
    3 Ene 2013
    Mensajes:
    1,926
    Likes:
    759
    Temas:
    68
    Yo no uso /etc/X11/xorg.conf es mas lo elimino y dejo todo dentro de xorg.conf.d

    0. El /etc/X11/xorg.conf.d/20-intel.conf
    Código:
    Section "Device"
       Identifier  "Intel Graphics"
       Driver      "modesetting"
       Option      "TearFree"          "true"
       Option      "Backlight" "intel_backlight"   
    EndSection
    
    1. El /etc/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf , debes tener algo como esto :
    Código:
    Section "OutputClass"
        Identifier "intel"
        MatchDriver "i915"
        Driver "modesetting"
    EndSection
    
    Section "OutputClass"
        Identifier "nvidia"
        MatchDriver "nvidia-drm"
        Driver "nvidia"
        Option "AllowEmptyInitialConfiguration"
        Option "PrimaryGPU" "yes"
        ModulePath "/usr/lib/nvidia/xorg"
    EndSection
    
    2. En /etc/X11/nvidia-xorg.conf (que creo el nvidia-xrun) algo como esto
    Código:
    Section "Files"
      ModulePath "/usr/lib/nvidia"
      ModulePath "/usr/lib32/nvidia"
      ModulePath "/usr/lib32/nvidia/xorg/modules"
      ModulePath "/usr/lib32/xorg/modules"
      ModulePath "/usr/lib64/nvidia/xorg/modules"
      ModulePath "/usr/lib64/xorg/modules"
    EndSection
    
    Section "ServerLayout"
      Identifier "layout"
      Screen 1 "nvidia"
      Inactive "intel"
    EndSection
    
    Section "Device"
      Identifier "nvidia"
      Driver "nvidia"
      BusID "PCI:1:0:0"
      Option "UseEdidDpi" "False"
      Option "DPI" "96 x 96"
    EndSection
    
    Section "Screen"
      Identifier "nvidia"
      Device "nvidia"
    EndSection
    
    Section "Device"
      Identifier "intel"
      Driver "modesetting"
      Option "AccelMethod" "none"
    EndSection
    
    Section "Screen"
      Identifier "intel"  
      Device "intel"
    EndSection
    
    Section "InputClass"
            Identifier "system-keyboard"
            MatchIsKeyboard "on"
            Option "XkbLayout" "es"
    EndSection
    
    Section "InputClass"
            Identifier "libinput touchpad catchall"
            MatchIsTouchpad "on"
            MatchDevicePath "/dev/input/event*"
            Driver "libinput"
       Option "Tapping" "on"
    EndSection
    
    Section "InputDevice"
       Identifier  "Mouse"
       Driver  "mouse"
       Option  "Device" "/dev/input/mice"
    EndSection
    
    3. En $HOME/.nvidia-xinitrc
    Código:
    exec openbox
    
    Tienes que usar un DE distinto al que ya usas en tty1 , porque si usas el mismo en tty2 va a detectarse que ya esta corriendo y no va a hacer nada. Puedes usar awesomewm, bspwn , twm o cualquier otro.

    Como mencione antes el problema que puedes llegar a tener es con el LOGIN Manager, que derepente estas usando GDM o LIGHTDM desactivalo logeate en modo consola y has primero funcionar tu desktop normal (cinnamon) y luego presionando ctrl + alt + f2 entras a tty2 y ejecutas nvidia-xrun.
     
  8. mario1560900

    mario1560900 Miembro maestro

    Registro:
    7 Oct 2018
    Mensajes:
    668
    Likes:
    126
    Temas:
    12
    Bueno, las dos primeras configuraciones no las tenía, las he copiado y pegado y funcionan sin problema. No tengo problemas con mi GDM y puedo entrar sin problemas a nvidia-xrun en la TTY2.

    Lo que no entiendo es qué gano ingresando a eso, he entrado instalando openbox y me aparece un menu todo feo desde el que no se puede ejecutar nada.

    Inclusive, intentando ejecutar algún programa desde la terminal xterm de openbox en la TTY 2 aparece esto:

    Waking up nvidia GPU
    ON
    Loading nvidia module
    Loading nvidia_drm module
    Unloading nvidia_drm module
    Unloading nvidia_modeset module
    Unloading nvidia module
    Turning off nvidia GPU
    OFF
    Current state of nvidia GPU: 0000:01:00.0 ON
     
  9. gnox

    gnox Miembro de bronce

    Registro:
    3 Ene 2013
    Mensajes:
    1,926
    Likes:
    759
    Temas:
    68
    al ejecutar nvidia-xrun en tty2 esta levanta un xserver amarrado a la tarjeta nvidia y hace offload a la tarjeta intel, de ahi corre el $HOME/.nvidia-xinitrc que levanta el openbox en ese xserver, con esto ya puedes probar otra vez el monitor deberia mandar la salida al monitor y apagar el lcd. Si quieres usar ambos a la vez vas a tener que meter lineas de metamodes dentro del nvidia-xorg.conf.

    Estas lineas son las que deben aparecer al iniciar nvidia-xrun aparte del xorg server.
    Waking up nvidia GPU
    ON
    Loading nvidia module
    Loading nvidia_drm module

    Cuando sales de openbox deben aparecer estas
    Unloading nvidia_drm module
    Unloading nvidia_modeset module
    Unloading nvidia module
    Turning off nvidia GPU
    OFF
    Current state of nvidia GPU: 0000:01:00.0 ON

    Y recien ahi cambiar a tty1 , ctrl + alt + f1.

    Adicionalmente ya tienes el plus del PRIME de poder ejecutar en alta performance cualquier aplicación 3D, mas vulkan.

    Y el openbox se ve feo porque necesita configurarlo.
     
  10. mario1560900

    mario1560900 Miembro maestro

    Registro:
    7 Oct 2018
    Mensajes:
    668
    Likes:
    126
    Temas:
    12
    Ok, ya entendí su funcionamiento.
    Entonces, en resumen hace lo siguiente, inicia una instancia de X en una TTY distinta, que puede ser la 2 o 3 o 4 o etc siempre y cuando no sea la misma que tenga mi cinnamon.

    Hasta ahí genial, sin embargo, me entra la duda. Desde dónde ejecuto los juegos de Steam, para tomarlo como ejemplo.
    ¿Desde la TTY con cinnamon o desde la TTY que maneja en este caso a openbox?
     
  11. gnox

    gnox Miembro de bronce

    Registro:
    3 Ene 2013
    Mensajes:
    1,926
    Likes:
    759
    Temas:
    68
    En la que acabas de abrir para usar la tarjeta nvidia : tty2...n (openbox).
     
  12. mario1560900

    mario1560900 Miembro maestro

    Registro:
    7 Oct 2018
    Mensajes:
    668
    Likes:
    126
    Temas:
    12
    Ah, Vale, entonces tendría dos instancias de las X.
    Interesante, pero bastante latoso. Creo que la configuración ya me había salido. Pero lo desinstalé todo.

    Bueno, ya lo aprendí y es útil. Muchas gracias.
    Sin embargo eso no ha solucionado mi error. :(
     
  13. mario1560900

    mario1560900 Miembro maestro

    Registro:
    7 Oct 2018
    Mensajes:
    668
    Likes:
    126
    Temas:
    12
    Bueno, al final hice una imagen de mi Arch y le instalé Ubuntu. El mensaje se error sigue, sin embargo, utilizando la función prime de Ubuntu cuando se coloca la tarjeta en solo NVIDIA el equipo si muestra la pantalla HDMI, cuando está en modo Intel no.
     
  14. mario1560900

    mario1560900 Miembro maestro

    Registro:
    7 Oct 2018
    Mensajes:
    668
    Likes:
    126
    Temas:
    12
    Bueno, me cansé de ubuntu. Me di cuenta de que es imposible usar Vulkan con prime-selec de ubuntu, coloqué nvidia-xrun en Arch y sí he podido jugar.