Kali Linux でセカンド スクリーンを取得できない (Nvidia RTX 搭載 Lenovo Legion 5)

Kali Linux でセカンド スクリーンを取得できない (Nvidia RTX 搭載 Lenovo Legion 5)

私のラップトップ (Lenovo Legion 5) でセカンド スクリーンを認識できません。Nvidia RTX 3060 と 2 つ目のカードが搭載されています:

❯ 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

では update-alternatives、「現在の」が使用されています。

❯ 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 は 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

/etc/X11/xorg.conf ファイルがありません。 で生成した場合nvidia-xconfig、再起動時にカーソルが点滅します。

BIOS でスイッチャブル グラフィックスが有効になっています。

画面を HDMI で接続しても何も起こりません... また、ホットキー Win+P または Fn+F7 も何も起こりません。

何か案が ?

答え1

数時間かけてさまざまなアイデアを混ぜ合わせた後、なんとかうまく機能するようになり、「私の」ソリューションをお届けします。世の中には黒魔術のようなものはほとんどありませんが、私の側ではうまくいきました...

  1. Nvidia のプロプライエタリ ドライバー (ここでは nvidia-tesla510) や optimus、prime、bumblebee などの他のパッケージは使用しないでください。安全のために、例外なく現在の Nvidia ドライバーをすべて削除します。sudo apt purge nvidia-*依存関係に関するエラーがある場合は削除します。次に、再起動します。システムに Nvidia パッケージがインストールされていないことを確認します (Cuda を含む)。を使用して、不要なパッケージを削除しますapt autoremove。個人的には、安定したリポジトリによって正式に配布されていないパッケージはインストールしないことをお勧めします。再起動します。
  2. 基本的には、Kali インストール ガイドに従ってください。
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. 2 番目の画面が接続された状態での画面検出の場合:xrandr -qリストに 2 番目の画面が接続されていることが表示されます。 ただし、それでも、信号が 2 番目の画面を通過するには不十分でした。
  2. 今すぐ再起動できます(役に立たないかもしれませんが、わかっています)
  3. 以下の内容を参考にして、独自の を書いてください/etc/X11/xorg.conf:http://us.download.nvidia.com/XFree86/Linux-x86/375.39/README/randr14.htmlまたは、パッケージnvidia-xconfig( apt install nvidia-xconfig) を使用して、 を起動することもできます。sudo nvidia-xconfig新しいファイル/etc/X11/xorg.confが書き込まれたことを確認できます。私の例は次のとおりです。
❯ 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

Intel ベースのハイブリッド グラフィックスを使用している場合は、「amdgpu」の代わりに「intel」が表示されます。

  1. 再起動して、幸運を祈れば完了です。うまくいかない場合は (カーソルが点滅したり、画面が黒くなったり...)、別のターミナル (Alt+F2) に移動し、 を削除してxorg.conf再起動し、Linux の優れたソフトウェア サポートを提供している Nvidia、Intel、AMD、お気に入りのメーカーを責め続けることで、別の解決策を見つけてください。幸運を祈ります。

答え2

(Legion 5)、F9 キーを押して BIOS セットアップ メニューに入り、個別のグラフィック カードを選択してシステムを再起動します。

関連情報