GNU/Linux >> Tutoriales Linux >  >> Linux

¿Evitar que el controlador Radeon se conecte a dispositivos PCI específicos?

había tenido algo de pci_stub -líneas relacionadas en mi rc.local pero aparentemente esto fue demasiado tarde en el proceso de arranque para ayudar, ejecutándose después de radeon comenzó a jugar con las cosas.

Arreglé cosas moviendo el pci_stub cosas del módulo del núcleo al initramfs :

  1. lspci -nn | grep Cayman para encontrar el vendor:device números (al final de la línea) para el 6950 y su puerto 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. Abre /etc/initramfs-tools/modules y agregue una nueva línea:

    pci_stub ids=1002:6719,1002:aa80
    
  3. Reconstruir el initramfs :

    sudo update-initramfs -u
    
  4. Reinicie y observe pci_stub venciendo a 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. ¡Disfrute del paso de VGA sin pantalla azul!


Usando la respuesta de genpfault como referencia, creé otra respuesta, creo que es más simple.

El primer paso es el mismo que el anterior:

Luego creé un archivo llamado /lib/modprobe.d/pci-stub.conf, con los argumentos que encontré:

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

Luego creé un archivo llamado /lib/modprobe.d/drm.conf, con softdep:

softdep drm pre: pci-stub

De esta manera, cuando el proceso de arranque intenta cargar drm, primero carga pci-stub, que reserva el hardware de una tarjeta de video y evita que drm se conecte a algún dispositivo.

Posteriormente puedes eliminar la reserva en rc.local, modprobe -r pci-stub .

Opcionalmente puedes cargar otro módulo modprobe another-module para esa tarjeta.


Linux
  1. Cómo borrar un comando específico del historial de Bash en Linux

  2. Cómo excluir directorios específicos de la copia en Linux

  3. Cómo instalar paquetes desde un repositorio específico en Linux

  4. ¿Interceptar entrada y salida de un ejecutable específico?

  5. Journalctl:¿Cómo evitar que el texto se trunque en la terminal?

¿Cómo evito que los servicios de Linux se inicien automáticamente?

Recuperar dispositivos Bluetooth emparejados desde la consola

deshabilitar un dispositivo PCI específico en el arranque

Cómo evitar que un proceso escriba archivos

¿Cómo apagar Linux en una fecha y hora específica desde la terminal?

¿Cómo puedo evitar que mi controlador wifi se vuelva catatónico?