Prave u zvuku to moze byt vyrazny problem pokial sa pracuje v realnom case. Pri multimediach ale vseobecne plati ze bezny uzivatel zvysenu latenciu nepostrehne (pozeranie filmov napr.).
Ta vrstva navyse to vsetko zjednoti takze navonok sa bude multimedialne rozhranie tvarit uniformne a teda mimo ine vyrazne ulahsi vyvoj dalsieho sw, trebars aj 3rd party a mohli by sme sa dockat napr. Traktor DJ ci Serato DJ na Linux za predpokladu ze by bola tato vrstva robustna a naozaj sa podarilo zachovat nizke latencie (do 10ms). Linux by sa tak mohol stat zaujimavou platformou pre urcitu skupinu ludi ktora nie je celkom stotoznena s Apple produktami ktore v danej oblasti dominuju hlavne vdaka dobre odladenemu audio subsystemu (ale aj ostatnych sw komponent ci samotna robustnost OS).
Vazne? A od ceho mame specializovane knihovny? Od ceho mame synchronizacni znacky ktere jsou tu uz u prvnich DV videokazet a SDI rozhrani a je to to prvni co se pri navrhu resi.
Ve kterem kolecku je ve skutecnosti problem? Ze knihovna nevi jaky je delay celeho retezce vrstev?
nyní:
systemctl create alias ČapíHnízdo.firma
systemctl set all priveledges to ČapíHnízdo.firma
systemctl eet to zdravotnictvi,kolonialy,restaurace, all
--- pote ---
systemctl krach to all
systemctl create dotace
-- nakonec --
systemctl ČapíHnízdo.firma gain dotace
systemctl ČapíHnízdo.firma gain zdravotnictvi,restaurace,all
systemctl ČapíHnízdo.firma funky
Velmi rad by som presiel na Wayland, ale nevidel som implemntaciu, ktora by mi umoznila nahradit X-terminaly sietovo transparentnym Waylandom, hoci sa s tym nieco deje a o obdobe XDMCP som pri Waylande ani nepocul. Spustit 20 Waylandov na serveri a streaming do terminalov pomocou PipeWire by to riesilo okrem prenosu klavesnice a mysi do Waylandov
Wayland Network Transparency Patches Published
9 February 2016 at 12:35 PM EST.
For the longest time, when bringing up Wayland a recurring question was "what about network transparency?!" Well, Samsung's Derek Foreman has today published the set of Wayland patches for providing Wayland network traparency by pushing the Wayland protocol over TCP/IP.
https://www.phoronix.com/scan.php?page=news_item&px=Wayland-Network-Transparency
Co sa tyka Waylandu tak je to jednym slovom hroza. cca 20% aplikacii pod nim nefunguje, nepodporuje to funkcionalitu ako X a taktiez nepodporuje NVIDIA drivery... tak naco je dobre pouzivat horsie riesenie ako bolo to pred tym? Mam pocit ze Linux je cim dalej tym horsi. Nastastie uz nefungujem po linuxom po pol roku som sa vratil spat na Windows a odkedy som to urobil nemusim o nic sa nemusim starat. Linux mal v casoch KDE 2/3 sancu porazit windows aj na desktope ale on tu sancu nevyuzil a vpodstate sa presadil len tam kde v 90tych rokoch kraloval UNIX, alebo ako podvozok pod JVM na androide.
Myslim ze vase skusenosti a odbornu sposobilost vyjadruje posledna veta: podvozok pod JVM na androide. Android ziadnu JVM nema, skuste si pozriet co je to Dalvik a Android Runtime (ART). Ktore aplikacie pod Waylandom nefunguje? XWayland ma v sebe integrovane Xka takze tieto aplikacie nefunguju ani pod X? A ak ste to ale bezali na NVIDIA beta driveri alebo cez EGL stream tak je chyba pravdepodobne v NVIDIA drivri. Nakolko vase podkladove informacie su neuplne alebo uplne zle nikoho nezaujimaju vase nazory na dalsi vyvoj Unixu alebo Linux na desktope.
JVM je obecny pojem a nikoliv konkretni implementace.
Stale je to jvm i kdyz odlisna implementace a casti kodu si treba art predkompilovava. Navic v pripade androidu dost specializovanych appek pouziva i volani pro architekturu nativnich knihoven mimo jvm pres JNI.
U Artu uz bychom mohli polemizovat, ale IMHO je to stale JVM byt diky AOT si castecne kod predkompilovava, tak stale bezi uvnitr jvm.
JVMek je docela dost. Blahe pameti si jeste pamatuju neco od IBM a pak ruzne OSS pokusy.
Tu je seznam:
https://en.wikipedia.org/wiki/List_of_Java_virtual_machines
Nicméně Dalvik mezi nima uvedenej nejni - zmínka o něm je v sekci "See also" a je tam jako "Dalvik Virtual Machine".
Dalvik může těžko bejt implementací JVM, když nepoužívá stejnej bytecode jako JVM a neumí s nim vůbec pracovat (používá DEX). Viz.
"Linux mal v casoch KDE 2/3 sancu porazit windows aj na desktope ale on tu sancu nevyuzil"
Nesmysl. Velmi dobře si to pamatuji - to byla doba, kdy linuxová komunita začátkem každého roku prohlašovala, že tentokrát půjde o rok Linuxu na desktopu a že lidé začnou (konečně ) hromadně přecházet na Linux. Po pár letech to už působilo trapně, tak toho raději většina už nechala. Pravda je taková, že Linux, BSD ani jakýkoliv další OS-OS (= Open-Source Operační Systém) se nikdy nemůže rozšířit dokud:
1) Nebude mít rovné podmínky na trhu (tj. žádná šikana ze strany např. prodejců počítačů, kteří když už počítač osadí Linuxem, tak si obvykle vyberou distribuci která nemá ani grafické prostředí -to aby náhodou nenaštvali Microsoft který by jim pak mohl z pozice de-facto monopolu začít účtovat Windows za plnou cenu)
a/nebo
2) Nebude mít masivní podporu nějakého korporátního marketingu, který by se takový systém snažil nacpat lidem (stačí se kouknout na úspěch Google s Androidem - a přitom je to OS na který většina nadává...)
a
3) Dokud na něj nebudou cílit vývojáři proprietárních aplikací - zejména her a multimediálních programů. A toto se nestane do té doby, dokud nebude nějaká jedna rozumná platforma na kterou by mohli tito vývojáři zacílit. Stačí se kouknout na ten současný bordel - např. neustále se vyvíjející systemd (což je podle Poetteringa by-design - systemd totiž nemá nějaký u jehož naplnění by měl zůstat) či skutečnost, že velká část lidí odmítá PulseAudio, zatímco už se (od těch samých lidí) chystá nástupce který má kromě zvuku rozvrtat i video... Dokud takovýto stav trvá (a on je navíc stále horší), tak tvůrci proprietárních aplikací nebudou moci nějak zajistit, aby jednou zkompilovaný SW běžel všude - takže se raději na to malé procento uživatelů vykašlou rovnou.
Zoberiem to po bodoch, elbo objektinym p[roblemo0m jke len bod 1.
AD 1:
S tou instalaciou jedneho alebo druheho OS to "pokakali" Slovesnky, cesky a polsky sudcovia
7.9.2016
Rozsudek Soudního dvora ve věci C-310/15
Soudní dvůr Evropské unie rozhodl (tisková zpráva) ve věci C-310/15: Prodej počítače vybaveného předem nainstalovanými počítačovými programy sám o sobě nepředstavuje nekalou obchodní praktiku. Neuvedení ceny každého z předem nainstalovaných počítačových programů ani nepředstavuje klamavou obchodní praktiku.
https://www.abclinuxu.cz/zpravicky/rozsudek-soudniho-dvora-ve-veci-c-310-15
A kto o tom rozhodol
SOUDNÍ DVŮR (osmý senát),
ve složení D. Šváby(za Slovenskoi), předseda senátu, J. Malenovský(za Cesku republiku) a M. Safjan(za Polsku republiku) (zpravodaj), soudci,
http://curia.europa.eu/juris/document/document.jsf?text=&docid=183106&pageIndex=0&doclang=cs&mode=req&dir=&occ=first&part=1&cid=569996
Ja sam mam Dell Vostrro 3330n
Service TAG: G1DY5N1
http://www.dell.com/support/home/sk/sk/skbsd1/product-support/servicetag/g1dy5n1/configuration
A ten sa predaval s Ubuntu v Selected Countries (v EU GER, FRA, AUT, SPA a ITA) a to na pulte a u nas (budova FEI je 250 m vzdusnou ciarou od Rakuska) len s FreeDOS CD a cakalo sa na neho 10 tyzdnov. Holt Verejna Vysoka skola musela obstaravat len zo slovenskej distribucie.
Toto je teda hlavne problem strednej a vychodnej Europy, ktore su najvacsimi cislicpovym,i koloniami, jediny,kto o tom aspon informuje, ze stav je zly, je, v CR tak nenavidena, EU
Investigative journalists: "Government lock-in by Microsoft is alarming"
Submitted by Adrian Offerman on April 14, 2017
As well as the European Commission and the European Parliament. They conclude that the dependence on Microsoft:
causes costs to rise continuously, and blocks technical progress in government organisations;
systematically undermines European procurement and competition laws;
gives Microsoft overwhelming political influence, culminating in personal interdependence as well as penetration of schools and universities; and
puts government IT systems, together with their citizens' personal information, at high risk both technologically and politically.
A digital colony
In an article in the newspaper Tagesspiegel, one of the investigative journalists addresses several severe problems:
current and former Microsoft lobbyists, managers and consultants are working directly in government ministries at both technical and political levels;
at all government levels, EU tender law is often broken to buy proprietary licences; and
this vendor deliberately creates a monoculture in the use and teaching of computer software at schools and universities.
https://joinup.ec.europa.eu/community/osor/news/investigative-journalists-government-lock-microsoft-alarming
On je to web projektu "Ministerstva informatiky" EU/
Da sa povedat, ze Ivan Pilny v CR a o nieco mensim Roberst Simoncic v SR su prikladom tych MS lobystov
a potom k tomu veta, ze Microsoft sa nehanbi priznat, ze vie nutit k pouzivaniu svojich produktov, ak oslovi niekoho s kym musia ostatni komunikovat
DK: 25,000 hospital staff Copenhagen region to use open source office suite
Submitted by Gijs Hillenius on August 18, 2011
Even a single user of the proprietary office suite would force the group to purchase licences for all fifteen thousand desktop PCs. "We have spoken to the proprietary vendor about this for over a year, and they acknowledge the problem.
https://joinup.ec.europa.eu/news/dk-25000-hospital-staff-copenhagen-region-use-open-source-office-suite
AD2.
Take sily tu su RedHat a SUSE
V pondělí 25. září 2017 v Praze odstartuje celotýdenní globální konference SUSECON, kterou pořádá výrazná open source společnost SUSE. Loňský ročník se konal ve Washingtonu. Firma si Prahu vybrala i z toho důvodu, že zde provozuje jedno ze svých dvou nejdůležitějších vývojových center. SUSE do Prahy doveze také své nejvyšší vedení včetně výkonného či technického ředitele.
Výrazné aktivity má v Česku také konkurent SUSE, společnost Red Hat. Neustále rozšiřované kanceláře v Brně jsou jeho vůbec největším vývojovým centrem na světě. Red Hat také plakáty polepil pražské letiště, aby zahraniční návštěvníci SUSECONu jako první věc po příletu viděli konkurenci.
https://www.lupa.cz/aktuality/v-praze-startuje-globalni-konference-suse-prileti-vedeni-a-red-hat-lepi-plakaty/
AD 3.
Stack Overflow Developer Survey 2016 Results
VIII. Desktop Operating System
Mac OS X 26.2% ----------------------------
Windows 7 22.5%
Linux 21.7%--------------------------------------
Windows 10 20.8%
Windows 8 8.4%
Windows XP 0.4%
Windows Vista 0.1%
https://insights.stackoverflow.com/survey/2016
Stack Overflow Developer Survey 2017
Platforms
Windows Desktop 41.0%
Linux Desktop 32.9%
Android 28.2%
Amazon Web Services (AWS) 28.1%
Mac OS 18.4%
iOS 16.4%
Este musim dodat k tym vyvojarom
Je len otazkou casu, kedy nastane situacia, ze firmy v IT proste nezozenu cloveka, ak nebud podprovat Linux. Jednak ludi je nedostatok a 1. az 2. najdolezitejsim kriteriom pri vybere zamestnania je napln prace a pouzite technologie- ake chce vyvojar. A preto pouzivanost Linuxu vyvojarmi je velmi nadejna..
Feb 1, 2015
And it’s a good thing because currently there are more than 75,000 open jobs in computing in California and only 4,324 computer science graduates to fill them.
https://techcrunch.com/2015/02/01/integrate-california-schools-with-computer-science/
4324/75000=0,05765333333 teda 5,77%
V SR je to nejakych 4,2% v CR okolo13%.
Proč lidé v IT mění práci?
Klára Antošová, 03. prosinec 2008
Nejčastější odpovědí, kterou uchazeči z oblasti IT udávají, je náplň práce. Často jsou úkoly jiné než bylo dohodnuto, nebo se po nějaké době působení ve společnosti práce stane stereotypní, zaměstnance již nerozvíjí a nepřináší mu nové výzvy. Mnoho kandidátů se nejprve pokusí situaci řešit interním výběrovým řízením, v případě neúspěchu se rozhodnou porozhlédnout jinde.
S tímto důvodem úzce souvisí i technologie. Pro skutečné IT nadšence je důležité držet krok s novými technologiemi. Být u zavádění novinek a proškolit se, by si přál téměř každý. Uchazeči často vzpomínají na vysokoškolská studia, kde byla výzkumná centra, kam mezinárodní společnosti v rámci sponzoringu či PR aktivit dodávaly to nejnovější, co měly.
Finance bývají v žebříčku priorit na druhém místě.
http://www.itbiz.cz/proc-lide-meni-praci
Proč dnes lidé v IT tak často mění práci?
11. květen 2011
Stále platí, že nejčastějším rozhodovacím faktorem jsou finance.
Technicky zdatní lidé oceňují možnost rozvoje, profesního růstu a možnosti poznávat ty nejnovější technologie.
V některých případech ale touha po „ošahání“ nové technologie je tak silná, že se poohlídnou po firmě, která novinky již použ
http://www.itbiz.cz/proc-lide-v-it-meni-praci
AD2:
"Take sily tu su RedHat a SUSE"
Ne, nejsou. Jak Red Hat, tak Suse se soustředí na firmy - zejména na různá serverová řešení. Ani jedni se nesnaží nějak vehementně získávat běžné domácí uživatele. Jediný, kdo kdy měl nějaký náznak takového úsilí byl Canonical - ovšem ten nepočítám, protože tam to táhne jediný člověk a nejde tedy o klasickou korporaci.
AD3:
Statistiky OS používaného vývojáři pro vývoj - nemají celkem nic společného s tím, pro jakou platformu cílí svoje produkty. Když se na tu statistiku totiž podíváte tak zjistíte, že většina vývojářů dělá Web nebo mobily (viz první 3 nejpopulárnější technologie: JavaScript, SQL databáze, Java) - tam záleží na IDE a nikoliv na OS.
Původní pisatel psal o Linuxu na desktopu, tak se podíváme, co podle té statistiky používají za primární technologie pro kódování vývojáři desktopových aplikací: první tři místa čistě Windows prostředí (z toho 2x Visual Studio a jednou Notepad++ ) a až pak je multiplatformní Eclipse - že by proto, že drtivá většina SW pro desktop se dělá pro Windows ?
A proč vývojáři desktopového SW cílí hlavně na Windows ? Že by to bylo (mimo jiné) i proto, že na Linuxu na desktopu je takový bordel v různých technologiích a jejich vzájemně nekompatibilních verzích, že se jim prostě nevyplatí věnovat takové platformě čas ???
AD2.
A najvacou "firmou" je stat a on nuti firmy pouzivat to, co pouziva on vid ad 1
DK: 25,000 hospital staff Copenhagen region to use open source office suite
Submitted by Gijs Hillenius on August 18, 2011
Even a single user of the proprietary office suite would force the group to purchase licences for all fifteen thousand desktop PCs. "We have spoken to the proprietary vendor about this for over a year, and they acknowledge the problem.
https://joinup.ec.europa.eu/news/dk-25000-hospital-staff-copenhagen-region-use-open-source-office-suite
Otvorený formát textových dokumentov v kancelárii
15. Júl, 2011, Autor článku: Foltin Martin,
Pred dvoma rokmi sme sa zaoberali myšlienkou využitia otvorených formátov v kancelárskych dokumentoch
Ukázalo sa, že najväčší problém so spracovaním otvoreného formátu má balík od spoločnosti Microsoft – MS Office 2007 napriek použitiu špeciálneho zásuvného modulu pre prácu s ODF.
Vidíme, že použitie formátu OOXML nie je vhodné, ak chceme naše dokumenty zdielať naprieč operačnými systémami, alebo pokiaľ, nie všetci zúčastnení disponujú kancelárskym balíkom MS Office.
Tento .odt dokument môžeme bezproblémovo zdielať s kolegami, ktorí využívajú napr. LibreOffice v OpenSUSE (obr. 5), alebo NeoOffice v Mac OS X (obr. 6).
Spoločnosť Microsoft reaguje na zvyšujúcu sa popularitu formátu ODT a preto je možné tento formát editovať napr. aj v programe MS Word 2010 (obr. 7). Podpora vo Worde 2011 pre Mac však chýba. Je to napriek tomu, že ODF podporuje Mac OS X natívne vo svojich aplikáciách n. V Mac OS X sú dokonca zabudované, od verzie 10.5, knižnice na prácu s ODF.
Zdalo by sa, že sme sa vlastne dostali do štádia, kedy postačuje používať otvorený formát .odt a nemôže nastať problém.
Otvoriť a editovať .odt vo Worde 2010 skutočne môžete a nepredstavuje to žiaden problém.
Komplikácie sa objavia keď dokument uložíte a chcete ho editovať mimo Word 2010. V takomto prípade je už dokument zdeformovaný (obr. 8). Problematické sú najmä vzorce a vektorové obrázky. Zaujímavosťou je, že Word si s takýmto súborom bezproblémovo poradí. Musíme teda konštatovať, že populárny MS Office je stále problematický v prípade použitia ODF.
http://www.posterus.sk/?p=11068
Ad 3.
>Že by to bylo (mimo jiné) i proto, že na Linuxu na desktopu je takový bordel v různých technologiích
>a jejich vzájemně nekompatibilních verzích, že se jim prostě nevyplatí věnovat takové platformě čas ???
A preboha na co su balickovacie systemy v desktopovych Linuxoch ? Poviem poptrebujem knizncie a,b, c.. z. vo verziach 1,2,.. 100 alebo navsich a vsteko sa vyriesi..
"A preboha na co su balickovacie systemy v desktopovych Linuxoch ? Poviem poptrebujem knizncie a,b, c.. z. vo verziach 1,2,.. 100 alebo navsich a vsteko sa vyriesi.."
Nevyřeší. Balíčkovací systémy jsou pro repozitáře s otevřeným softwarem - já tu píšu o stavu proprietárního SW. Na Windows jednou vytvoříte binárku a máte šanci hraničící s jistotou že ji spustíte ve Windows 7, 8, 10,... Na Linuxu neexistuje jistota nějakého stabilního API, takže s každou novou verzí distribuce je stále méně pravděpodobné, že daný SW půjde spustit (nemluvě o tom, že Linux je mnoho distribucí - a každá může být jinak postavená). Samozřejmě je zde cesta, kdy vývojář může ke svému programu vše potřebné přibalit (takhle se to normálně dělá i na WIndows) - ovšem to vlastně bude duplikovat celý systém a to od úrovně X+ALSA výše. Oproti tomu na Windows má desktopový vývojář k dispozici DirectX, WinAPI a hlavně jistotu, že nové verze budou zachovávat zpětnou kompatibilitu - což je něco o čem můžeme na Linuxu jenom snít.
Stačí se kouknout na hry - tam je situace dokonce tak daleko, že některé hry např. vyžadují ovladače od specifického výrobce, takže hru spustíte jenom s ovladači od nVidie ale ne AMD, nebo naopak AMD a Intel ano a nVidia ne... Proč by se za takovéhle situace měl nějaký vývojář pouštět do podpory takové platformy ?
Tak to urcite ... tu sanci hranicici s jistotou vidim den co den ... naprosto nejlip na produktech primo od M$ ...
Uz jen kdyz se podivam na tech asi tak 50 kusu kazdyho jdnoho dll dx ... A specielne u her ... to aby clovek pro kazdou jednu preinstaloval ovladace, protoze hromada jich funguje jen s konkretni verzi, a s nejnovejsi nefungujou vubec nebo blbe, jiny prozmenu nefungujou se zadnou starsi nez ... a nejnovejsi drivery uz maj pomalu 500MB jak resej ty naprosto neshopny vyvojare.
Pulseaudio praská při změně hlasitosti a občas nehraje po probuzení z hibernace. K tomu navíc mplayer píše do konzole "Audio device got stuck!". Alsa to nedělala, ale firefox ani chrome už alsu nepodporuje. Děkujeme Lennartovi za vytváření problémů, kde žádné nebyly, a očekávejme nové problémy s PipeWire :-(
====
Pulseaudio praská při změně hlasitosti...
====
Zajímavé, máš k tomu nějaké bližší diagnostické podklady? Máš vyzkoušené, že na stejné verzi jádra (tedy driverů pro tvou zvukovku) to alsa nedělá? PA hýbe ovládacími prvky alsy.
Rovněž to zaseklé audio zařízení - není to náhodou tenhle bug v pulse modulu mplayeru? http://mplayerhq.hu/pipermail/mplayer-users/2012-February/084181.html
Na Debianu Jessie pulseaudio praskalo hrozně, po upgradu na Debian Stretch praská míň, ale praská. Jádrem to nebude, na obou používám větev 4.4.
Mám USB zvukovou kartu, co vůbec nemá hardwarové ovládání hlasitosti, takže hardwarem to být nemůže.
Na Alse bylo možné pomocí .asoundrc zapnout softwarové nastavování hlasitosti přes plugin "softvol", to nepraskalo. Případně, když se tam nenastavilo nic, tak si každý program řešil hlasitost po svém a taky to nepraskalo.
Na netu jsem žádné stížnosti na praskání PA při změně hlasitosti nenašel. Lidi si stěžují na nějaké zvukové efekty při změně volume https://askubuntu.com/questions/61878/how-can-i-disable-the-popping-sound-when-adjusting-the-volume , ale to je jen hloupá funkce gnome.
Chtělo by to trochu diagnostiky. Opravdu nemá zvukovka volume control? I USB zvukovky ji běžně mají. V amixer -c XX či alsamixer -c XX se nic takového nevypisuje?
OK. Jaké konkrétní čudlíky tam ta alsa zobrazuje? Vrtá mi hlavou, kde by je vzala, pokud zařízení žádné feature units nenabízí. O jaký HW se jedná (USB ids)?
Zkusil bych natvrdo zvednout latenci PA proměnnou PULSE_LATENCY_MSEC - viz https://forums.linuxmint.com/viewtopic.php?p=843277&sid=6e533ae4c6f9f678e57b2815e9f6af23#p843277 , https://bbs.archlinux.org/viewtopic.php?pid=1288881 (implementace https://github.com/pulseaudio/pulseaudio/blob/master/src/pulse/stream.c#L989 ) .
Jde o to, že PA funguje tak, že zvukovku nastaví na maximální period size (tj. co nejméně interruptů) a nechá ji běžet. Data přepisuje přímo v bufferu alsího zařízení (např. u PCI zvukovky již přímo DMA buffer, pokud se používá rovnou alsí hw:XX bez nějakého pluginu). PA počítá/odhaduje aktuální pozici DMA reading pointeru voláním API alsy + používáním high-precision časovačů. Když dostane požadavek na změnu hlasitosti, přepíše ještě "nespotřebované" vzorky v bufferu, aby se změna projevila ihned. Stejným způsobem řeší požadavky na různé latence klientů - audio data z přehrávače s požadavkem latence 500ms hrne do toho bufferu, zatímco data z mplayeru s požadavkem na minimální latenci k nim dodatečně přimixovává na začátek nepřehrané části bufferu, aby to časově sedělo a mplayer měl tu minimální latenci. Není žádná sranda tohle udělat správně a včas. Musí mu sedět výpočty aktuální pozice reading pointeru, jinak to přepisuje zvukovce pod rukama a samozřejmě z toho pak leze bordel. Proto tolik závisí na alsím driveru, aby správně hlásil svou latenci/pozici reading pointeru.
Tipuju si, že mplayer žádá o příliš malou latenci a PA na tvé zvukovce (tj. v pomocném bufferu driveru snd-usb-audio) při změně hlasitosti sahá na data audio streamu, která se už driverem v jádře kopírují do bufferu, kde modul usb-core skládá USB rámce se všemi aktuálními USB streamy pro DMA od USB kontroléru.
Nebo je problém jinde, to by se muselo koukat do verbose logů PA.
Tady se mění ta hlasitost v živém bufferu https://github.com/otcshare/pulseaudio/blob/master/src/pulsecore/source-output.c#L741
Mplayer zdá se specifickou latenci nepožaduje https://github.com/sherpya/MPlayer/blob/master/libao2/ao_pulse.c#L243 , tak to může být příliš nízký default pro daný HW. Nevím, chce to logy.
To PULSE_LATENCY_MSEC na to nemá vliv, ale když jsem si s tím hrál, zjistil jsem, že to praskání při změně hlasitosti se projevuje pouze, pokud pulseaudio dělá resampling.
Když se resampling dělá v mplayeru a do pulseaudia to jde už ve formátu shodném s formátem zvukovky, tak to nepraská. Typ resampleru na to nemá vliv, prská to při jakémkoli typu.
Kde se v Alse vzaly ty neexistující mixery nevím, vím, že původně tam žádné nebyly, po nějakém upgradu nevím čeho se objevily (tahání s těmi mixery hlasitost nijak neměni). amixer -c0:
Simple mixer control 'Master',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 255
Front Left: 53 [21%]
Front Right: 53 [21%]
Simple mixer control 'PCM',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 255
Front Left: 207 [81%]
Front Right: 207 [81%]
Simple mixer control 'Power LED',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Karta je Creative X-Fi 041e:3042, tady je celý její popis:
ID 041e:3042 Creative Technology, Ltd
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x041e Creative Technology, Ltd
idProduct 0x3042
bcdDevice 1.00
iManufacturer 1
iProduct 2
iSerial 3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 694
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 400mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 10
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 61
bInCollection 2
baInterfaceNr( 0) 1
baInterfaceNr( 1) 2
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bNrChannels 6
wChannelConfig 0x003f
Left Front (L)
Right Front (R)
Center Front (C)
Low Freqency Enhancement (LFE)
Left Surround (LS)
Right Surround (RS)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 3
wTerminalType 0x0301 Speaker
bAssocTerminal 0
bSourceID 1
iTerminal 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 4
wTerminalType 0x0603 Line Connector
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 6
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 4
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 8
wTerminalType 0x0602 Digital Audio Interface
bAssocTerminal 0
bSourceID 1
iTerminal 0
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 10
bRefresh 0
bSynchAddress 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 1
bDelay 0 frames
wFormatTag 1 PCM
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 2
bBitResolution 16
bSamFreqType 1 Discrete
tSamFreq[ 0] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x00c4 1x 196 bytes
bInterval 1
bRefresh 0
bSynchAddress 1
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 17
Transfer Type Isochronous
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0003 1x 3 bytes
bInterval 1
bRefresh 5
bSynchAddress 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 2
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 1
bDelay 0 frames
wFormatTag 1 PCM
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 3
bBitResolution 24
bSamFreqType 1 Discrete
tSamFreq[ 0] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0126 1x 294 bytes
bInterval 1
bRefresh 0
bSynchAddress 1
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 17
Transfer Type Isochronous
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0003 1x 3 bytes
bInterval 1
bRefresh 5
bSynchAddress 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 3
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 1
bDelay 0 frames
wFormatTag 1 PCM
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 6
bSubframeSize 2
bBitResolution 16
bSamFreqType 1 Discrete
tSamFreq[ 0] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x024c 1x 588 bytes
bInterval 1
bRefresh 0
bSynchAddress 1
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 17
Transfer Type Isochronous
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0003 1x 3 bytes
bInterval 1
bRefresh 5
bSynchAddress 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 4
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 1
bDelay 0 frames
wFormatTag 1 PCM
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 6
bSubframeSize 3
bBitResolution 24
bSamFreqType 1 Discrete
tSamFreq[ 0] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0372 1x 882 bytes
bInterval 1
bRefresh 0
bSynchAddress 1
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 17
Transfer Type Isochronous
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0003 1x 3 bytes
bInterval 1
bRefresh 5
bSynchAddress 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 5
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 1
bDelay 0 frames
wFormatTag 1 PCM
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 2
bBitResolution 16
bSamFreqType 1 Discrete
tSamFreq[ 0] 96000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0184 1x 388 bytes
bInterval 1
bRefresh 0
bSynchAddress 1
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 17
Transfer Type Isochronous
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0003 1x 3 bytes
bInterval 1
bRefresh 5
bSynchAddress 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 6
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 1
bDelay 0 frames
wFormatTag 1 PCM
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 3
bBitResolution 24
bSamFreqType 1 Discrete
tSamFreq[ 0] 96000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0246 1x 582 bytes
bInterval 1
bRefresh 0
bSynchAddress 1
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 17
Transfer Type Isochronous
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0003 1x 3 bytes
bInterval 1
bRefresh 5
bSynchAddress 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 7
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 1
bDelay 0 frames
wFormatTag 8193 IEC1937_AC-3
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 3 (FORMAT_TYPE_III)
bNrChannels 2
bSubframeSize 2
bBitResolution 16
bSamFreqType 1 Discrete
tSamFreq[ 0] 44100
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x00b4 1x 180 bytes
bInterval 1
bRefresh 0
bSynchAddress 1
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 17
Transfer Type Isochronous
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0003 1x 3 bytes
bInterval 1
bRefresh 5
bSynchAddress 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 8
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 1
bDelay 0 frames
wFormatTag 8193 IEC1937_AC-3
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 3 (FORMAT_TYPE_III)
bNrChannels 2
bSubframeSize 2
bBitResolution 16
bSamFreqType 1 Discrete
tSamFreq[ 0] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x00c4 1x 196 bytes
bInterval 1
bRefresh 0
bSynchAddress 1
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 17
Transfer Type Isochronous
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0003 1x 3 bytes
bInterval 1
bRefresh 5
bSynchAddress 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 6
bDelay 0 frames
wFormatTag 1 PCM
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 2
bBitResolution 16
bSamFreqType 1 Discrete
tSamFreq[ 0] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 37
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Implicit feedback Data
wMaxPacketSize 0x00c4 1x 196 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 2
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 6
bDelay 0 frames
wFormatTag 1 PCM
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 3
bBitResolution 24
bSamFreqType 1 Discrete
tSamFreq[ 0] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 37
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Implicit feedback Data
wMaxPacketSize 0x0126 1x 294 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 3
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 6
bDelay 0 frames
wFormatTag 1 PCM
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 2
bBitResolution 16
bSamFreqType 1 Discrete
tSamFreq[ 0] 96000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 37
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Implicit feedback Data
wMaxPacketSize 0x0184 1x 388 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 4
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 6
bDelay 0 frames
wFormatTag 1 PCM
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 3
bBitResolution 24
bSamFreqType 1 Discrete
tSamFreq[ 0] 96000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 37
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Implicit feedback Data
wMaxPacketSize 0x0246 1x 582 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Ty LEDky jsou tady https://github.com/torvalds/linux/blob/master/sound/usb/mixer_quirks.c#L378 . Volume si tipuji na softvol, který bývá pro karty bez master volume definovaný automaticky pro device default (ale v /usr/share/alsa jsem to nenašel). Když něco otevře default, pro zvukovku se vyrobí softvol control Master Volume. Ovšem když použiješ přímé zařízení "hw:0" (což zřejmě otevírá pulseaudio), softvol v řetězci není a nemá na to žádný vliv. To bude ono.
Ohledně toho praskání - zkoušel jsi vypnout to časované scheduling přes tsched=0 https://askubuntu.com/a/329336 ? Pořád si myslím, že je problém v časování. Vypnutí by mohlo pomoci. Chtělo by to zapnout xrun_debug a podívat se, zda k nim nedochází https://www.kernel.org/doc/html/v4.11/sound/designs/procfile.html
"load-module module-udev-detect tsched=0" nepomůže, praská to stejně. Zkusil jsem zapsat "5" do těch souborů xrun_debug v /proc, ale nic to při tom prskání nevypisuje.
Ty mixery v alse nedělají nic ani když pulseaudio odinstaluju a hraju mplayerem na alsu. Zkoušel jsem přímo specifikovat různá zařízení (např. dmix) a stejně ty mixery nic nedělají. Něco začnou dělat až když nastavím softvol v .asoundrc.
A hraješ mplayerem na zařízení "default" nebo na "hw:0"? Defaultní softvol by byl v řetězci defaultu.
To praskání už nevím, zkus reportovat na mailinglist PA. Co si pamatuju, X-Fi (PCI i USB) bylo v alse vždycky podporované napůl, nebyla pořádná dokumentace. Ale když to v alse jede OK, poslal bych to do PA.
Pouzivam uz dva-tri roky pulseaudio ako s internymi zvukovymi kartami (intel hd), tak i s usb (napr. focusrite 2i4). To vsetko aj na (casom roznych) laptopoch ktore maju v pohode aj 100d uptime (cize suspend/resume kazdy den). A vsetko funguje bez praskania, bez problemov. Radim ta teda do kategorie "PEBKAC".
Takze bezny programatorsky pristup - "it works on my computer" na ktery jsem z duvodu pracovnich zkusenosti velmi alergicky.
Pokud napisu ze neco funguje tak tim myslim full duplex audio, nahravani,prehravani, 24bit sampling, hw mixing pokud je, kdyz prehravam film tak muzu dat v prubehu prehrava suspend a zvuk se vzpamatuje. Je kompatibilni s power scalingem a zminede delaye. Funguje kompatibilita na oss a alsa rozhrani... Je toho hodne. A vazne pochybuji o tom ze jsi takto komplexne testoval kazdy notebook. Tohle snad delal akorat tak hw compatibility lab v SuSE nebo RH (a ten desktopy moc neresi).
Pokud ne, tak bych urcite nenapsal "funguje".
Minimalne intel hd zvukovky jsou v mnoha modifikacich a konfiguracich a nemuzu dat ruku do ohne za to ze jsem nemusel "ohybat" nastaveni. Z podstaty funkce by pulseaudio nemel zajimat konkretni hw protoze je mezitim alsa.
===
Z podstaty funkce by pulseaudio nemel zajimat konkretni hw protoze je mezitim alsa.
===
To by byla pravda, kdyby alsa měla veškerá API standardizované. Bohužel to ani náhodou neplatí zrovna v oblasti ovládacích prvků a specifických nastavení, na kterých PA klíčově závisí. PA je tím, kdo bez ohledu na zvukovku nabízí uživateli standardizovanou sadu ovládacích prvků - min. řízení hlasitosti, přepínání vstupů, přepínání výstupů. Jenže v alse má každá druhá zvukovka controls jinak a PA na to musí mít vlastní mapovací konfigurace https://github.com/pulseaudio/pulseaudio/tree/master/src/modules/alsa/mixer/paths https://github.com/pulseaudio/pulseaudio/tree/master/src/modules/alsa/mixer/profile-sets . Právě díky PA se v této oblasti udělalo v alse kus práce, stejně jako v opravách metod API na reportování časů, které byly v alse v tristním stavu. Teprve až se tohle v alse po pár letech bugreportů trochu vyčistilo, mělo PA šanci začít nad alsou trochu fungovat. PA používá alsu jinak než standardní alsí aplikace a příslušné funkce API sice v alse byly, ale v půlce driverů nic nedělaly nebo vracely kraviny.
Ohoho, to ani nahodou nie je bezny programatorsky pristup, teda, ako pre koho ;-)
Pointa je v tom ze ako truhlik predomnou generalizoval ze to nefunguje, ja som za seba zgeneralizoval ze to funguje. Nase prispevky maju teda zhodnu vypovednu hodnotu. Mimo ine, ako uz poznamenal dalsi komentujuci, hw ma riesit nizsia vrstva - na urovni jadra (alsa/oss) nie userspace utilita ktora ma akurat tak zjednotit API.
Tzn. ani sa necudujem ze problemy maju hlavne pouzivatelia ktori nevedia kam co patri a teda co maju od coho cakat.
Mimo ine, aktualny stav celkom pekne odzrkadluje steam, ktory si so sebou nosi vlastnu sadu kniznic a donedavna oficialne podporoval az jednu distribuciu. Nechut dookola opravovat rozbite koleso prejavila aj Mozilla, ktora podporu ALSA vyradila uz par verzii vzad.
Hm, tak jsme až do teď nadávali, jakej je PulseAudio strašnej lagující moloch a zdá se, že situace bude ještě horší ... Nebylo by jednodušší rozšířit o chybějící feautury samotnou Alsu, do waylandu udělat nějaký jednoduchý modul na streamování zvuku do remote clientů a tyto zbytečné mezivrstvy zahodit?
drive jsem provozoval na linuxu tohle:
https://en.wikipedia.org/wiki/Open_Sound_System
v kernelu 2.4 perfektni...
dneska uz linux temer nepouzivam ,ale OSS je pekne implementovane ve FreeBSD a z nostalgie ho obcas pouzivam i na AIXu s KDE2 :)
Alsa dnes implementuje vše tohle https://www.kernel.org/doc/html/v4.10/sound/index.html . Velká část z toho v OSS (obzvláště jeho linuxovém portu) nikdy nebude.
I Alsa se skládá z několika vrstev - drivery, userspace low-level alsalib komunikující přímo s jádrem, nad nimi high-level alsalib. PA pracuje s low-level alsalib. Dříve se hodně vyvíjelo high-level alsalib - pluginy dmix, rate, file, route, ladsp atd. http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html . To je vrstva, kterou z velké části nahradilo PA a dnes už se tyto pluginy vyvíjí jen sporadicky. Takže pokud chceš PA nahradit, můžeš se pustit do jejich rozvoje. IMO to nikoho jiného zajímat nebude, vývojáři alsy nechávají tyto uživatelské funkce záměrně na PA a soustředí se na drivery a rozšiřování nových API (use-case APi, významy/mapování jednotlivých kanálů, s příchodem Intel HDA to bylo jack api, atd.)