Kamera na Arch Linuxu většinou neselže kvůli „Linuxu obecně“, ale kvůli jedné konkrétní vrstvě: zařízení se nenačte, chybí PipeWire, aplikace nemá oprávnění nebo používá špatný backend. V tomhle postu projdeme rychlou diagnostiku, základní balíčky i ověření ve skutečných aplikacích.
Nejdřív ověřte, že systém kameru vůbec vidí
První krok je prostý: zjistit, jestli je problém v hardwaru, nebo až nad ním. U USB kamery začněte přes lsusb. U integrované kamery v notebooku dává větší smysl podívat se rovnou na zařízení /dev/video* a na to, co hlásí kernel.
lsusb
ls /dev/video*
dmesg | grep -iE 'uvc|camera|video'
Pokud nevidíte žádné /dev/video0 nebo podobné zařízení, nezačínejte instalovat půl repozitáře. Nejdřív zkuste jiný USB port, vypnout hub a zkontrolovat, jestli se po připojení kamery objeví něco nového v dmesg. Když systém zařízení vůbec nezaregistruje, bývá problém níž než v aplikaci.
Balíčky, které na Archu pro webkameru reálně potřebujete
Na Arch Linuxu často stačí minimum, ale kamera na Arch Linuxu dnes obvykle běží nejlépe s kombinací V4L2 + PipeWire + WirePlumber. Pokud máte čistší instalaci nebo jste stavěli systém postupně, některá vrstva může chybět. A pak kamera funguje třeba v testovacím nástroji, ale ne v browseru nebo Zoomu.
sudo pacman -Syu
sudo pacman -S v4l-utils pipewire pipewire-pulse wireplumber xdg-desktop-portal xdg-desktop-portal-gtk ffmpeg
v4l-utils vám dá diagnostiku, PipeWire řeší multimediální vrstvu a xdg-desktop-portal je důležitý hlavně pro aplikace, které jedou přes desktopová oprávnění. Na GNOME, KDE i lehčích desktopech se může lišit konkrétní portal backend, ale bez něj bývá přístup ke kameře v sandboxovaných aplikacích nespolehlivý.
PipeWire a služby, které musí skutečně běžet
Instalace balíčků nestačí. Další častý problém je, že služby nejsou spuštěné v uživatelské session. To je přesně ten stav, kdy kamera na Arch Linuxu „někde jde a někde ne“ a hledání chyby je zbytečně drahé na čas.
systemctl --user status pipewire
systemctl --user status pipewire-pulse
systemctl --user status wireplumber
systemctl --user enable --now pipewire pipewire-pulse wireplumber
Když některá z těchto služeb padá, podívejte se do logu přes journalctl --user -xe. Typicky narazíte na konflikt starší konfigurace, chybějící portal backend nebo rozbitou session po větším upgradu. Tady doporučujeme nejdřív opravit služby a až potom testovat konkrétní aplikaci.
Otestujte obraz mimo prohlížeč a mimo videokonference
Než otevřete Meet, Zoom nebo Teams, ověřte si samotný obraz z kamery jednoduchým nástrojem. Tím oddělíte problém zařízení od problému aplikace. Na Archu je na to praktické v4l2-ctl a třeba ffplay z balíku FFmpeg.
v4l2-ctl --list-devices
v4l2-ctl --all --device /dev/video0
ffplay /dev/video0
Když ffplay ukáže obraz, hardware i základní ovladač jsou pravděpodobně v pořádku. Pokud ne, zkontrolujte ještě modul uvcvideo, protože většina běžných USB kamer běží právě přes něj. U některých notebooků ale může jít o specifičtější ovladač nebo firmware závislý na konkrétním modelu.
lsmod | grep uvcvideo
sudo modprobe uvcvideo
Prohlížeč, Zoom a sandbox: kde se kamera láme nejčastěji
Jakmile funguje surový obraz, přichází vrstva aplikací. Browsery a konferenční nástroje mají vlastní pravidla: oprávnění webu, výběr vstupního zařízení, někdy i rozdíl mezi nativním balíčkem a Flatpakem. Tady vzniká velká část hlášek typu „kamera není dostupná“, i když systém kameru normálně vidí.
U Firefoxu a Chromia nejdřív ověřte, že web opravdu dostal oprávnění ke kameře. U Flatpaku bývá kritický právě portal. U Zoomu nebo Teams se vyplatí zkontrolovat, jestli aplikace neotevírá špatné zařízení, třeba virtuální kameru místo fyzické. Pokud máte víc video vstupů, je to častější, než by člověk čekal.
Když je zařízení vidět, ale obraz je černý nebo zamrzá
Tohle už je jemnější diagnostika. Kamera na Arch Linuxu může být rozpoznaná správně, ale aplikace si sáhne na nepodporovaný formát, rozlišení nebo framerate. Výsledek je černé okno, zasekaný obraz nebo náhodné pády při přepnutí vstupu.
v4l2-ctl --list-formats-ext --device /dev/video0
Vypište si podporované formáty a zkuste kameru otestovat v nižším rozlišení. Levnější USB kamery bývají citlivé na kombinaci 1080p + vysoké FPS a některé aplikace si výchozí profil vyberou dost nešťastně. Pokud obraz běží v 720p stabilně, problém není „že Linux neumí kameru“, ale že stack vybral špatný režim.
Praktický debug na Archu, když nechcete střílet naslepo
Když se chcete dostat k výsledku rychle, držte se pořadí vrstev. 1) zařízení je vidět v systému, 2) funguje přes v4l2, 3) běží PipeWire, 4) aplikace má oprávnění, 5) aplikace používá správný vstup a formát. Jakmile tenhle sled přeskočíte, snadno skončíte u náhodných pokusů bez závěru.
Hodně pomůže i oficiální ArchWiki, protože u podobných systémových problémů bývá přesnější než obecné návody pro Ubuntu. Na diagnostiku zařízení se hodí také V4L utilities a pro multimediální vrstvu PipeWire. Tyhle zdroje doporučujeme číst ve chvíli, kdy už víte, v jaké vrstvě problém skutečně leží.
Co si zprovoznění kamery na Arch Linuxu odnést
Nejrychlejší cesta není hledat „magický fix“, ale rozdělit problém na hardware, ovladač, multimediální vrstvu a aplikaci. Jakmile kamera na Arch Linuxu projde přes /dev/video, v4l2-ctl a běžící PipeWire, bývá zbytek už jen o oprávněních nebo volbě správného vstupu. Přesně tenhle postup šetří čas a eliminuje zbytečné zásahy do systému.

Komentáře (0)
Přidat komentář
Váš email nebude zveřejněn. Všechny komentáře procházejí schválením administrátorem.