Vývojář Alexandre Gomes Gaigalas na GitHubu zveřejnil c89cc.sh, parser a kompilátor jazyka C89 napsaný v pouhém jediném skriptu o přibližně 8000 řádcích čistého bashe (bez dalších externích závislostí), který generuje ELF64 binárky pro x86-64. Jedná se o velmi jednoduchý kompilátor, který nepodporuje direktivy #include a dokonce ani funkci printf (lze použít puts), všechny dostupné deklarace lze nalézt v proměnné _BUILTIN_LIBC na konci skriptu. Skript je volně dostupný pod ISC licencí.
Francouzská vláda oznámila, že v rámci strategie 'digitální suverenity' zahájí 'přechod od systému Windows k počítačům s operačním systémem Linux' (sa sortie de Windows au profit de postes sous système d'exploitation Linux). DINUM (meziresortní ředitelství pro digitální technologie) požádalo ministerstva, aby do podzimu 2026 vypracovaly konkrétní plány nasazení Linuxu. Francie již dříve migrovala části státní správy na otevřená řešení.
Nezisková organizace Electronic Frontier Foundation (EFF) hájící občanské svobody v digitálním světě po téměř 20 letech opouští platformu X (dříve Twitter). Na platformách Bluesky, Mastodon, LinkedIn, Instagram, TikTok, Facebook, Threads a YouTube zůstává.
Terminálový textový editor GNU nano byl vydán ve verzi 9.0. Vylepšuje chování horizontálního posouvání pohledu na dlouhé řádky a chování některých klávesových zkratek. Více v seznamu změn.
Ministerstvo financí ve spolupráci s finanční správou dnes představilo beta verzi aplikace využívající umělou inteligenci pro předvyplnění daňového přiznání. Není třeba přepisovat údaje z různých potvrzení, ani hledat správné řádky, kam údaje napsat. Stačí nahrát dokumenty a využít AI.
Výrobce počítačových periferií Keychron zveřejnil repozitář se schématy šasi klávesnic a myší. Licence je restriktivní, zakazuje většinu komerčních užití a v podstatě jsou tak data vhodná pouze pro výukové účely, hlášení a opravy chyb, případně výrobu vlastního příslušenství.
Správce balíčků APT, používaný v Debianu a odvozených distribucích, byl vydán ve verzi 3.2 (seznam změn). Mezi novinkami figurují nové příkazy pro práci s historií, včetně vracení transakcí.
Společnost Anthropic oznámila Projekt Glasswing a s ní související AI model Claude Mythos Preview. Jedná se o iniciativu zaměřenou na kybernetickou bezpečnost, do které se zapojily velké technologické společnosti Amazon Web Services, Anthropic, Apple, Broadcom, Cisco, CrowdStrike, Google, JPMorganChase, Linux Foundation, Microsoft, NVIDIA a Palo Alto Networks. Anthropic věří, že nový AI model Claude Mythos Preview dokáže
… více »Firma Ojective Development vydala svůj nástroj pro monitorování a řízení odchozích síťových připojení Little Snitch i pro operační systém Linux. Linuxová verze se skládá ze tří komponent: eBPF program pro zachytávání provozu a webové rozhraní jsou uvolněny pod GNU GPLv2 a dostupné na GitHubu (převážně Rust a JavaScript), jádro backendu je proprietární pod vlastní licencí, nicméně zdarma k použití a redistribuci (cena přitom normálně … více »
Vojenské zpravodajství (VZ) se v březnu zapojilo do mezinárodní operace proti aktivitám hackerské skupiny APT28, která je spojovaná s ruskou vojenskou zpravodajskou službou GRU a která přes slabě zabezpečené routery prováděla kybernetické útoky na státní a další organizace v ČR i zahraničí. Operaci vedl americký Federální úřad pro vyšetřování (FBI) a jejím cílem bylo odebrat útočníkům přístup k napadeným zařízením a ty následně … více »
ALSA (Advanced Linux Sound Architecture) je z pohledu koncového uživatele především sadou ovladačů zvukových karet a utilit, které usnadňují práci s těmito ovladači. Potud se nijak zvlášť neliší od OSS (Open Sound System), který linuxový kernel využíval dříve (OSS je i nadále součástí jádra, avšak je označen jako "zastaralý"). To podstatné je skryté pod povrchem (i když ne nijak hluboko). ALSA je - mimo jiné - modulární, podporuje symetrický multiprocesoring a vlákna a umožňuje používání více zvukových karet najednou.
Občas si někdo stěžuje, že jeho konkrétní karta má lepší podporu v OSS. To je docela dobře možné, protože OSS je součástí linuxového jádra od nepaměti, kdežto ALSA byla až donedávna samostatný projekt. Tím pádem má/mělo OSS více uživatelů, kteří odhalili (a opravili) více chyb a tak dále. Nicméně, vzhledem k výšezmíněným přednostem architektury ALSA, a především vzhledem k tomu, že byla od verze 2.5.x začleněna jako preferovaná do kernelu, patří budoucnost právě jí.
Díky podpoře programového rozhraní OSS mohou s ALSA spolupracovat i všechny programy, které používají pro svůj zvukový výstup právě OSS.
V následujícím článku se vrátím k formě otázek a odpovědí, kterou využil již první díl této série - Na co se často ptáme: LILO. Z otázek, které padly v diskuzním fóru na AbcLinuxu, jsem sestavil (jak doufám) ucelený přehled řešení pro nejčastější problémy, se kterými se potýkají uživatelé ALSA. Odpovědi vycházejí jak z reakcí v diskuzním fóru AbcLinuxu, tak z dokumentace k ALSA a stránek alsa.opensrc.org, kde se nachází ALSA Wiki.
Ačkoliv je to možná ta nejčastější otázka, těžko se na ni hledá univerzální odpověď. Instalace se totiž u většiny karet v určitých drobnostech liší. Nicméně, existuje několik zásad, které by měly být aplikovatelné na všechny ovladače.
Dalším zádrhelem je fakt, že většina distribucí řeší správu modulů, startovacích skriptů a dalších věcí, které nás budou zajímat, odlišně. Je tedy možné, že ačkoliv by postup, který zde naleznete, na vašem systému fungoval, existuje i jiná cesta - taková, která bude dodržovat pravidla tvůrců konkrétní distribuce.
Zde je na místě zmínit, že mnoho distribucí již ALSA obsahuje velmi dlouho a v některých je to i preferovaný způsob ovládání zvukové karty. Pokud jste tedy nainstalovali jednu z těchto distribucí, zvuk vám funguje a necítíte potřebu si vyzkoušet ruční aktualizaci ovladačů, není co řešit. I v případě potřeby ovladače instalovat si však můžete celou věc usnadnit, poskytuje-li vaše distribuce předkompilované balíčky s ovladači. Takové balíčky musí být zkompilovány pro dané distribuční jádro - pokud používáte jádro vlastní, nebudou vám nic platné (i pokud nejsou zkompilovány přímo pro vaše jádro, mohou se hodit - zkuste použít ke kompilaci balíčky se zdrojovým kódem a vytvořit si tak vlastnoručně zkompilované balíčky; usnadníte si tak práci s instalací a konfigurací).
Předně je třeba zjistit, pro jakou verzi kernelu budeme ovladače instalovat. Vzhledem k tomu, že jádra 2.6.x již mají ALSA začleněno, situace je v takovém případě jednodušší. Budeme se tedy nejprve věnovat starší řadě 2.4.x. Podotýkám, že pro provedení kompilace modulů budete potřebovat zdrojové kódy jádra. Ty by však na vašem systému měly být přítomny, protože je pravděpodobné, že používáte své vlastní, ze zdrojových kódů zkompilované jádro. Pokud používáte jádro z distribuce, opět připomínám, že je velká šance na objevení již připravených balíčků s ALSA pro konkrétní distribuční jádro.
Ať již máte jádro vlastní nebo standardní distribuční, nebudete již potřebovat nahrávat modul ovladače zvukové karty OSS (což se vás pochopitelně týká pouze tehdy, když už používáte OSS a chcete jej nahradit za ALSA). Pomocí mechanismů vaší distribuce tedy daný modul "vypněte", resp. zrušte jeho nahrávání při startu (zde samozřejmě předpokládám, že se jedná o modul; máte-li ovladač zakompilovaný přímo v jádře, pravděpodobně ani nebudete potřebovat radu ohledně instalace ALSA :-).
Dalším krokem je stažení nejčerstvějších ovladačů ALSA ze stránek projektu (alsa-project.org). Budete potřebovat balíčky Driver, Library a s největší pravděpodobností budete chtít i Utilities.
Pak využijte tzv. SoundCard Matrix. Vyhledejte svůj typ zvukové karty. S identifikací pomůže příkaz:
lspci | grep audio
A podívejte se, jakou nápovědu stránky obsahují. V naprosté většině případů bude základní postup následující:
Hlavním parametrem pro skript ./configure bude typ zvukové
karty, resp. požadovaného ovladače. Kromě toho ještě připište, že chcete i
sequencer. Například v mém případě by to bylo:
./configure --with-cards=intel8x0 --with-sequencer=yes
a následuje
make
make install
(posledně jmenovaný příkaz spouštět se superuživatelskými právy).
Nic extra: u obého stačí běžné ./configure; make; make
install.
(Poznámka: pokud vaše distribuce obsahuje předkompilované balíčky ALSA - ale vy jste se rozhodli je nepoužít a raději kompilujete své vlastní ovladače, např. kvůli vlastnímu jádru - je velká pravděpodobnost, že budete moci využít alespoň balíček s ALSA utilitami. Tzn. nebude potřeba jej kompilovat a instalovat ručně. Dokonce se může i poštěstit to, že bude vaše distribuce poskytovat i balíček určený pouze ke konfiguraci a obsluze ALSA modulů. Pak by vám stačilo jej nainstalovat a nemuseli byste se již starat o nastavení systému tak, aby zaváděl moduly při startu. Například Debian nabízí balíček alsa-base, který za vás potřebné nastavení provede - a je jedno, jestli používáte moduly z předkompilovaných distribučních balíčků nebo své vlastní.)
Situace se oproti řadě 2.4 liší v tom, že jádra 2.6 již ALSA obsahují. Ve většině případů to znamená, že stačí zkompilovat ALSA ovladače, které jsou součástí zdrojových kódů jádra, které chcete použít. Většina nových vydání kernelu obsahuje i aktualizaci ALSA ovladačů, takže lze říci, že s novým jádrem získáte i nové ovladače. Při konfiguraci jádra tedy povolte ovladač pro kartu, kterou budete používat, a hotovo.
Device Drivers --->
Sound --->
<*> Sound card support
Advanced Linux Sound Architecture --->
<*> Advanced Linux Sound Architecture
<*> Sequencer support
<*> Sequencer dummy client
<*> OSS Mixer API
<*> OSS PCM (digital audio) API
<*> OSS Sequencer API
<*> RTC Timer support
[ ] Verbose printk
[ ] Debug
Generic devices --->
PCI devices --->
<*> vaše zvuková karta
V tomto případě jsou všechny možnosti označeny hvězdičkou, takže budou ovladače zakompilovány přímo do jádra. Pokud vám nevadí, že velikost jádra mírně naroste, je to nejsnazší způsob, jak se vyhnout potížím s natahováním modulů. Pokud trváte na modulech, označte jednotlivé volby písmenem M.
Chcete-li z nějakého důvodu zkompilovat své jádro s jinou verzí ALSA, než jakou obsahuje, máte dvě možnosti. Buď si stáhnete balík alsa-driver a příslušné části nakopírujete do adresářové struktury zdrojových kódů jádra, nebo si zdrojové kódy ALSA stáhnete z CVS projektu a uděláte s nimi totéž - nahradíte jimi verzi v jádře.
Balík alsa-driver rozbalte a z adresáře alsa-kernel zkopírujte vše kromě
adresářů Documentation, include a
oss do /usr/src/linux/sound (za předpokladu, že
máte rozbalené zdrojové kódy jádra, které chcete kompilovat, v adresáři
/usr/src/linux).
Obsah adresáře Documentation zkopírujte do
/usr/src/linux/Documentation.
Obsah adresáře include zkopírujte do
/usr/src/linux/include/sound.
Chcete-li čerstvou verzi z CVS, použijte příkaz:
cvs -q -f -z3 -d
":pserver:anonymous:@cvs.sourceforge.net:/cvsroot/alsa" \
co -P alsa-kernel
A nakopírujte příslušné adresáře z vytvořeného alsa-kernel do zdrojáků jádra stejně jako v předchozím případě.
Dále musíte zajistit, aby se moduly ALSA automaticky načítaly při startu
systému (tedy, nutné to samozřejmě není, ale většina lidí to bude
preferovat před ručním zaváděním při každém restartu). Naneštěstí to je
tak, že co distribuce, to trochu odlišný způsob administrace modulů.
Některé systémy vyžadují editaci souboru /etc/modules.conf,
jiné naopak nechtějí, aby uživatel zasahoval přímo tam.
Také je možné nastavit systém tak, aby moduly natáhl vždy teprve v okamžiku, kdy jsou potřeba. To už je však, dle mého názoru, prašť jako uhoď.
Rovněž je potřeba rozlišit, jaký způsob správy adresáře /dev používá
vaše distribuce (v adresáři /dev se nacházejí "soubory"
zařízení, ke kterým programy přistupují, chtějí-li zařízení využívat). S
jádrem 2.4 se ještě můžete často setkat se systémem DevFS. Ten je již v
současné době odsunut na vedlejší kolej novějším udev. Také můžete mít
adresář /dev statický - to je klasický způsob, kdy se v
adresáři nacházejí všechny možné soubory pro všechna potenciální zařízení
bez ohledu na to, jsou-li v počítači skutečně přítomná.
Kombinací těchto dvou problémů vzniká ještě další: každá distribuce také používá jiný způsob administrace konfiguračních souborů systémů udev a DevFS.
Z předchozích odstavců vyplývá, že je nemožné poskytnout univerzální
návod. Existuje tolik variant, že nemá smysl se pokoušet je zde
postihnout. Ideálním řešením je využít nějakého distribučního řešení -
například zmiňovaný balíček alsa-base v Debianu. Ten obsahuje potřebnou
konfiguraci jak pro statický /dev, tak pro DevFS nebo udev. A zároveň
zařídí automatické natahování modulů ovladačů ALSA a uložení nastavených
parametrů (hlasitost) při vypnutí.
Nicméně, následující způsob by snad měl fungovat všude. Do souboru
/etc/modules.conf vložte těchto pár řádek (v případě jádra 2.6
/etc/modprobe.conf. Nejjednodušší je však ovladače u jádra
2.6 zakompilovat přímo do kernelu; ušetříte si tak starosti s natahováním
modulů - samozřejmě pokud vám nevadí, že ovladače budou v paměti pořád, ne
pouze od okamžiku, kdy jsou potřeba):
alias char-major-116 snd alias snd-card-0 snd-ovladač_vaší_karty alias char-major-14 soundcore alias sound-slot-0 snd-card-0 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss
Jde o konfiguraci pro jednu zvukovou kartu. Budou natahovány i moduly pro kompatibilitu s OSS. To však zatím neřeší obnovování nastavení po restartu. Nejlepší cestou je využití startovacích (a ukončovacích) skriptů vaší distribuce k uložení při vypnutí a načtení při zapnutí. Ale dá se to pro začátek ošidit i přidáním řádku
post-install snd-ovladač_vaší_karty
/usr/sbin/alsactl restore 0
do /etc/modules.conf. To obnoví uložené nastavení po
natažení modulů. Aby bylo co obnovovat, spusťte po nastavení požadované
hlasitosti (třeba programem alsamixer) příkaz
alsactl store 0
(kde 0 je číslo označující první - a jedinou - používanou kartu).
Mimochodem... Snad již každé malé dítě ví, že ve výchozím nastavení jsou všechny kanály ztlumené. Proto je potřeba po čerstvé instalaci požadované kanály nejprve zesílit. Zmínil jsem program alsamixer, který je součástí balíku alsa-utils. Jedná se o textový program, který má pohodlné ovládání. Ačkoliv vypadá na první pohled velmi jednoduše, narazil jsem před několika lety, když jsem se jej poprvé pokoušel použít, na problém.
Nešlo mi do hlavy, proč když zesílím všechny potřebné kanály, zvuk se stále neozývá. Bylo to prosté. Kanály je potřeba nejen zesílit, ale především zapnout. Tzn. stisknout M, čímž přestanou být nastaveny jako "mute".
Jo, ukončuje se klávesou Esc
.
...se zaměřím na otázky funkčnosti. Ať již řešení problémů nebo vylepšování konfigurace. Například mixování více zdrojů zvuku apod.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Doufam, ze v pokracovani clanku bude popsano, jak nakonfigurovat alsu, aby s SBLive! a 5.1 reproduktory fungovala nejak rozumne....apropos, pokud na to hodne spechas, vyslo to v linux+ posl. cislo. PS: pokud pouziji tl. "Cituj" text celeho prispevku jiz napsaneho se prepise! a to me dost prekvapilo...zaskocilo... (a malicko nastvalo :) ale verte tomu, zatim je to jedina vecicka co jsem nasel na novem kabate ABC, - osobne si myslim, ze mate opravdu jeden z nejlepsich designu.
pokud pouziji tl. "Cituj" text celeho prispevku jiz napsaneho se prepise!to bude asi tim, ze nejsem zbehly v javascriptu. Proto jsem natvrdo priradil tlacitku Cituj prirazeni nove hodnoty do textarea. Lepsim resenim by bylo pripojit dany text na konec, ale to nevim, jak se v javascriptu dela
Mate-li nekdo fix, poslete mi jej a nespadne-li mi do te doby pocitac, rad jej zaradim.
document.getElementById("textarea_id").value .= citovany_text;