Esta questão já tem uma resposta aqui:
Eu tenho um servidor em execução para o qual eu quero ter a possibilidade de acessá-lo com uma tela conectada a VGA (muito raramente, na maioria das vezes é acessado via SSH). Portanto, tenho uma placa gráfica PCI-E conectada e o cabo VGA removido. A placa gráfica é passivamente resfriada e, se eu abrir o estojo e tocar o corpo frio, posso sentir um calor perceptível e concluir que ele está consumindo energia (não há consumidores próximos que possam transmitir a energia térmica de qualquer forma).
Se eu desconectar o cartão (como sugerido em Devo desabilitar uma placa gráfica não utilizada? Eu tenho que construí-lo toda vez que eu quero conectar uma tela. Eu gostaria de evitar isso, assim como o consumo de energia.
A desativação e a reativação precisam ocorrer no nível do sistema operacional (por exemplo, via SSH), porque do contrário eu precisaria de uma tela para configurar o UEFI (ou fazer isso cegamente, o que não é uma alternativa) e correr para um ovo de galinha. problema.
Estou usando o Ubuntu 15.04 com o Linux 4.0.2. A placa gráfica é rotulada como XFX HD 5450 850M e possui um conector VGA, HDMI e D-SUB. A placa principal é uma ASRock X99-Extreme sem gráficos integrados.
EDIT: Após a lista negra utilizada módulos listados em sudo lspci -v
(seguindo a resposta promissora do @WhyimsicalWombat abaixo) (no meu caso eu tive que usar o modprobe.blacklist=module_to_blacklist
parâmetro do kernel - consulte https://askubuntu.com/questions/110341/how-to-blacklist-kernel-modules para mais detalhes - para radeon
e snd_hda_intel
) a placa gráfica PCIe ainda aquece (o cooler passivo tem & gt; 60 graus e não há fonte de calor nas proximidades) e não há módulos listados lspci -v
para os dispositivos. A saída de lspci -v
para os dispositivos não é
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
EDIT 2: https://askubuntu.com/a/138953/173287 sugere fazer echo 0 > /sys/bus/pci/slots/$N/power
e eu tenho um /sys/bus/pci/slots/$N
Onde $N
é o número do espaço listado em lspci -v
, mas não há power
Arquivo.
EDIT 3: adicionando as modaliases de /sys/bus/pci/devices/[device]/modalias
para modprobe.blacklist=
parâmetros do kernel não tem efeito sobre os kernels mainline do Ubuntu http://kernel.ubuntu.com/~kernel-ppa/mainline/ e um costume 4.0.5 construir com make localmodconfig
e a ativação de todas as opções de PCI faz com que a tela "Carregando initramfs [versão]" permaneça visível para sempre enquanto a placa gráfica ainda está aquecendo.
fonte
power
arquivo em/sys/bus/*
mesmo com drivers do kernel carregados? Você pode querer verificar isso com o opensource radeon e com os drivers fglrx da AMD. Se não tiver sorte, experimente o fórum da AMD para obter informações mais precisas sobre o gerenciamento de energia da placa. O pior cenário é tirá-lo ou atualizá-lo para algo como 7730 (que suporta zerocore) ou equivalente a NV. Ou se você quiser realmente entender isso, as especificações PCI-e estão disponíveis em PCI-SIG se você quiser tentar forçar o cartão no estado de baixa energia. Coisas divertidas se você tiver tempoRespostas:
A maneira mais fácil é fazer uma lista negra e descarregar o módulo do kernel. Você pode ver o seu módulo atual com o primeiro check-out do número do ônibus com
sudo lspci |egrep -i (vga|video)
anotando o primeiro campo com número como 01: 00.0. Entãosudo lspci -vs 01:00 |grep modules
exibe o módulo em uso. Para dispositivos habilitados para HDMI, geralmente há um dispositivo como 01: 00.1, que é o dispositivo de áudio HDMI. Blacklist isso também.Adicione os dois /etc/modprobe.d/blacklist ou blacklist.conf precedidos pelo comando blacklist. Por exemplo, "blacklist radeon" e "blacklist" snd-hda-intel "etc.
Se você quiser usar o dispositivo, basta sudo modprobe [nome do módulo] para ativá-lo.
Se isso não for suficiente ou se você usar o mesmo módulo para a GPU (adaptador integrado ou segundo) que você realmente usa, ligue o que deseja desativar ao driver pci-stub. A melhor maneira de fazer isso é a partir da linha de comando do kernel na inicialização. Basta adicionar
pcistub="pci-stub.ids=..."
seguido pelos códigos vendorID: deviceID que você pode encontrar comlcpci -nns (your bus number from above)
pcistub="pci-stub.ids=1002:6718,1002:aa80"
Se você quiser usar isso depois de vinculá-lo ao pcistub, você pode desvinculá-lo via sysfs e vinculá-lo ao driver de sua escolha ou (mais simples) reiniciar e inicializar sem a linha de comando.
Eu tentaria primeiro se apenas desabilitar o carregamento automático do módulo fosse suficiente se isso estivesse disponível.
EDITAR:
É possível que o kernel tente o próximo driver disponível se você colocar uma na lista negra. Se assim for, você pode colocar isso na lista negra, a menos que você precise. Ele vai ficar sem drivers compatíveis em breve e deixar o dispositivo sem driver e deve ser desligado (ou pelo menos baixo).
Se estiver esquentando mesmo sem um driver de kernel em uso, atualize a postagem. Eu ficaria muito interessado em ouvir isso.
fonte
blacklist radeon
Correndosudo update-initramfs -u
para reconstruir o kernel (conforme detalhado aqui: askubuntu.com/a/938663/115620 ). A não inclusão da lista negra não exigiu outra reconstrução do kernel.