how to set power saving on headless server and power off graphics

Hi guys, I have installed barebone opensuse (server option in installer) + later added tigervnc server, openbox and some x-org packages which I start only on when I need ultralight GUI. I have also virtualbox for windows thing.

I’d like to be able set power scheme (balanced/high power/low power) via command line and turn off VGA/HDMI/DVI ports or even better power off the graphics card, but I don’t know how to control power scheme without wasting extra ram for “heavy” desktop like lxqt etc. Now when I do cat /proc/cpuinfo, I see cpu running at full MHz despite the fact server is idle most of the time. I tried to install xfce power manager, but there are no settings to CPU and setting display to off after one minute does not have any effect too. To my surprise opensuse does not have vbetool package, so I think I will have to compile it from source, but I’d prefer to disable integrated intel graphics card in CPU (core i3) anyway. I don’t know if I can disable graphics in bios, but I’d rather not do that for now, because I have pcie slot used for nvme adapter, so I can not insert graphics card in emergency cases, I’d have to clear cmos I guess. Could you please help me?

I’d also welcome a few tips how to spare a few watts here and there, starting maybe with disabling the graphics (in grub if possible?), because I control the machine only via ssh and vnc.

Thank you!

Hi
The output from lscpu (cat /proc/cpuinfo) is transient in nature with the cpu frequency, use the ‘cpupower -c all frequency-info’ command instead to see. Use the cpupower command to also set the frequency governors.

The vbetool is long gone from the distribution (openSUSE:Dropped repository).

Does the system have a PCI or PCIe X4 or X1 slot, you could get a suitable card to use here for a GPU if needed? I run two nvidia cards from the PCIe slots (as well as use the intel gpu)…

Thank you for reply and heads up with cpupower, but I still see frequencies very close to maximum, not to the minum, even after I tried:

sudo cpupower frequency-set -g powersave
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
echo powersave | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

At least I managed to turn off screen using parameter in grub GRUB_CMDLINE_LINUX_DEFAULT=“consoleblank=60”, but it still does not disable the graphics card. I found, that I cannot disable integrated graphics card in cpu from bios.

Hi
Well you could just blacklist the i915 kernel module, then remove the relevant intel drivers?

Can you check the output from the cpupower frequency-info command and check the ‘driver’, is it intel_pstate?

Thank you for helping me. Here’s the output:

me@server:~> cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
performance powersave
me@server:~> echo powersave | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
powersave
me@server:~> sudo cpupower frequency-set -g powersave
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
me@server:~> sudo cpupower frequency-info
analyzing CPU 0:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: Not Available
  CPUs which need to have their frequency coordinated by software: Not Available
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 800 MHz - 3.70 GHz
  available cpufreq governors: performance
  current policy: frequency should be within 800 MHz and 3.70 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 3.57 GHz (asserted by call to kernel)
  boost state support:
    Supported: no
    Active: no

Server is idle atm, but the frequency never drops. On the same system when on windows and I set powersave profile, it runs at 800MHz most of the time, which is usually enough for my usage, and when needed, it gets to 3,7GHz, but it takes a while. At 800MHz the cpu could run with passive cooler. Of course I want to run linux instead of windows.

Hi
Windows is likely using acpi rather than intel pstate. Have a read here on the options and ability to disable and then suggest switch to acpi-cpufreq.

https://www.kernel.org/doc/html/v4.12/admin-guide/pm/intel_pstate.html

Hello and thank you, I will try to add intel_pstate=disable to grub, see what happens and let you. With opensuse it makes more heat than with (replaced) windows, I’d be very happy if this could solve it.

Hi again, nice catch! Thank you very much, after adding GRUB_CMDLINE_LINUX_DEFAULT=“intel_pstate=disable” my system is running at low frequency (and cool) again. That intel_pstate sucked.

I still had not the balls to disable i915 module, but read somewhere, that it won’t disable the graphics anyway, so I’m rather not risking it. Maybe the graphics card in a cpu cannot be disabled?

Search for it in BIOS settings. Read motherboard’s manual.
But effect for reducing heat supposed to be low.

Hello, unfortunately my motherboard does not allow disabling integrated gpu. I tried to blacklist i915, but the graphics still worked, booted in plain text mode with big font (if I remeber correctly from the old days 80x25 characters, have not seen it for a while :slight_smile: ) and console blanking does not work - monitor stayed up, only text was cleared. So I rather enabled i915 again. Shame, that I cannot tell the GPU to poweroff like USB ports. Even if it would spare only few watts, why to feed something that I absolutely don’t need. It also eats 32MB of RAM. Not, a lot, but it’s a waste.