No se puede obtener una segunda pantalla en Kali Linux (Lenovo Legion 5 con Nvidia RTX)

No se puede obtener una segunda pantalla en Kali Linux (Lenovo Legion 5 con Nvidia RTX)

No logro que mi computadora portátil reconozca mi segunda pantalla (Lenovo Legion 5). Tiene Nvidia RTX 3060 y una segunda tarjeta:

❯ lspci -nnk | grep "VGA\|'Kern'\|3D\|Display" -A2 
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA106M [GeForce RTX 3060 Mobile / Max-Q] [10de:2560] (rev a1)
    Subsystem: Lenovo GA106M [GeForce RTX 3060 Mobile / Max-Q] [17aa:3a81]
    Kernel driver in use: nvidia
--
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [1002:1638] (rev c6)
    Subsystem: Lenovo Cezanne [17aa:3a81]
    Kernel driver in use: amdgpu

En update-alternatives, se utiliza "actual":

❯ sudo update-alternatives --config nvidia
Il existe 2 choix pour l'alternative nvidia (qui fournit /usr/lib/nvidia/nvidia).

  Sélection   Chemin                     Priorité  État
------------------------------------------------------------
  0            /usr/lib/nvidia/tesla-510   510       mode automatique
* 1            /usr/lib/nvidia/current     470       mode manuel
  2            /usr/lib/nvidia/tesla-510   510       mode manuel

Hashcat detecta correctamente CUDA:

❯ hashcat -I
hashcat (v6.2.5) starting in backend information mode

CUDA Info:
==========

CUDA.Version.: 11.4

Backend Device ID #1 (Alias: #2)
  Name...........: NVIDIA GeForce RTX 3060 Laptop GPU
  Processor(s)...: 30
  Clock..........: 1425
  Memory.Total...: 5946 MB
  Memory.Free....: 5838 MB
  PCI.Addr.BDFe..: 0000:01:00.0

OpenCL Info:
============

OpenCL Platform ID #1
  Vendor..: NVIDIA Corporation
  Name....: NVIDIA CUDA
  Version.: OpenCL 3.0 CUDA 11.4.231

  Backend Device ID #2 (Alias: #1)
    Type...........: GPU
    Vendor.ID......: 32
    Vendor.........: NVIDIA Corporation
    Name...........: NVIDIA GeForce RTX 3060 Laptop GPU
    Version........: OpenCL 3.0 CUDA
    Processor(s)...: 30
    Clock..........: 1425
    Memory.Total...: 5946 MB (limited to 1486 MB allocatable in one block)
    Memory.Free....: 5824 MB
    OpenCL.Version.: OpenCL C 1.2 
    Driver.Version.: 470.129.06
    PCI.Addr.BDF...: 01:00.0

OpenCL Platform ID #2
  Vendor..: The pocl project
  Name....: Portable Computing Language
  Version.: OpenCL 2.0 pocl 1.8  Linux, None+Asserts, RELOC, LLVM 11.1.0, SLEEF, DISTRO, POCL_DEBUG

  Backend Device ID #3
    Type...........: CPU
    Vendor.ID......: 1
    Vendor.........: AuthenticAMD
    Name...........: pthread-AMD Ryzen 5 5600H with Radeon Graphics
    Version........: OpenCL 1.2 pocl HSTR: pthread-x86_64-pc-linux-gnu-generic
    Processor(s)...: 12
    Clock..........: 3300
    Memory.Total...: 11857 MB (limited to 2048 MB allocatable in one block)
    Memory.Free....: 5896 MB
    OpenCL.Version.: OpenCL C 1.2 pocl
    Driver.Version.: 1.8

No tengo ningún archivo /etc/X11/xorg.conf. Si generé uno con nvidia-xconfig, aparece un cursor parpadeante al reiniciar.

Los gráficos intercambiables están habilitados en BIOS.

Cuando conecto la pantalla en HDMI no pasa nada... Y las teclas de acceso rápido Win+P o Fn+F7 no hacen nada.

Alguna idea ?

Respuesta1

Después de varias horas y de mezclar muchas ideas diferentes, logré hacerlo funcionar y entregué "mi" solución. Hay poca magia negra por ahí, pero funcionó de mi lado...

  1. No utilice controladores propietarios de Nvidia (aquí nvidia-tesla510) ni ningún otro paquete como optimus, prime, bumblebee, etc. Para estar seguro: elimine todos los controladores actuales de Nvidia, sin excepción: sudo apt purge nvidia-*. Si hay algún error sobre la dependencia, elimínelo. Luego reinicie. Verifique que no tenga ningún paquete de Nvidia instalado en su sistema (incluido Cuda). Elimine los paquetes superfluos con apt autoremove. Personalmente, recomiendo no instalar ningún paquete que no esté distribuido oficialmente por los repositorios estables. Reiniciar.
  2. Siga la guía de instalación de Kali, básicamente:
sudo apt update
sudo apt -y full-upgrade -y
[ -f /var/run/reboot-required ] && sudo reboot -f
sudo apt install -y nvidia-driver nvidia-cuda-toolkit
  1. Para detecciones de pantalla con la segunda pantalla conectada: xrandr -q. Deberías ver la segunda pantalla conectada en la lista. Pero, incluso así, no fue suficiente dejar que la señal pasara por la segunda pantalla.
  2. Puedes reiniciar ahora (tal vez no sea útil, lo sé)
  3. Escribe el tuyo propio /etc/X11/xorg.conf, inspirado en:http://us.download.nvidia.com/XFree86/Linux-x86/375.39/README/randr14.html. O puede usar el paquete nvidia-xconfig( apt install nvidia-xconfig) y luego iniciar: sudo nvidia-xconfig. Puede verificar que /etc/X11/xorg.confse haya escrito un nuevo archivo. Aquí esta el mio:
❯ cat /etc/X11/xorg.conf
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 470.103.01

Section "ServerLayout"
    Identifier     "layout"
    Screen      0  "nvidia" 0 0
    Inactive       "amdgpu"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "nvidia"
    Driver         "nvidia"
    BusID          "PCI:01:0:0"
EndSection

Section "Device"
    Identifier     "amdgpu"
    Driver         "modesetting"
EndSection

Section "Screen"
    Identifier     "nvidia"
    Device         "nvidia"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "AllowEmptyInitialConfiguration"
    SubSection     "Display"
        Depth       24
        Modes      "nvidia-auto-select"
    EndSubSection
EndSection

Section "Screen"
    Identifier     "amdgpu"
    Device         "amdgpu"
    Monitor        "Monitor0"
EndSection

Si tienes gráficos híbridos basados ​​en Intel, tendrás "intel" en lugar de "amdgpu".

  1. Reinicia, cruza los dedos y listo. Si no funciona (cursor parpadeante, pantalla negra...), entra en otro terminal (Alt+F2), quita el xorg.conf, reinicia e intenta buscar otra solución siguiendo culpando a Nvidia, Intel, AMD y a tu fabricante favorito. por su excelente soporte de software para Linux. Buena suerte.

Respuesta2

(Legion 5), AMD presione F9 para ingresar al menú de configuración de Bios y simplemente seleccione la tarjeta gráfica discreta y reinicie el sistema.

información relacionada