Byla vydána beta verze Ubuntu 25.04 s kódovým názvem Plucky Puffin. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 25.04 mělo vyjít 17. dubna 2025.
Textový editor Neovim byl vydán ve verzi 0.11 (𝕏). Přehled novinek v příspěvku na blogu a poznámkách k vydání.
Živé ISO obrazy Debianu Bookworm jsou 100 % reprodukovatelné.
Boudhayan "bbhtt" Bhattcharya v článku Uzavření kapitoly o OpenH264 vysvětluje, proč bylo OpenH264 odstraněno z Freedesktop SDK.
Představeny byly nové verze AI modelů: DeepSeek V3-0324, Google Gemini 2.5 a OpenAI 4o Image Generation.
XZ Utils (Wikipedie) byly vydány ve verzi 5.8.0. Jedná se o první větší vydání od backdooru v XZ v loňském roce.
Byla vydána nová verze 0.40.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 2.20 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.
LibrePCB, tj. svobodný multiplatformní softwarový nástroj pro návrh desek plošných spojů (PCB), byl vydán ve verzi 1.3.0. Přehled novinek v příspěvku na blogu a v aktualizované dokumentaci. Vypíchnut je interaktivní HTML BOM (Bill of Materials) a počáteční podpora Rustu. Zdrojové kódy LibrePCB jsou k dispozici na GitHubu pod licencí GPLv3.
Minulý měsíc Hector "marcan" Martin skončil jako upstream vývojář linuxového jádra i jako vedoucí projektu Asahi Linux. Vývoj Asahi Linuxu, tj. Linuxu pro Apple Silicon, ale pokračuje dál. Byl publikován březnový přehled dění a novinek z vývoje. Vývojáře lze podpořit na Open Collective.
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governora jestliže nastavím, aby se frekvence zvýšila už při 20% zátěži
echo 20 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_thresholda jestliže nechám samplovat zátěž co nejčastěji
echo $(cat /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_min) > \ /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_ratetak to stejně není dostatečné, protože nejnižší hodnota pro samplovací periodu je 620000 mikrosekund, tedy něco přes půl sekundy. A to už je bohužel poznat. Mohu názorně demonstrovat:
#!/usr/bin/env python # -*- coding:utf-8 -*- import time fncur = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq' fnmin = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq' fnmax = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq' class CPUgov: def __init__(self): self.minfreq = self.readintfromfile(fnmin) self.maxfreq = self.readintfromfile(fnmax) def readintfromfile(self, fn): return int(file(fn).read()) def getfreq(self): return self.readintfromfile(fncur) def waitforfall(self): stamp = time.time() while self.getfreq() != self.minfreq: time.sleep(0.01) return time.time() - stamp def waitforrise(self): stamp = time.time() while self.getfreq() != self.maxfreq: pass return time.time() - stamp cpu = CPUgov() while True: print 'rise:', cpu.waitforrise() print 'fall:', cpu.waitforfall()Frekvence se skutečně zvýší až po cca 0.6 sekundách, což je pro interaktivní práci (např. přepínání mezi okny, renderování html) příliš dlouho. Takže se chci zeptat, jak snížit hodnotu v
echo "požadovaná hodnota" > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_minPřičemž ona požadovaná hodnota bude ze .../scaling_available_frequencies.
static unsigned int def_sampling_rate; #define MIN_SAMPLING_RATE_RATIO (2) /* for correct statistics, we need at least 10 ticks between each measure */ #define MIN_STAT_SAMPLING_RATE \ (MIN_SAMPLING_RATE_RATIO * jiffies_to_usecs(10)) #define MIN_SAMPLING_RATE \ (def_sampling_rate / MIN_SAMPLING_RATE_RATIO) #define MAX_SAMPLING_RATE (500 * def_sampling_rate) #define DEF_SAMPLING_RATE_LATENCY_MULTIPLIER (1000) #define TRANSITION_LATENCY_LIMIT (10 * 1000)Zkusím si s tím trochu pohrát. Mám (na druhém počítači) vyzkoušeno, že když ondemand zareaguje za 0.1 sekundy, tak je to už úplně v pohodě a nepoznám žádnou prodlevu.
#!/usr/bin/python # -*- coding:utf-8 -*- import time fncur = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq' fnmin = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq' fnmax = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq' class CPUgov: def __init__(self): self.minfreq = self.readintfromfile(fnmin) self.maxfreq = self.readintfromfile(fnmax) self.samples_high = 0 self.samples_low = 0 def readintfromfile(self, fn): return int(file(fn).read()) def getfreq(self): return self.readintfromfile(fncur) def measure(self): freq = self.getfreq() if freq == self.minfreq: self.samples_low += 1 else: self.samples_high += 1 cpu = CPUgov() while True: cpu.measure() N100 = (cpu.samples_high + cpu.samples_low) * 0.01 print 'high: %5.2f%% low:%5.2f%%' %(cpu.samples_high / N100, cpu.samples_low / N100) time.sleep(1)Zkuste tohle nechat běžet hodinu, dvě, tři ... den, dva, tři ...
Tiskni
Sdílej: