GNU/Linux >> Tutoriels Linux >  >> Linux

Empêcher le pilote Radeon de se connecter à des périphériques PCI spécifiques ?

J'avais eu du pci_stub -lignes liées dans mon rc.local mais c'était apparemment trop tard dans le processus de démarrage pour aider, exécuté après radeon commencé à jouer avec les choses.

J'ai corrigé les choses en déplaçant le pci_stub trucs du module du noyau au initramfs :

  1. lspci -nn | grep Cayman pour trouver le vendor:device numéros (en toute fin de ligne) pour le 6950 et son port HDMI :

    02:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI Cayman PRO [Radeon HD 6950] [1002:6719]
    02:00.1 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI Cayman/Antilles HDMI Audio [Radeon HD 6900 Series] [1002:aa80]
    
  2. Ouvrez /etc/initramfs-tools/modules et ajoutez une nouvelle ligne :

    pci_stub ids=1002:6719,1002:aa80
    
  3. Reconstruire le initramfs :

    sudo update-initramfs -u
    
  4. Redémarrez et observez pci_stub battre radeon :

    dmesg | egrep "pci-stub|radeon"
    
    pci-stub: add 1002:6719 sub=FFFFFFFF:FFFFFFFF cls=00000000/00000000
    pci-stub 0000:02:00.0: claimed by stub
    pci-stub: add 1002:AA80 sub=FFFFFFFF:FFFFFFFF cls=00000000/00000000
    pci-stub 0000:02:00.1: claimed by stub
    [drm] radeon kernel modesetting enabled.
    radeon 0000:01:00.0: setting latency timer to 64
    radeon 0000:01:00.0: VRAM: 1024M 0x0000000000000000 - 0x000000003FFFFFFF (1024M used)
    radeon 0000:01:00.0: GTT: 512M 0x0000000040000000 - 0x000000005FFFFFFF
    
  5. Profitez d'un passthrough VGA sans écran bleu !


En utilisant la réponse genpfault comme référence, j'ai créé une autre réponse, je pense que c'est plus simple.

La première étape est la même que ci-dessus :

Ensuite, j'ai créé un fichier appelé /lib/modprobe.d/pci-stub.conf, avec les arguments que j'ai trouvé :

options pci-stub ids=1002:9715,1002:970f

Ensuite, j'ai créé un fichier appelé /lib/modprobe.d/drm.conf, avec softdep :

softdep drm pre: pci-stub

De cette façon, lorsque le processus de démarrage tente de charger drm, il charge d'abord pci-stub, qui réserve le matériel d'une carte vidéo et empêche drm de se connecter à un périphérique.

Plus tard, vous pouvez supprimer la réservation dans rc.local, modprobe -r pci-stub .

En option, vous pouvez charger un autre module modprobe another-module pour cette carte.


Linux
  1. Comment effacer une commande spécifique de l'historique Bash sous Linux

  2. Comment exclure des répertoires spécifiques de la copie sous Linux

  3. Comment installer des packages à partir d'un référentiel spécifique sous Linux

  4. Journalctl :comment empêcher le texte de tronquer dans le terminal ?

  5. Empêcher Tmux de démarrer sur Ssh ?

Récupérer les appareils Bluetooth jumelés de la console

Comment empêcher les utilisateurs sudo d'exécuter des commandes spécifiques ?

Mise sous tension du disque dur en veille :empêche de tourner

Comment empêcher un processus d'écrire des fichiers

Comment arrêter Linux à une date et heure spécifique depuis le terminal ?

Comment puis-je empêcher mon pilote Wi-Fi de devenir catatonique ?