GNU/Linux >> Linux Esercitazione >  >> Linux

Impedisci al driver Radeon di collegarsi a specifici dispositivi PCI?

Avevo avuto un po' di pci_stub -linee correlate nel mio rc.local ma questo era apparentemente troppo tardi nel processo di avvio per aiutare, in esecuzione dopo radeon ha iniziato a giocherellare con le cose.

Ho sistemato le cose spostando il pci_stub roba del modulo del kernel al initramfs :

  1. lspci -nn | grep Cayman per trovare il vendor:device numeri (alla fine della riga) per il 6950 e la sua porta 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. Apri /etc/initramfs-tools/modules e aggiungi una nuova riga:

    pci_stub ids=1002:6719,1002:aa80
    
  3. Ricostruisci l'initramfs :

    sudo update-initramfs -u
    
  4. Riavvia e osserva pci_stub battendo 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. Goditi il ​​passthrough VGA senza schermo blu!


Usando la risposta genpfault come riferimento, ho creato un'altra risposta, penso sia più semplice.

Il primo passo è lo stesso di sopra:

Poi ho creato un file chiamato /lib/modprobe.d/pci-stub.conf, con gli argomenti che ho trovato:

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

Poi ho creato un file chiamato /lib/modprobe.d/drm.conf, con softdep:

softdep drm pre: pci-stub

In questo modo, quando il processo di avvio tenta di caricare drm, carica prima pci-stub, che riserva l'hardware di una scheda video e impedisce a drm di collegarsi a qualche dispositivo.

Successivamente puoi rimuovere la prenotazione in rc.local, modprobe -r pci-stub .

Opzionalmente puoi caricare un altro modulo modprobe another-module per quella carta.


Linux
  1. Come cancellare un comando specifico dalla cronologia di Bash in Linux

  2. Journalctl:come impedire il troncamento del testo nel terminale?

  3. Come impedire a `ls` di ordinare l'output?

  4. Impedire a Signt di raggiungere i processi figlio?

  5. Come posso rimuovere regole specifiche da iptables?

disabilitare un dispositivo PCI specifico all'avvio

Come impedire agli utenti sudo di eseguire comandi specifici?

Accensione dell'HDD in standby:impedisce la rotazione

Come impedire a un processo di scrivere file

Come spegnere Linux a una data e ora specifica dal terminale?

Come posso evitare che il mio driver wifi diventi catatonico?