Page 1 of 1

Daily Marketing Activity Using Ubuntu Desktop 20.04 LTS. Update - Thu, Dec 05, 2024

Posted: August 2nd, 2023, 3:37 am
by admin
Recently, whenever I run apt update/upgrade, I get annoying the Advertisement message in the ubuntu pro terminal.

Code: Select all

# An OpenSSL vulnerability has recently been fixed with USN-6188-1 & 6119-1:
# CVE-2023-2650: possible DoS translating ASN.1 object identifiers.
# Ensure you have updated the package to its latest version.
How to get rid of Ubuntu Pro advertisement when updating apt?

Just rename that file to a .bak file, and create a zero length file of the same name:

Code: Select all

sudo mv /etc/apt/apt.conf.d/20apt-esm-hook.conf /etc/apt/apt.conf.d/20apt-esm-hook.conf.bak
sudo touch /etc/apt/apt.conf.d/20apt-esm-hook.conf
Regarding OpenSSL vulnerable...
update your Ubuntu Pro...
and make sure that your daily marketing activity safe and secured...

Code: Select all

sudo pro fix CVE-2017-9233
sudo pro fix CVE-2020-25686
sudo pro fix CVE-2021-44731
sudo pro fix CVE-2022-0778
sudo pro fix CVE-2023-2650
sudo pro fix USN-5079-2
sudo pro fix USN-6119-1
sudo pro fix USN-6188-1
sudo pro fix USN-6219-1
Validate OpenSSL version within your device:

Code: Select all

openssl version -a
Ubuntu kernel lifecycle and enablement stack
The Ubuntu LTS enablement, or Hardware Enablement (HWE), stack provides the newer kernel and X support for existing Ubuntu LTS releases. That stack can be enabled manually, but may also be pre-enabled with an Ubuntu LTS release.

The HWE stack can be used by desktop and server systems, as well as cloud or virtual images.

Ubuntu 20.04 LTS — Focal Fossa Desktop:

Code: Select all

sudo apt-get install --install-recommends linux-generic-hwe-20.04
Check your support status

Code: Select all

hwe-support-status --verbose
Install auto-cpufreq (Can I call this... an Artificial intelligence for auto-cpufreq?)

One of the problems with Linux today on laptops is that the CPU will run in an unoptimized manner which will negatively reflect on battery life.
For example, the CPU will run using "performance" governor with turbo boost enabled regardless if it's plugged in to power or not.

These issues can be mitigated by using tools like indicator-cpufreq or cpufreq, but these still require manual action from your side which can be daunting and cumbersome.

Using tools like TLP can help in this situation with extending battery life (which is something I used to do for numerous years),
but it also might come with its own set of problems, like losing turbo boost.

My current TLP comfiguration:
(Adopted from : https://gist.github.com/pauloromeira/78 ... ed7eafa42a)
Copy My TLP config file (/etc/default/tlp) for ThinkPad:
(Just do edit/modified to work with your device)

Code: Select all

sudo nano /etc/default/tlp

Code: Select all

# ------------------------------------------------------------------------------
# tlp - Parameters for power saving
# See full explanation: http://linrunner.de/en/tlp/docs/tlp-configuration.html

# dir: /etc/default/tlp

# Hint: some features are disabled by default, remove the leading # to enable
# them.

# Set to 0 to disable, 1 to enable TLP.
TLP_ENABLE=1

# Operation mode when no power supply can be detected: AC, BAT
# Concerns some desktop and embedded hardware only.
TLP_DEFAULT_MODE=AC

# Operation mode select: 0=depend on power source, 1=always use TLP_DEFAULT_MODE
# Hint: use in conjunction with TLP_DEFAULT_MODE=BAT for BAT settings on AC
TLP_PERSISTENT_DEFAULT=0

# Seconds laptop mode has to wait after the disk goes idle before doing a sync.
# Non-zero value enables, zero disables laptop mode.
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2

# Dirty page values (timeouts in secs).
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60

# Hint: CPU parameters below are disabled by default, remove the leading #
# to enable them, otherwise kernel default values are used.

# Select a CPU frequency scaling governor.
# Intel Core i processor with intel_pstate driver:
#   powersave(*), performance
# Older hardware with acpi-cpufreq driver:
#   ondemand(*), powersave, performance, conservative, schedutil
# (*) is recommended.
# Hint: use tlp-stat -p to show the active driver and available governors.
# Important:
#   You *must* disable your distribution's governor settings or conflicts will
#   occur. ondemand is sufficient for *almost all* workloads, you should know
#   what you're doing!
#CPU_SCALING_GOVERNOR_ON_AC=powersave
#CPU_SCALING_GOVERNOR_ON_BAT=powersave

# Set the min/max frequency available for the scaling governor.
# Possible values strongly depend on your CPU. For available frequencies see
# the output of tlp-stat -p.
#CPU_SCALING_MIN_FREQ_ON_AC=0
#CPU_SCALING_MAX_FREQ_ON_AC=0
#CPU_SCALING_MIN_FREQ_ON_BAT=0
#CPU_SCALING_MAX_FREQ_ON_BAT=0

# Set energy performance hints (HWP) for Intel P-state governor:
#   default, performance, balance_performance, balance_power, power
# Values are given in order of increasing power saving.
# Note: Intel Skylake or newer CPU and Kernel >= 4.10 required.
CPU_HWP_ON_AC=balance_performance
CPU_HWP_ON_BAT=balance_power

# Set Intel P-state performance: 0..100 (%)
# Limit the max/min P-state to control the power dissipation of the CPU.
# Values are stated as a percentage of the available performance.
# Requires an Intel Core i processor with intel_pstate driver.
#CPU_MIN_PERF_ON_AC=0
#CPU_MAX_PERF_ON_AC=100
#CPU_MIN_PERF_ON_BAT=0
#CPU_MAX_PERF_ON_BAT=30

# Set the CPU "turbo boost" feature: 0=disable, 1=allow
# Requires an Intel Core i processor.
# Important:
# - This may conflict with your distribution's governor settings
# - A value of 1 does *not* activate boosting, it just allows it
#CPU_BOOST_ON_AC=1
#CPU_BOOST_ON_BAT=0

# Minimize number of used CPU cores/hyper-threads under light load conditions
SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1

# Kernel NMI Watchdog:
#   0=disable (default, saves power), 1=enable (for kernel debugging only)
NMI_WATCHDOG=0

# Change CPU voltages aka "undervolting" - Kernel with PHC patch required
# Frequency voltage pairs are written to:
#   /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
# CAUTION: only use this, if you thoroughly understand what you are doing!
#PHC_CONTROLS="F:V F:V F:V F:V"

# Set CPU performance versus energy savings policy:
#   performance, normal, powersave
# Requires kernel module msr and x86_energy_perf_policy from linux-tools
ENERGY_PERF_POLICY_ON_AC=performance
ENERGY_PERF_POLICY_ON_BAT=powersave

# Hard disk devices; separate multiple devices with spaces (default: sda).
# Devices can be specified by disk ID also (lookup with: tlp diskid).
DISK_DEVICES="sda sdb"

# Hard disk advanced power management level: 1..254, 255 (max saving, min, off)
# Levels 1..127 may spin down the disk; 255 allowable on most drives.
# Separate values for multiple disks with spaces. Use the special value 'keep'
# to keep the hardware default for the particular disk.
DISK_APM_LEVEL_ON_AC="254 254"
DISK_APM_LEVEL_ON_BAT="128 128"

# Hard disk spin down timeout:
#   0:        spin down disabled
#   1..240:   timeouts from 5s to 20min (in units of 5s)
#   241..251: timeouts from 30min to 5.5 hours (in units of 30min)
# See 'man hdparm' for details.
# Separate values for multiple disks with spaces. Use the special value 'keep'
# to keep the hardware default for the particular disk.
#DISK_SPINDOWN_TIMEOUT_ON_AC="0 0"
#DISK_SPINDOWN_TIMEOUT_ON_BAT="0 0"

# Select IO scheduler for the disk devices: cfq, deadline, noop (Default: cfq);
# Separate values for multiple disks with spaces. Use the special value 'keep'
# to keep the kernel default scheduler for the particular disk.
#DISK_IOSCHED="cfq cfq"

# SATA aggressive link power management (ALPM):
#   min_power, medium_power, max_performance
SATA_LINKPWR_ON_AC=max_performance
SATA_LINKPWR_ON_BAT=min_power

# Exclude SATA host devices from link power management.
# Separate multiple hosts with spaces.
#SATA_LINKPWR_BLACKLIST="host1"

# Runtime Power Management for AHCI controllers and disks:
#   on=disable, auto=enable
# EXPERIMENTAL ** WARNING: auto will most likely cause system lockups/data loss
#AHCI_RUNTIME_PM_ON_AC=on
#AHCI_RUNTIME_PM_ON_BAT=on

# Seconds of inactivity before disk is suspended
AHCI_RUNTIME_PM_TIMEOUT=15

# PCI Express Active State Power Management (PCIe ASPM):
#   default, performance, powersave
PCIE_ASPM_ON_AC=performance
PCIE_ASPM_ON_BAT=powersave

# Radeon graphics clock speed (profile method): low, mid, high, auto, default;
# auto = mid on BAT, high on AC; default = use hardware defaults.
# (Kernel >= 2.6.35 only, open-source radeon driver explicitly)
RADEON_POWER_PROFILE_ON_AC=high
RADEON_POWER_PROFILE_ON_BAT=low

# Radeon dynamic power management method (DPM): battery, performance
# (Kernel >= 3.11 only, requires boot option radeon.dpm=1)
RADEON_DPM_STATE_ON_AC=performance
RADEON_DPM_STATE_ON_BAT=battery

# Radeon DPM performance level: auto, low, high; auto is recommended.
RADEON_DPM_PERF_LEVEL_ON_AC=auto
RADEON_DPM_PERF_LEVEL_ON_BAT=auto

# WiFi power saving mode: on=enable, off=disable; not supported by all adapters.
WIFI_PWR_ON_AC=off
WIFI_PWR_ON_BAT=on

# Disable wake on LAN: Y/N
WOL_DISABLE=Y

# Enable audio power saving for Intel HDA, AC97 devices (timeout in secs).
# A value of 0 disables, >=1 enables power saving.
SOUND_POWER_SAVE_ON_AC=0
SOUND_POWER_SAVE_ON_BAT=1

# Disable controller too (HDA only): Y/N
SOUND_POWER_SAVE_CONTROLLER=Y

# Power off optical drive in UltraBay/MediaBay: 0=disable, 1=enable.
# Drive can be powered on again by releasing (and reinserting) the eject lever
# or by pressing the disc eject button on newer models.
# Note: an UltraBay/MediaBay hard disk is never powered off.
BAY_POWEROFF_ON_AC=0
BAY_POWEROFF_ON_BAT=0
# Optical drive device to power off (default sr0).
BAY_DEVICE="sr0"

# Runtime Power Management for PCI(e) bus devices: on=disable, auto=enable
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto

# Exclude PCI(e) device adresses the following list from Runtime PM
# (separate with spaces). Use lspci to get the adresses (1st column).
#RUNTIME_PM_BLACKLIST="bb:dd.f 11:22.3 44:55.6"

# Exclude PCI(e) devices assigned to the listed drivers from Runtime PM.
# Default when unconfigured is "amdgpu nouveau nvidia radeon" which
# prevents accidential power-on of dGPU in hybrid graphics setups.
# Use "" to disable the feature completely.
# Separate multiple drivers with spaces.
#RUNTIME_PM_DRIVER_BLACKLIST="amdgpu nouveau nvidia radeon"

# Set to 0 to disable, 1 to enable USB autosuspend feature.
USB_AUTOSUSPEND=1

# Exclude listed devices from USB autosuspend (separate with spaces).
# Use lsusb to get the ids.
# Note: input devices (usbhid) are excluded automatically
#USB_BLACKLIST="1111:2222 3333:4444"

# Bluetooth devices are excluded from USB autosuspend:
#   0=do not exclude, 1=exclude
USB_BLACKLIST_BTUSB=0

# Phone devices are excluded from USB autosuspend:
#   0=do not exclude, 1=exclude (enable charging)
USB_BLACKLIST_PHONE=0

# WWAN devices are excluded from USB autosuspend:
#   0=do not exclude, 1=exclude
USB_BLACKLIST_WWAN=1

# Include listed devices into USB autosuspend even if already excluded
# by the blacklists above (separate with spaces).
# Use lsusb to get the ids.
#USB_WHITELIST="1111:2222 3333:4444"

# Set to 1 to disable autosuspend before shutdown, 0 to do nothing
# (workaround for USB devices that cause shutdown problems).
#USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=1

# Restore radio device state (Bluetooth, WiFi, WWAN) from previous shutdown
# on system startup: 0=disable, 1=enable.
# Hint: the parameters DEVICES_TO_DISABLE/ENABLE_ON_STARTUP/SHUTDOWN below
#   are ignored when this is enabled!
RESTORE_DEVICE_STATE_ON_STARTUP=0

# Radio devices to disable on startup: bluetooth, wifi, wwan.
# Separate multiple devices with spaces.
#DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan"

# Radio devices to enable on startup: bluetooth, wifi, wwan.
# Separate multiple devices with spaces.
#DEVICES_TO_ENABLE_ON_STARTUP="wifi"

# Radio devices to disable on shutdown: bluetooth, wifi, wwan
# (workaround for devices that are blocking shutdown).
#DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth wifi wwan"

# Radio devices to enable on shutdown: bluetooth, wifi, wwan
# (to prevent other operating systems from missing radios).
#DEVICES_TO_ENABLE_ON_SHUTDOWN="wwan"

# Radio devices to enable on AC: bluetooth, wifi, wwan
#DEVICES_TO_ENABLE_ON_AC="bluetooth wifi wwan"

# Radio devices to disable on battery: bluetooth, wifi, wwan
#DEVICES_TO_DISABLE_ON_BAT="bluetooth wifi wwan"

# Radio devices to disable on battery when not in use (not connected):
# bluetooth, wifi, wwan
#DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE="bluetooth wifi wwan"

# Battery charge thresholds (ThinkPad only, tp-smapi or acpi-call kernel module
# required). Charging starts when the remaining capacity falls below the
# START_CHARGE_THRESH value and stops when exceeding the STOP_CHARGE_THRESH value.
# Main / Internal battery (values in %)
START_CHARGE_THRESH_BAT0=75
STOP_CHARGE_THRESH_BAT0=85
# Ultrabay / Slice / Replaceable battery (values in %)
#START_CHARGE_THRESH_BAT1=75
#STOP_CHARGE_THRESH_BAT1=80

# Restore charge thresholds when AC is unplugged: 0=disable, 1=enable
#RESTORE_THRESHOLDS_ON_BAT=1

# ------------------------------------------------------------------------------
# tlp-rdw - Parameters for the radio device wizard
# Possible devices: bluetooth, wifi, wwan

# Hints:
# - Parameters are disabled by default, remove the leading # to enable them.
# - Separate multiple radio devices with spaces.

# Radio devices to disable on connect.
DEVICES_TO_DISABLE_ON_LAN_CONNECT="wifi wwan"
DEVICES_TO_DISABLE_ON_WIFI_CONNECT="wwan"
DEVICES_TO_DISABLE_ON_WWAN_CONNECT="wifi"

# Radio devices to enable on disconnect.
DEVICES_TO_ENABLE_ON_LAN_DISCONNECT="wifi wwan"
DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT=""
DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT=""

# Radio devices to enable/disable when docked.
#DEVICES_TO_ENABLE_ON_DOCK=""
#DEVICES_TO_DISABLE_ON_DOCK=""

# Radio devices to enable/disable when undocked.
#DEVICES_TO_ENABLE_ON_UNDOCK="wifi"
#DEVICES_TO_DISABLE_ON_UNDOCK=""
You might also need to install additional ThinkPad dkms modules to updating your kernel version:

Code: Select all

sudo apt install tp-smapi-dkms acpi-call-dkms
Restart your system after installation.

Keep In Mind...
If your kernel updated by the system, you need to re-install the tp-smapi-dkms and acpi-call-dkms to updating your kernel version .
On Ubuntu 20.04.4 the acpi-call-dkms package in the official repositories is incompatible with the provided kernels 5.13 or 5.15 and may cause TLP battery care malfunction, BIOS malfunction, system freezes, /dev/sda--> I/O error, Ext4 can't be read or reboots unexpetedly.

Solution: use acpi-call-dkms version 1.2.2 from the TLP PPA or Download from this link and install manually.

Code: Select all

sudo apt install --reinstall tp-smapi-dkms
sudo apt install --reinstall acpi-call-dkms          //acpi-call-dkms version 1.2.2
Restart your system after RE-installation.

Since I'm using The Ubuntu LTS enablement, or Hardware Enablement (HWE), and initramfs using initrd image from
/boot/microcode.cpio and /boot/initrd.img-5.15.0-78-generic
and not using intel_pstate from Intel but using acpi-cpufreq to power CPU scaling driver, I need to edit my grub within:

Code: Select all

sudo nano /etc/default/grub
edit within this line:

Code: Select all

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=disable acpi-cpufreq=enable"
Update and restart the kernel with:

Code: Select all

sudo apt install linux-tools-generic; sudo apt install linux-cloud-tools-generic
echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash && sudo update-initramfs -u && sudo update-grub
reboot
My TLP config file (/etc/default/tlp) running good with no conflict arise using TLPUI (/etc/tlp.conf) and working very good... which is combined with:
> auto-cpufreq for power scaling driver,
> Install gnome shell extention: Sensory Perception to Shows CPU temperature, disk temperature, video card temperature, voltage and fan RPM.
> Install gnome shell extention: MSI Fan Control to start cooler booster on demand.

auto-cpufreq is available on the snap store, or can be installed using CLI:

Please note:
Make sure snapd is installed and snap version is >= 2.44
for auto-cpufreq to fully work due to recent snapd changes.

Code: Select all

sudo snap install auto-cpufreq
Don forget to run TLPUI within your device applications after auto-cpufreq installed to set your power saving mode.
if you install TLPUI using Ubuntu PPA with prebuild packages (third party):

Code: Select all

sudo add-apt-repository -y ppa:linuxuprising/apps
sudo apt update
sudo apt install tlpui
or You've Clone TLPUI and build a .deb package using:
source: https://github.com/d4nj1/TLPUI/wiki/Ins ... ian-family

Code: Select all

git clone https://github.com/d4nj1/TLPUI
cd TLPUI
python3 setup.py --command-packages=stdeb.command bdist_deb
sudo dpkg -i deb_dist/python3-tlpui_*all.deb
Then you can open TLPUI GTK user interface version on ubuntu 20.04.6 with Kernel: linux 5.15.0-82-generic, since auto-cpufreq combined and running good tandem with daemon (using snapdaemon).
Or CLI :

Code: Select all

sudo nano /etc/tlp.conf
then set and configure for your device.

Make sure to Check auto-cpufreq is running and active:

Code: Select all

systemctl status snap.auto-cpufreq.service.service
I'm using performance governer with hp Eliteboook 2540p:
Source : Configuration --> /etc/tlp.conf --> Processor (Different with Ubuntu TLP default source: --> /etc/default/tlp)

thickmark CPU_SCALLING_GOVERNOR_ON_AC --> performance
thickmark CPU_SCALLING_GOVERNOR_ON_BAT --> powersave
thickmark CPU_BOOST_ON_AC --> OFF
thickmark CPU_BOOST_ON_BAT --> OFF
thickmark CPU_HWP_DYN_ON_AC --> OFF
thickmark CPU_HWP_DYN_ON_BAT --> OFF

and click save button on the top right corner or click the reload button to reset to the defalult setting TLPUI configuration.
You might also set the other option to work with your device, such like CPU_SCALLING_FREQ option.

NEW & UPDATED!
Related to auto-cpufreq, Ubuntu kernel lifecycle and enablement stack (HWE) and acpi-call-dkms

Lately... Since I've got a lot of problem using snap and gnome related to auto-cpufreq,
ea: TLP battery care malfunction, BIOS malfunction, system freezes, /dev/sda--> I/O error, Ext4 can't be read or reboots unexpetedly...
I've decided to use auto-cpufreq-installer from:
https://github.com/AdnanHodzic/auto-cpufreq
Remove auto-cpufreq installed from snap package:

Code: Select all

sudo snap remove auto-cpufreq
Disabled TLP within TLPUI and /etc/tlp.conf.
then install auto-cpufreq-installer and follow on screen instructions::

Code: Select all

git clone https://github.com/AdnanHodzic/auto-cpufreq.git
cd auto-cpufreq && sudo ./auto-cpufreq-installer
sudo auto-cpufreq --install
and then use auto-cpufreq config file from: https://github.com/AdnanHodzic/auto-cpu ... onfig-file
Still using auto cpu scalling to keep them running smoothly and not overclocking/throttling it using turbo mode,
Normal CPU Temp is range average 40 °C - 70 °C or 104.0 °F - 158.0 °F,
to avoid unpredictable CPU damage (Many factors can be involved... such like ea: too many tabs opened in your browsers at the same time) and to reduce/minimalize cpu temp overhaeating while the cpu usage is low.

Code: Select all

sudo nano /etc/auto-cpufreq.conf
then copy and save this configuration:

Code: Select all

# settings for when connected to a power source
[charger]
# see available governors by running: cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
# preferred governor.
governor = powersave

# EPP: see available preferences by running: cat /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences
energy_performance_preference = powersave

# EPB (Energy Performance Bias) for the intel_pstate driver
# see conversion info: https://www.kernel.org/doc/html/latest/admin-guide/pm/intel_epb.html
# available EPB options include a numeric value between 0-15
# (where 0 = maximum performance and 15 = maximum power saving),
# or one of the following strings:
# performance (0), balance_performance (4), default (6), balance_power (8), or power (15)
# if the parameter is missing in the config and the hardware supports this setting, the default value will be used
# the default value is `balance_performance` (for charger)
energy_perf_bias = balance_power

# Platform Profiles
# https://www.kernel.org/doc/html/latest/userspace-api/sysfs-platform_profile.html
# See available options by running:
# cat /sys/firmware/acpi/platform_profile_choices
platform_profile = powersave

# minimum cpu frequency (in kHz)
# example: for 800 MHz = 800000 kHz --> scaling_min_freq = 800000
# see conversion info: https://www.rapidtables.com/convert/frequency/mhz-to-hz.html
# to use this feature, uncomment the following line and set the value accordingly
scaling_min_freq = 1200000

# maximum cpu frequency (in kHz)
# example: for 1GHz = 1000 MHz = 1000000 kHz -> scaling_max_freq = 1000000
# see conversion info: https://www.rapidtables.com/convert/frequency/mhz-to-hz.html
# to use this feature, uncomment the following line and set the value accordingly
scaling_max_freq = 2000000

# turbo boost setting. possible values: always, auto, never
turbo = auto

# settings for when using battery power
[battery]
# see available governors by running: cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
# preferred governor
governor = powersave

# EPP: see available preferences by running: cat /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences
energy_performance_preference = powersave

# EPB (Energy Performance Bias) for the intel_pstate driver
# see conversion info: https://www.kernel.org/doc/html/latest/admin-guide/pm/intel_epb.html
# available EPB options include a numeric value between 0-15
# (where 0 = maximum performance and 15 = maximum power saving),
# or one of the following strings:
# performance (0), balance_performance (4), default (6), balance_power (8), or power (15)
# if the parameter is missing in the config and the hardware supports this setting, the default value will be used
# the default value is `balance_performance` (for charger)
energy_perf_bias = balance_power

# Platform Profiles
# https://www.kernel.org/doc/html/latest/userspace-api/sysfs-platform_profile.html
# See available options by running:
# cat /sys/firmware/acpi/platform_profile_choices
platform_profile = powersave

# minimum cpu frequency (in kHz)
# example: for 800 MHz = 800000 kHz --> scaling_min_freq = 800000
# see conversion info: https://www.rapidtables.com/convert/frequency/mhz-to-hz.html
# to use this feature, uncomment the following line and set the value accordingly
scaling_min_freq = 1200000

# maximum cpu frequency (in kHz)
# see conversion info: https://www.rapidtables.com/convert/frequency/mhz-to-hz.html
# example: for 1GHz = 1000 MHz = 1000000 kHz -> scaling_max_freq = 1000000
# to use this feature, uncomment the following line and set the value accordingly
scaling_max_freq = 2000000

# turbo boost setting. possible values: always, auto, never
turbo = auto

# battery charging threshold
# reference: https://github.com/AdnanHodzic/auto-cpufreq/#battery-charging-thresholds
enable_thresholds = true
start_threshold = 20
stop_threshold = 80
Make sure to have psutil Python library installed before next step:

Code: Select all

sudo python3 -m pip install psutil
Then disable the GNOME Power Profiles daemon:

Code: Select all

sudo python3 power_helper.py --gnome_power_disable
And don't forget to reinstall tp-smapi-dkms and acpi-call-dkms to configure dkms with the current running kernel systmem:

Code: Select all

sudo apt install --reinstall tp-smapi-dkms &&
sudo apt install --reinstall acpi-call-dkms
Then reboot your Laptop and you can change within the GUI governor in dashboard panel whenever you need, such as:
Conservative, Ondemand, Powersafe, Performance, schedutil or even to turbo mode!
(Defend on the power of CPU Core you've got, Currently I'm using 2.00 Ghz Turbo mode)
Image

To make sure that auto-cpufreq-installer running well, I've to check it with:

Code: Select all

auto-cpufreq --stats   //to check auto-cpufreq modes and options run with /etc/auto-cpufreq.conf config file automatically
systemctl status auto-cpufreq  //to check the daemon has been installed, Active and Running

Code: Select all

jerry@hp-2540p:~$ systemctl status auto-cpufreq
● auto-cpufreq.service - auto-cpufreq - Automatic CPU speed & power optimizer for Linux
     Loaded: loaded (/etc/systemd/system/auto-cpufreq.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2023-11-29 07:17:32 PST; 1min 51s ago
   Main PID: 840 (python)
      Tasks: 2 (limit: 8780)
     Memory: 34.0M
     CGroup: /system.slice/auto-cpufreq.service
             └─840 /opt/auto-cpufreq/venv/bin/python /opt/auto-cpufreq/venv/bin/auto-cpufreq --daemon

Nov 29 07:17:32 hp-2540p systemd[1]: Started auto-cpufreq - Automatic CPU speed & power optimizer for Linux.

Code: Select all

jerry@hp-2540p:~$ auto-cpufreq --stats
Using settings defined in /etc/auto-cpufreq.conf file

Note: You can quit stats mode by pressing "ctrl+c"
Total CPU usage: 1.3 %
Total system load: 4.14
Average temp. of all cores: 55.00 °C 

High CPU load (load average: 4.14, 3.20, 1.35)
Setting turbo boost: on

-------------------------------------------------------------------------------

		"auto-cpufreq" is about to refresh ...
		Executed on: Friday 29 Nov 2023 05:19:57  PST

-------------------------------------------------------------------------------

Linux distro: Ubuntu 20.04 Focal Fossa
Linux kernel: 5.15.0-125-generic
Processor: Intel(R) Core(TM) i7 CPU       L 640  @ 2.13GHz
Cores: 4
Architecture: x86_64
Driver: acpi-cpufreq

------------------------------ Current CPU stats ------------------------------

CPU max frequency: 1999 MHz
CPU min frequency: 1333 MHz

Core	Usage	Temperature	Frequency
CPU0      0.0%        49 °C      1423 MHz
CPU1      0.0%        49 °C      1333 MHz
CPU2     13.0%        53 °C      1333 MHz
CPU3      2.0%        53 °C      1333 MHz

---------------------------- CPU frequency scaling ----------------------------

Battery is: charging

Setting to use: "powersave" governor
Not setting EPP (not supported by system)
Not setting EPB (not supported by system)
Not setting Platform Profile (not supported by system)

Total CPU usage: 2.5 %
Total system load: 3.96
Average temp. of all cores: 55.50 °C 

High system load (load average: 3.96, 3.18, 1.35)
Setting turbo boost: on

Code: Select all

jerry@hp-2540p:~$ sudo pro security-status
[sudo] password for jerry:            
2610 packages installed:
     1473 packages from Ubuntu Main/Restricted repository
     520 packages from Ubuntu Universe/Multiverse repository
     29 packages from third parties
     588 packages no longer available for download

To get more information about the packages, run
    pro security-status --help
for a list of available options.

This machine is attached to an Ubuntu Pro subscription.

Main/Restricted packages are receiving security updates from
Ubuntu Pro with 'esm-infra' enabled until 2030.

Universe/Multiverse packages are receiving security updates from
Ubuntu Pro with 'esm-apps' enabled until 2030. You have received 31 security
updates.

jerry@hp-2540p:~$

Code: Select all

jerry@hp-2540p:~$ echo " " && echo "------------" && echo "Cleaning Up!" && echo "------------" && sudo apt -f install && sudo apt -y autoremove --purge && sudo apt -y autoclean && echo " "
 
------------
Cleaning Up!
------------
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
 
jerry@hp-2540p:~$

Code: Select all

jerry@hp-2540p:~$ echo " " && echo "----------------" && echo "Updating System!" && echo "----------------" && sudo apt update --fix-missing && sudo apt --fix-broken install && sudo apt upgrade -y && sudo apt dist-upgrade --yes && echo " "
 
----------------
Updating System!
----------------
Get:1 https://dl.google.com/linux/chrome/deb stable InRelease [1,825 B]                                                           
Get:2 https://dl.google.com/linux/chrome/deb stable/main amd64 Packages [1,220 B]                                                                           
Get:3 http://security.ubuntu.com/ubuntu focal-security InRelease [128 kB]                                                                                   
Get:4 https://esm.ubuntu.com/cis/ubuntu focal InRelease [3,864 B]                                                                                           
Hit:5 http://archive.canonical.com/ubuntu focal InRelease                                                                                                   
Hit:6 https://repositories.intel.com/graphics/ubuntu focal InRelease                                                       
Hit:7 http://ppa.launchpad.net/gerardpuig/ppa/ubuntu focal InRelease                                                       
Get:8 https://esm.ubuntu.com/apps/ubuntu focal-apps-security InRelease [7,565 B]                     
Hit:9 http://archive.ubuntu.com/ubuntu focal InRelease                                                            
Hit:10 http://ppa.launchpad.net/gezakovacs/ppa/ubuntu focal InRelease                                
Get:11 https://esm.ubuntu.com/apps/ubuntu focal-apps-updates InRelease [7,456 B]
Get:12 http://ppa.launchpad.net/mkusb/ppa/ubuntu focal InRelease [18.0 kB]                                        
Get:13 http://archive.ubuntu.com/ubuntu focal-security InRelease [128 kB]        
Get:14 https://esm.ubuntu.com/infra/ubuntu focal-infra-security InRelease [7,450 B]       
Hit:15 http://ppa.launchpad.net/teejee2008/ppa/ubuntu focal InRelease           
Get:16 https://esm.ubuntu.com/infra/ubuntu focal-infra-updates InRelease [7,449 B]
Hit:17 http://ppa.launchpad.net/ubuntuhandbook1/apps/ubuntu focal InRelease                   
Hit:18 http://ppa.launchpad.net/ubuntuhandbook1/conkymanager2/ubuntu focal InRelease
Get:19 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 DEP-11 Metadata [936 B]
Get:20 http://security.ubuntu.com/ubuntu focal-security/main amd64 DEP-11 Metadata [65.3 kB]
Get:21 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 DEP-11 Metadata [212 B]
Get:22 http://security.ubuntu.com/ubuntu focal-security/universe amd64 DEP-11 Metadata [160 kB]
Get:23 http://archive.ubuntu.com/ubuntu focal-security/main amd64 DEP-11 Metadata [65.3 kB]                                                                 
Get:24 http://archive.ubuntu.com/ubuntu focal-security/restricted amd64 DEP-11 Metadata [212 B]                                                             
Get:25 http://archive.ubuntu.com/ubuntu focal-security/universe amd64 DEP-11 Metadata [160 kB]                                                              
Get:26 http://archive.ubuntu.com/ubuntu focal-security/multiverse amd64 DEP-11 Metadata [936 B]                                                             
Fetched 762 kB in 8s (94.2 kB/s)                                                                                                                            
Reading package lists... Done
Building dependency tree       
Reading state information... Done
All packages are up to date.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
 
jerry@hp-2540p:~$ 
Install and run boot-repair

If you are experiencing boot issues...
My recommendation:
Install and run boot-repair

Code: Select all

sudo add-apt-repository -y ppa:yannubuntu/boot-repair; sudo apt update; sudo apt install -y boot-info; boot-info
Then review the recommendation to solve boot issue problems.

Install OpenSSL (ONLY If you need it)

If you're using Ubuntu 20.04 LTS Desktop ...
Do This:

You need to be a root:

Code: Select all

sudo -i
Install dependencies

Code: Select all

sudo apt-get update && sudo apt-get upgrade
sudo apt install build-essential checkinstall zlib1g-dev -y
Download OpenSSL

Code: Select all

cd /usr/local/src/
wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz
tar -xf openssl-1.1.1k.tar.gz
cd openssl-1.1.1k
Install and compile OpenSSL

Code: Select all

./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
make
make test
Wait for the compile process to complete and then run

Code: Select all

make install
Configure link libraries

Configure the shared libraries for OpenSSL.
The new OpenSSL binary will load library files from the '/usr/local/ssl/lib' directory.

Code: Select all

cd /etc/ld.so.conf.d/
sudo nano openssl-1.1.1k.conf
Add the following line to the conf file and save.

Code: Select all

/usr/local/ssl/lib
Reload the dynamic link.

Code: Select all

sudo ldconfig -v
Configure OpenSSL Binary
Replace the default openssl binary which is in '/usr/bin/openssl or /bin/openssl' with the new version in '/usr/local/ssl/bin/openssl'.
Backup the binary files

Code: Select all

mv /usr/bin/c_rehash /usr/bin/c_rehash.BEKUP
mv /usr/bin/openssl /usr/bin/openssl.BEKUP
Edit the /etc/environment file and update the path

Code: Select all

sudo nano /etc/environment
Add the following to the end of the PATH variable

Code: Select all

:/usr/local/ssl/bin
Reload the environment variable.
source /etc/environment

Code: Select all

echo $PATH
Check the result with this CLI terminal:

Code: Select all

openssl version -a
And you'll see the results like this:

Code: Select all

OpenSSL 1.1.1k  25 Mar 2021
built on: Tue Aug  1 16:03:47 2023 UTC
platform: linux-x86_64
options:  bn(64,64) rc4(16x,int) des(int) idea(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DZLIB -DNDEBUG
OPENSSLDIR: "/usr/local/ssl"
ENGINESDIR: "/usr/local/ssl/lib/engines-1.1"
Seeding source: os-specific