How to disable a plugged-in PCI-e graphic card on OS level? [duplicate]
I have a server running for which I want to have a possility to access it with a screen connected to VGA (very rarely, most of the time it’s accessed via SSH). Therefore I have a PCI-e graphic cards plugged in and the VGA cable removed. The graphic card is passively cooled and if I open the case and touch the cool body I can feel a noticable warmth and conclue that it’s consuming energy (there’re no consumers close to it that could transmit the thermal energy in any way). If I unplug the card (as suggested in Should I Disable an unused graphic card?) I have to built it in every time I want to connect a screen. I would like to avoid that as well as the energy consumption. The de- and re-activation needs to take place on the OS level (e.g. via SSH) because otherwise I’d need a screen to configure the UEFI (or do that blindly which is no alternative) and run into a chicken-egg-problem. I’m using Ubuntu 15.04 with Linux 4.0.2. The graphic card is labeled XFX HD 5450 850M and has a VGA, HDMI and D-SUB connector. The mainboard is an ASRock X99-Extreme without integrated graphic. EDIT: After blacklisting used modules listed in sudo lspci -v (following @WhimsicalWombat’s promising answer below) (in my case I had to use the modprobe.blacklist=module_to_blacklist kernel parameter — see https://askubuntu.com/questions/110341/how-to-blacklist-kernel-modules for more details — for radeon and snd_hda_intel ) the PCIe graphic card still heats up (passive cooler has > 60 degrees and there’s no heat source closeby) and no modules are listed in lspci -v for the devices. The output of lspci -v for the devices is not
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: 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: Rev=1 Len=010 Capabilities: [150] Advanced Error Reporting
Disable your NVIDIA card in Linux
My NVIDIA graphic card on my linux box had already given me alot of pain. I couldn’t resist seeing my laptop fan going wild and my laptop going excessively hot even during normal operation. I knew that all this is due to the NVIDIA graphic card I have. Since, I do not use my graphic card much, I decided to turn my graphic card off permanently on my fedora 20 box.
bbswitch module helped me alot in accomplishing this. But before using this module I had to disable the inbuilt nouveau driver for NVIDIA card that is already shipped with the linux kernel for NVIDIA card. nouveau is an open source graphic card driver for NVIDIA cards. Disabling it means I need to blacklist it. On my Fedora 20 box, I added following file in
Just add following line in the above mentioned file.
Remember to generate initramfs image after doing this, so that your kernel knows about the change the next time you reboot. You can generate the new initramfs image as :
Reboot your box and your nouveau driver is not loaded this time. You can double check that using the following command :
If you still see nouveau in the output, there is some problem and the driver is not unloaded successfully. Re-check the instructions above. There shouldn’t be any problem if you followed them accurately.
The next step is to download the kernel-devel package for your current kernel. You can do that as :
sudo yum install kernel-devel-$(uname -r)
This downloads the necessary kernel files to build modules for this kernel. You can now download the bbswitch module from github. Download the zip file. Extract it. cd to the its extracted directory. Hit
It will successfully make the bbswitch kernel module if kernel-devel packages are installed for your kernel version.
After this point, you can load the kernel module explicitly using
It will load the bbswitch module if nouveau is disabled. You can see the results using :
Loading the module doesn’t mean your NVIDIA card is off now. To do that you have to enter the following :
sudo tee /proc/acpi/bbswitch
It will turn off your card. Again to see the resulsts you can run dmesg and see the latest output of the command. If there is some problem in disabling the driver, the output of dmesg will tell you that.
Disabling card on boot
If you don’t want your NVIDIA card at all, you can turn off your card at every boot. bbswitch module should be loaded at every reboot for this to happen. To load the bbswitch module at every reboot, create a file as :
with the following content
Also create another file as :
options bbswitch load_state=0
This makes sure that whenever the bbswitch module is loaded, the card is turned off automatically so you won’t have to edit /proc/acpi/bbswitch manually.
For above things to work, there is another thing you need to do. modprobe should be able to find the bbswitch module you just built. By default modprobe looks for the modules in :
So copy your bbswitch.ko file to the above mentioned directory. Now to refresh the database, you need following command :
Now to check if modprobe finds the bbswitch, you can check this via :
If it finds the bbswitch module, it will output nothing else it will show you the error saying that it couldn’t find the module bbswitch.
After following all the above instructions, your NVIDIA card will automatically be disabled on every reboot. There is one thing you need to keep in mind here that you have to follow all the above instructions in case you upgrade your kernel version. If you want this to remain persistent across kernel upgrades you can use the DKMS. To know more about it you can refer to the bbswitch README.
How to disable Nvidia graphic card on Manjaro Linux?
OS: Manjaro Ornara 21 KDE. I want to disable Nvidia. My BIOS version is 1.4.3. I have no idea why Nvidia is working even if I coding. I found that its temperature is 45*C. I’ve try to find something in BIOS, but this new version is so confusing. Can you help me to disable Nvidia and make Intel as primary?
1 Answer 1
- Begin with installing bbswitch module for your kernel. There’s one for each kernel version in Manjaro repository.
- Next you need to create a couple of config files in /etc/modprobe.d directory. Let’s describe their contents now. /etc/modprobe.d/nouveau.conf:
blacklist nouveau blacklist nvidia
options bbswitch load_state=0 unload_state=0
You must log in to answer this question.
Related
Hot Network Questions
Subscribe to RSS
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
Site design / logo © 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2023.7.14.43533
Linux is a registered trademark of Linus Torvalds. UNIX is a registered trademark of The Open Group.
This site is not affiliated with Linus Torvalds or The Open Group in any way.
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.