Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.
Databáze DuckDB (Wikipedie) dospěla po 6 letech do verze 1.0.0.
Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.
Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.
Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
Tyto procesory jsou vybaveny takzvaným Turbo Mode. Nebudeme zde rozebírat, za jakých podmínek je tento režim procesorem používán a rovnou si představíme program i7z. i7z je nástroj, který přistupuje k informacím z MSR (Model-specific register) a může tak získávat extra údaje z procesoru. MSR vyžaduje podporu ze strany jádra – lze ověřit nahlédnutím do /dev:
$ ls -l /dev/cpu/*/msr crw------- 1 root root 202, 0 Jun 26 20:18 /dev/cpu/0/msr crw------- 1 root root 202, 1 Jun 26 20:18 /dev/cpu/1/msr crw------- 1 root root 202, 2 Jun 26 20:18 /dev/cpu/2/msr crw------- 1 root root 202, 3 Jun 26 20:18 /dev/cpu/3/msr
Pokud tato znaková zařízení nemáte, můžete zkusit modprobe msr nebo se rovnou podívat do nastavení jádra:
Pokud je podpora msr v modulu, je nutné brát na vědomí, že tento modul není obvykle automaticky načítán. Více se dozvíte v man 4 msr. Jakmile máme device nodes na místě, můžeme i7z spustit (jako root). Program bude chvíli sbírat informace a následně nám zobrazí přehled frekvencí jednotlivých jader spolu s údaji, kolik času tráví procesor v jednotlivých stavech (C0-C6).
Pokud máte K variantu procesoru s odemknutým násobičem, tak se vám aktuální hodnota násobiče hodí pro ověření, že v BIOSu nastavené přetaktování skutečně funguje. Osobně mi pro vyhnání násobiče na maximum stačí:
$ while true; do true; done
Případně můžete tento příkaz spustit pro každé jádro CPU nebo využít služeb programu cpuburn. Násobič se hned dostal na hodnotu nastavenou v BIOSu (40×).
Kromě maximálního výkonu nás ale může zajímat i maximální úspornost ve chvílích, kdy výkon nepotřebujeme. Pokud jako já ve výchozím nastavení BIOSu máte ve sloupečcích C3 a C6 samé nuly, tak jsou tyto úsporné stavy na procesoru zakázány. Toto nastavení obvykle najdete pod záložkou Power Management – a pozor, volba Automatic mnohdy znamená Disabled.
Na stránkách programu i7z najdete také skript i7z_rw_registers.rb. Ten je oproti i7z jednodušší, ale rovnou ukazuje, jak údaje získává. Na vybraných procesorech je schopen zobrazit aktuální výkon ve wattech, případně s ním můžete snižovat základní frekvenci nebo měnit nastavení násobiče.
>> clock clock : allows for software clock modulation ( a form of throttling ) a good link for understanding this is http://paulsiu.wordpress.com/2007/06/23/does-on-demand-clock-modulation-odcm-conserve-battery/ probable commands are clock set <number> : set the number to one of the below or in range between 0-100 and i will automatically to the value nearest to 12.5, 25.0, 37.5, 50.0, 63.5, 75, 87.5 (nehalem) sandy bridge supports 6.25% increments but, I (the tool) is not smart yet to distinguish between nehalem and sb so setting to 12.5 increment set <number> to 1 for 12.5%, 2 for 25%, 3 for 37.5%, 4 for 50%, 5 for 63.5%, 6 for 75% and 7 for 87.5% clock status : get clock modulation status clock disable : disable clock modulation
Od doby, co je možné v GCC používat -march=native už to není takové, ale alespoň můžeme právě schopnost autodetekce použít k zobrazení toho, co procesor umí.
$ gcc -c -Q -march=native --help=target
Na nejnovějších procesorech i5 a i7 stojí za pozornost podpora Intel AVX, neboli nové SIMD instrukce. Na i7, ale i na i5, se to projeví následovně:
$ gcc -c -Q -march=native --help=target | grep march -march= corei7-avx
avx naleznete rovněž v /proc/cpuinfo.
Hardwarovou podporu virtualizace vám potvrdí obsah souboru /proc/cpuinfo. V příznacích (flags) procesoru figuruje vmx, ale nemusíte ještě mít vyhráno.
Přítomnost znakového zařízení /dev/kvm potvrzuje, že máte v jádře podporu KVM a HW akcelerace funguje. Mnohdy ale tento soubor schází, protože je podpora hardwarové akcelerace zakázaná ve výchozím nastavení BIOSu:
$ dmesg | grep kvm [ 0.652909] kvm: disabled by bios [ 0.653075] kvm: no hardware support
Pokud ani takový výstup nemáte, zkuste modprobe kvm-intel. Jestliže si jádro sestavujete sami, zkontrolujte nastavení pod Virtualization:
Některé základní desky umožňují i hardwarově asistovanou virtualizaci MMU (u Intelu nazýváno VT-d). Zjednodušeně řečeno pak můžete do virtuálních strojů připojovat hardware přítomný ve vašem systému a nemyslím tím zrovna USB zařízení – může jít o grafické karty, síťové karty apod. Jak se můžete dočíst v poradně, chce to trochu vůle a štěstí.
Grafický procesor integrovaný do těchto procesorů je relativně výkonný. Zatímco na hraní her typu OpenArena mi bohatě stačilo softwarové vykreslování a ani jsem nepoznal zradu, při zkoušení Unreal Tournamenu 2004 jsem už trochu pohořel a byl jsem rád, že to po chvíli havarovalo, protože jinak bych se k ukončení jen tak nedopracoval. Je proto vhodné si ověřit, zda je integrovaná grafika využívána:
$ glxinfo | grep renderer OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Desktop
Pokud se vám zobrazí například llvmpipe, něco není v pořádku. Měl by se používat DRI ovladač i965. S tím si i zmiňovaný UT2004 zahrajete...
...tedy přesně jeho dekomprese probíhá přes VA-API. Základním potvrzením funkčnosti je výstup vainfo:
$ vainfo libva: VA-API version 0.33.0 libva: va_getDriverName() returns 0 libva: Trying to open /usr/lib64/va/drivers/i965_drv_video.so libva: Found init function __vaDriverInit_0_33 libva: va_openDriver() returns 0 vainfo: VA-API version: 0.33 (libva 1.1.0) vainfo: Driver version: Intel i965 driver - 1.0.18 vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileH264Baseline : VAEntrypointVLD VAProfileH264Baseline : VAEntrypointEncSlice VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointVLD
Tyto procesory obecně nemají velký problém s přehráváním H.264, ale i tak může přilepšení potěšit. Podporu VA-API najdete ve frameworku GStreamer (v příslušném modulu), ve speciálních větvích MPlayeru nebo ve VLC. Před VLC bych si dovolil varovat – dle mých zkušeností použití VAAPI ve VLC zátěž procesoru značně zvyšuje a ani s „konkurenčním“ VDPAU (grafické karty NVIDIA) to není o moc lepší. Pěkný přehled najdete na intellinuxgraphics.org.
Opomíjenou a ne příliš využívanou funkcí je podpora hardwarového kódování do H.264. Pohrát si můžete s nástrojem avcenc z pokud možno vývojové verze knihovny libva:
usage: avcenc [options] where options are: -help or -h -inputor -i -output or -o -width or -w -height or -h -cqp : use const qp mode -cbr : use const bitrate mode -fps or -f -i_frame_only: use i frames only -i_p_frame_only: use i and p frames -i_p_b_frame: use i, p and b frames -cavlc :use cavlc, default is to use cabac
Nástroje: Tisk bez diskuse
Tiskni Sdílej:
vainfo
není samostatný balíček, nýbrž součást libva(-utils)
Ono asi bude zalezat od distribucie samotnej, bo na Debian-e je vainfo samostatny balik.
[pindal@abraxus ~]$ openssl engine (aesni) Intel AES-NI engine (dynamic) Dynamic engine loading support [pindal@abraxus ~]$ grep ^driver.*aesni /proc/crypto driver : xts-aes-aesni driver : pcbc-aes-aesni driver : lrw-aes-aesni driver : rfc3686-ctr-aes-aesni driver : rfc4106-gcm-aesni driver : __driver-gcm-aes-aesni driver : ctr-aes-aesni driver : __driver-ctr-aes-aesni driver : cbc-aes-aesni driver : cryptd(__driver-ecb-aes-aesni) driver : ecb-aes-aesni driver : __driver-cbc-aes-aesni driver : __driver-ecb-aes-aesni driver : __driver-aes-aesni driver : aes-aesni [pindal@abraxus ~]$ cat /etc/issue Fedora release 17 (Beefy Miracle) Kernel \r on an \m (\l)