Byla vydána nová verze 4.8.0 programu na úpravu digitálních fotografií darktable (Wikipedie).
Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 142 (pdf) a HackSpace 79 (pdf).
Qtractor (Wikipedie) dospěl do verze 1.0.0. Jedná se o Audio/MIDI vícestopý sekvencer.
Byl vydán svobodný kancelářský balík OnlyOffice Docs 8.1. Vedle četných oprav přináší několik funkcí včetně podpory editace textu v PDF a vytváření formulářů v PDF.
Daniel Stenberg, autor nástroje curl, z databáze SteamDB zjistil, že aktuálně 22 734 her na Steamu používá curl.
Společnost Anthropic vydala Claude 3.5 Sonnet, tj. novou verzi své umělé inteligence Claude (Wikipedie). Videoukázky na YouTube. S Claude 3, stejně jak s GPT-3.5, Llama 3 a Mixtral, si lze pokecat bez přihlašování na DuckDuckGo AI Chat.
Byla vydána nová stabilní verze 6.8 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 126. Přehled novinek i s náhledy v příspěvku na blogu a na YouTube. Vypíchnuta jsou vylepšení v integrovaném poštovním klientu.
Příspěvek Aukce domén – měsíc po spuštění na blogu CZ.NIC shrnuje první měsíc provozu Aukce domén .CZ. Aukcemi prošlo celkem 18 174 domén, z toho na 742 z nich byl učiněn alespoň 1 příhoz. Nejdražší aukcí byla na doménu virtualnisidlo.cz s cenou 95 001 Kč, která však nebyla včas uhrazena. Nejdražší aukcí, která byla vydražena i zaplacena je praguecityline.cz s cenovkou 55 600 Kč.
Před 40 lety, 19. června 1984, Bob Scheifler představil první verzi okenního systému X (X Window System). Vycházela z okenního systému W (W Window System).
Desktopové prostředí MATE bylo vydáno ve verzi 1.28. V gitových repozitářích je sice už od února, ale oznámení vydání se na webu objevilo s několikaměsíčním zpožděním (únorové datum zveřejnění je nepravdivé). Jde o první velké vydání od roku 2021. Uživatelsky nejvýznamnější pokrok je v podpoře Waylandu.
Tak jsem se po delší době opět dostal k tunění svého placatého přítele (HP nx6110). Od jisté doby, ani nevím od kdy, mi nechce moje Pentium M740 snižovat frekvenci. Prostě pořád běží na maximální frekvenci. Co z toho plyne, jednak spotřebovává relativně hodně energie a druhak se chladič může v obzvláště horkých dnech doslova zbláznit.
Cílem tedy je přinutit procesor ke snižování frekvence CPU. Co budeme potřebovat: dvě vejce, 0.5l mléka, ... né dělám si srandu:) Teď vážně. První co potřebujeme je
samozřejmě podpora v jádře, jak pro Frequency scaling
tak pro
ACPI
:
# # CPU Frequency scaling # CONFIG_CPU_FREQ=y # CONFIG_CPU_FREQ_DEBUG is not set CONFIG_CPU_FREQ_STAT=m CONFIG_CPU_FREQ_STAT_DETAILS=y CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set CONFIG_CPU_FREQ_GOV_PERFORMANCE=m CONFIG_CPU_FREQ_TABLE=mModuly pro
ACPI
nebudu ani vypisovat, jsou většinou všude
předvoleny.
Je samozřejmě možné používat i některé deamony jako cpufreqd nebo powersaved. Ale nač používat deamona, když je k dispozici modul. Jak jsem již řekl použijeme služeb jaderných modulů, konkrétně těchto:
cpufreq_ondemand cpufreq_powersave cpufreq_conservative cpufreq_stats acpi_cpufreq freq_tableMožná některé z nich nejsou potřeba, každopádně já mám zavedeny tyto.
Prostředkem pro komunikaci s moduly jsou soubory v /sys/devices/system/cpu/cpu0/cpufreq/
:~$ ls /sys/devices/system/cpu/cpu0/cpufreq/ affected_cpus ondemand scaling_driver stats cpuinfo_cur_freq scaling_available_frequencies scaling_governor cpuinfo_max_freq scaling_available_governors scaling_max_freq cpuinfo_min_freq scaling_cur_freq scaling_min_freqMůžeme nahlédnout do všech souborů, jejich názvy jsou dostatečně výstižné, nebudu je proto komentovat. Ucelenější přehled dostaneme pomocí
cpufreq-info
, viz.například:
:~$ cpufreq-info cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006 Report errors and bugs to linux@brodo.de, please. analyzing CPU 0: driver: acpi-cpufreq CPUs which need to switch frequency at the same time: 0 hardware limits: 800 MHz - 1.73 GHz available frequency steps: 1.73 GHz, 1.33 GHz, 1.07 GHz, 800 MHz available cpufreq governors: userspace, ondemand, conservative, powersave, performance current policy: frequency should be within 800 MHz and 1.73 GHz. The governor "ondemand" may decide which speed to use within this range. current CPU frequency is 800 MHz.
Rozsahy frekvencí se mění v souborech scaling_max_freq
resp
scaling_min_freq
a chování v scaling_governor
. Jak je
vidět ja mám zvolen rozsah 1.73GHz - 800MHz a governor = "ondemand". Nastavení
konkrétních parametrů je jednoduché:
cd /sys/devices/system/cpu/cpu0/cpufreq/ echo 800000 > scaling_min_freq echo odemand > scaling_governorSamozřejmě jako
root
.
Pro klikače Gnomisty jsem při svém brouzdání narazil na popis zprovoznění appletu pro Gnome-applets, viz. zde. Je zde i poměrně přehledná tabulka taktovacích startegií.
Teď již jen zbývá zařídit, aby se hodnoty nastavovaly například když odpojím AC adaptér, nebo naopak. O tom ale příště protože jsem to ještě pořádně nedoladil.
Jakékoliv náměty na vylepšení, či opravení jsou vítány.
Zdroje:
Kromě toho co jsem uvedl v textu.
Enhanced Intel SpeedStep Technology and Demand-Based Switching on Linux*
WEBlog -- Wouter's Eclectic Blog
Tiskni Sdílej:
To je celkem jednoduchý, na to stačí následující shell skript* (/etc/acpi/battery.sh
):
#!/bin/sh if grep 'off-line' /proc/acpi/ac_adapter/C1BA/state; then echo conservative > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor else echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor fi
a příslušnej konfigurační soubor (/etc/acpi/events/battery
) pro acpid
:
event=battery.* action=/etc/acpi/battery.sh %e
*přesný názvy "zařízení" baterek je třeba nastavit "na míru" systému
Super věc
Zas tak super to neni - když jsem začal přemejšlet, že bych to teda napsal do toho FAQ a zkusil to pro jistotu znovu otestovat, zjistil jsem, že to najednou (když jsem ten skript vymejšlel, tak to ale určitě fungovalo ) až tak úplně nefunguje...
Při přechodu z baterky na AC se to nepřepne zpět. Na vině je to, že /proc/acpi/ac_adapter/C1BA/state
se změní o něco později, než dostane acpid
informaci o změně napájení (divné, ale je to tak). Problém (i případný problém v "opačném" směru) nicméně spolehlivě řeší sleep
na začátku skriptu (před testem stavu napájení)
#!/bin/sh sleep 1 if grep 'off-line' /proc/acpi/ac_adapter/C1BA/state; then echo conservative > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor else echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor fi
Použití ac_adapter
místo battery
nemá na funkci vliv.
Otázkou spíš je, jak je možný, že acpid
dostane informaci od jádra o změně "baterky" dřív, než jádro změní příslušnej soubor v /proc
, což je situace proti který nejsou "imunní" ani skripty z Debianu. V době, kdy jsem si ty skripty psal tahle situace nenastávala, takže bych tipoval, že to že to u Debianu s těmi skripty (možná) funguje je způsobeno buď tím, že je tam starší jádro, kde tahle situace nenastane, nebo složitostí těch skriptů - než se dostanou k testu souboru v /proc
, je ten už nastavenej správně.
Nesmysl. Jak u battery
tak u ac_adapter
dostaneš oba dva signály, tzn. odpojení napájení i jeho připojení.
odpojenie adaptera => event=ac_adapter AC 00000080 00000000 pripojenie adaptera => event=ac_adapter AC 00000080 00000001a viac ma nezaujima, ani to ci nahodou nemam BAT1 v ultrabay ani ci sa jedna len o vybratie/zalozie baterky a pod. :)
Ten sleep
je v těch Debianích skriptech IMHO až po detekci statusu v /proc
. A získání tý informace je mnohem složitější, než jenom jediný grep v /proc
. Volají se další skripty, například /usr/bin/on_ac_power
(takže dotaz na status v /proc
se provádí 2x...) atd. Ale zas tak podrobně jsem ten bordel (zlatej Arch a jeho KISS strategie ) nezkoumal.
power.sh
, ktery je spousten z event=ac_adapter
a vse funguje jak sem si predstavoval.
Teorie sice je taková, že spotřeba CMOSu je nejvýrazněji závislá na frekvenci přepínání hradel
Ne tak docela.. jako obecnej vzorec pro ztrátovej výkon CMOSu se udává P = c·V²·f
, kde c
je technologická konstanta. Rostoucí podíl parazitních proudů na ztrátovém výkonu je nicméně taky fakt (bodejť by ne, když jsou dneska hradla tranzistorů "vysoký" jen jednotky atomovejch vrstev...)
/sys,
ale stačí použít nástroj cpufreq-set
.