La manera más fácil

La manera más fácil

Tengo un servidor en ejecución al que quiero tener la posibilidad de acceder con una pantalla conectada a VGA (muy raramente, la mayoría de las veces se accede a través de SSH). Por lo tanto, tengo una tarjeta gráfica PCI-e conectada y el cable VGA retirado. La tarjeta gráfica se enfría pasivamente y si abro la carcasa y toco el cuerpo frío puedo sentir un calor notable y concluir que está consumiendo energía (no hay consumidores cerca que puedan transmitir la energía térmica de alguna manera).

Si desconecto la tarjeta (como se sugiere en¿Debo desactivar una tarjeta gráfica no utilizada?) Tengo que incorporarlo cada vez que quiero conectar una pantalla. Me gustaría evitar eso y también el consumo de energía.

La desactivación y reactivación deben realizarse en el nivel del sistema operativo (por ejemplo, a través de SSH) porque de lo contrario necesitaría una pantalla para configurar UEFI (o hacerlo a ciegas, lo cual no es otra alternativa) y me encontraría con un huevo de gallina. problema.

Estoy usando Ubuntu 15.04 con Linux 4.0.2. La tarjeta gráfica está etiquetada como XFX HD 5450 850M y tiene un conector VGA, HDMI y D-SUB. La placa base es una ASRock X99-Extreme sin gráfica integrada.

EDITAR: Después de incluir en la lista negra los módulos usados ​​enumerados en sudo lspci -v(siguiendo la prometedora respuesta de @WhimsicalWombat a continuación) (en mi caso tuve que usar el modprobe.blacklist=module_to_blacklistparámetro del kernel; consultehttps://askubuntu.com/questions/110341/how-to-blacklist-kernel-modulespara más detalles - para radeony snd_hda_intel) la tarjeta gráfica PCIe aún se calienta (el refrigerador pasivo tiene > 60 grados y no hay ninguna fuente de calor cerca) y no se enumeran módulos lspci -vpara los dispositivos. La salida de lspci -vpara los dispositivos no es

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cedar [Radeon HD 5000/6000/7350/8350 Series] (prog-if 00 [VGA controll
er])
        Subsystem: XFX Pine Group Inc. Device 303e
        Physical Slot: 4
        Flags: bus master, fast devsel, latency 0, IRQ 11
        Memory at e0000000 (64-bit, prefetchable) [size=256M]
        Memory at fbe20000 (64-bit, non-prefetchable) [size=128K]
        I/O ports at e000 [size=256]
        Expansion ROM at fbe00000 [disabled] [size=128K]
        Capabilities: [50] Power Management version 3
        Capabilities: [58] Express Legacy Endpoint, MSI 00
        Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Capabilities: [150] Advanced Error Reporting

01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Cedar HDMI Audio [Radeon HD 5400/6300 Series]
        Subsystem: XFX Pine Group Inc. Device aa68
        Physical Slot: 4
        Flags: bus master, fast devsel, latency 0, IRQ 10
        Memory at fbe40000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [50] Power Management version 3
        Capabilities: [58] Express Legacy Endpoint, MSI 00
        Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Capabilities: [150] Advanced Error Reporting

EDITAR 2:https://askubuntu.com/a/138953/173287sugiere hacer echo 0 > /sys/bus/pci/slots/$N/powery tengo un /sys/bus/pci/slots/$Nnúmero $Nde ranura que aparece en lspci -v, pero no hay ningún powerarchivo.

EDITAR 3: agregar los modalias /sys/bus/pci/devices/[device]/modaliasa modprobe.blacklist=los parámetros del kernel no tiene ningún efecto en los kernels principales de Ubuntu desdehttp://kernel.ubuntu.com/~kernel-ppa/mainline/y una compilación personalizada 4.0.5 con make localmodconfigactivación de todas las opciones PCI hace que la pantalla "Cargando initramfs [versión]" permanezca visible para siempre mientras la tarjeta gráfica aún se está calentando.

Respuesta1

La manera más fácil

La forma más sencilla es incluir en la lista negra y descargar su módulo del kernel. Puede ver su módulo actual comprobando primero el número de autobús con:

sudo lspci | egrep -i "(vga|video)"

observe el primer campo con un número como 01:00.0. Luego muestre el módulo en uso:

sudo lspci -vs 01:00 | grep modules

Para los dispositivos habilitados para HDMI generalmente hay un subdispositivo como 01:00.1 que es el dispositivo de audio HDMI. Incluya eso también en la lista negra.

Agregue ambos /etc/modprobe.d/blacklist o blacklist.conf precedidos por el comando de lista negra. Por ejemplo, "lista negra de radeon" y "lista negra" snd-hda-intel", etc.

Si desea utilizar el dispositivo, simplemente puede sudo modprobe [module name]habilitarlo.

manera personalizada

Si eso no es suficiente o si usa el mismo módulo para la GPU (adaptador integrado o segundo) que realmente usa, vincule el que desea desactivar al pci-stubcontrolador. La mejor manera de hacerlo es desde la línea de comandos del kernel al arrancar. Solo agrega

pcistub="pci-stub.ids=<vendorID:deviceID>"

reemplazando vendorID:deviceIDpor códigos que puedes encontrar con

lspci -nns <your bus number from above e.g. 01:00>
pcistub="pci-stub.ids=1002:6718,1002:aa80"

Si desea utilizarlo después de vincularlo a pcistub, puede desvincularlo a través de sysfs y volver a vincularlo al controlador de su elección o (más simple) reiniciar y arrancar sin la línea de comando.

Lo intentaría primero si deshabilitar la carga automática del módulo es suficiente si está disponible.

EDITAR:

Es posible que el kernel pruebe el siguiente controlador disponible si incluye uno en la lista negra. Si es así, también puedes incluirlo en la lista negra a menos que lo necesites. Pronto se quedarán sin controladores compatibles y dejarán el dispositivo sin controlador y debería estar apagado (o al menos a un nivel bajo).

Si se está calentando incluso sin un controlador de kernel en uso, actualice la publicación. Me interesaría mucho escuchar eso.

información relacionada