Za jídlo, šaty a vzduch otročíme na programech z temných světů

OpenBSD na notebooku (2)

Co funguje a co nefunguje lze do značné míry zjistit již při bootu počítače. Pokud jsme při instalaci vybrali start do xdm a jsme po skončení bootovací sekvence kdekoliv jinde než v přihlašovací obrazovce, je něco rozbité víc než je zdrávo. Jak jsem ukázal na konci prvního dílu, mám štěstí a tohle není můj případ.

Po prvním přihlášení, ještě než jsem začal zjišťovat jak na tom počítač je, jsem si nakonfiguroval balíčkovací systém. Je to tak jednoduché, jak to jen jednoduché může být – stačí nastavit proměnnou PKG_PATH na správné URL. Pro release (stable) variantu systému je to adresář označený číslem verze, pro variantu current pak adresář snapshots. Poté už stačí zadat pkg_add -v jméno_balíčku a následně pozorovat, jak se oblíbený software stahuje. Pro mě tím oblíbeným softwarem byl textový editor nano, souborový manažer mc a webový prohlížeč netsurf.


Teď už ale pojďme k průzkumu fungujícího a nefungujícího hardware.

Procesor, napájení
Procesor je identifikován korektně včetně obou jader a výčtu možností škálování, o čemž se lze přesvědčit pomocí dmesg:

cpu0: Intel(R) Core(TM)2 Duo CPU L9400 @ 1.86GHz ("GenuineIntel" 686-class) 1.87 GHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,NXE,LONG,SSE3,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,XSAVE,LAHF,PERF
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: apic clock running at 265MHz
cpu0: mwait min=64, max=64, C-substates=0.2.2.2.2, IBE
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Intel(R) Core(TM)2 Duo CPU L9400 @ 1.86GHz ("GenuineIntel" 686-class) 1.87 GHz
cpu1: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,NXE,LONG,SSE3,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,XSAVE,LAHF,PERF
acpicpu0 at acpi0: C2, C1, PSS
acpicpu1 at acpi0: C2, C1, PSS
cpu0: Enhanced SpeedStep 1862 MHz: speeds: 1867, 1866, 1600, 800 MHz


Velmi užitečnou věcí je systémová utilita sysctl, kterou bych přirovnal k obsahu adresářů /proc resp. /sys v Linuxu, s tím že mnoho nastavení přes ni jde i měnit. Rychlý pohled do jejího výstupu ukázal, že škálování frekvence procesoru není zapnuté. Je od toho naštěstí jednoduchá pomoc v podobě daemona apmd. Pokud mu v /etc/rc.conf nastavíme proměnnou apmd_flags="-C", pak se škálování po nejbližším rebootu zapne. Procesor je pak udržován na co nejnižší frekvenci, pouze pokud je podíl nevyužitého procesorového času nižší než 10%, je frekvence zvýšena na maximum a dolů se vrací až když se nevyužitý čas vrátí nad 30%. Podle všeho to přesně tak i funguje, procesor frekvenci mění podle potřeby a počítač se nijak extrémně nezahřívá. Alternativou tohoto nastavení je -A, kde je ještě taktování směrem nahoru závislé na dostatku energie v baterii nebo připojení napájecího adaptéru.

OpenBSD umí uspat počítač do paměti pomocí utility zzz a na disk na disk příkazem ZZZ. První jmenovaný funguje bez potíží, druhý je bohužel nefunkční, počítač při pokusu o probuzení jde do restartu a nabootuje od znovu od začátku. Podle různých informací nalezených na webu, je to relativně běžná situace, ne na všech strojích funguje správa napájení kompletně.

Stav napájení a baterie lze zjistit příkazem apm s příslušným parametrem:
  • -a : informace o adaptéru
    • 0 … adaptér odpojen
    • 1 … adaptér připojen
    • 2 … záložní napájení
    • 255 … neznámý stav
  • -b : informace o baterii
    • 0 … baterie je nabita
    • 1 … baterie má nízký stav baterie
    • 2 … baterie má kritický stav energie
    • 3 … baterie se nabíjí
    • 4 … baterie odpojena
    • 255 … neznámý stav
  • -l : stav nabití baterie v procentech
  • -m : odhad do vybití v minutách
Grafika, displej HP 2530p má pouze v čipsetu integrovanou grafiku od Intelu a displej s rozlišením 1280×800. S potěšením jsem konstatoval, že systém identifikoval zařízení Intel GM45 a X-Window System nastartoval ve správném rozlišení a s použitím správného ovladače.
Plocha OpenBSD
Plocha OpenBSD s okenním správcem fvwm
Akcelerace je v současné době podporována na grafikách od Intelu a ATi/AMD, nVIDIA není v kolektivu autorů i uživatelů příliš populární, protože údajně nerada otevřeně dokumentuje jakýkoliv svůj produkt a na binární ovladače se nehraje.
Nicméně i když je vše vpořádku a systém si s kartou rozumí, na koukání na video na YouTube to přesto není ani v nízkém rozlišení 360p. Tohle je častá stížnost všech, kdož provozují OpenBSD na notebooku, přesto jediným doporučeným řešením je stáhnout například youtube-dl nebo jinou utilitu umožňující stažení a následné lokální přehrávání online videí.

S displejem se souvisí regulace podsvícení. Ta funguje i nefunguje zároveň. Můj notebook pod mojí vládou nikdy nepoznal Windows, takže o fungování manuální i automatické regulace mám poznatky jen z Linux Mint 14, nicméně tam lze přepnout dva režimy: manuální, kdy jas displeje nastavuje uživatel a automatický, který využívá senzory. Klávesa pro přepínání těchto režimů v OpenBSD přepíná dvě fixní úrovně – jasnou a tmavší, klávesy pro manuální regulací nedělají vůbec nic. Příkaz xbacklight pak jako hodnotu podsvícení neustále vrací 0.33, veškeré pokusy o změnu jsou ignorovány. Škoda, na modelech jiných značek to prý funguje.

Zvuk
Zvukový výstup funguje. Nemusel jsem kromě instalace XMMS a patřičných kodeků pro přehrávání hudby udělat vůbec nic.
OpenBSD a XMMS
XMMS přehrává, tak jak má
Z ovládání kapacitními senzory nad klávesnicí reaguje systém na tlačítka zesilování a zeslabování, tlačítko pro úplné ztlumení zvuku nereaguje.

Ethernet, WiFi, 3G modem
Drátový ethernet od Broadcomu šlape, stejně jako si systém hned po prvotní instalaci poradí s USB ethernetem z mobilního telefonu.

Co ovšem vyžaduje zásah na straně uživatele je WiFi adaptér Intel Wireless. Ten potřebuje binární soubor s firmware, který se do něj musí při každém bootu nahrát, jinak je zařízení mrtvé. Přesněji řečeno – v seznamu síťových zařízení je stále vidět, zdánlivě reaguje na příkazy, jen nikdy nevidí žádnou síť, do žádné manuálně zadané se nepřipojí a hází chyby do systémové konzoly:

iwn0: error, 2, could not read firmware iwn-5000
iwn0: could not read firmware
Je potěšující, že soubory s firmware podporovaných zařízení jsou k dispozici centrálně na serveru firmware.openbsd.org, kde stačí v adresáři příslušné varianty (stable/current) najít správný soubor (v mém případě iwn) a jeho obsah rozbalit do /etc/firmware.

Bezdrátových modemů je podporováno poměrně velké množství (viz man umsm), žel můj Gobi 2000 nikoliv, neb se podle všeho jedná o softwarový modem.

TouchPad, TouchStyk, USB myš
Všechna tři zařízení fungují. USB myš a TouchStyk z mého pohledu nevyžadují žádná další nastavení, TouchPoint nemá ve výchozím stavu zapnutý scroll pomocí vyhrazené části dotykové plochy. Jelikož používám většinou buď TouchStyk nebo myš, zatím jsem se do přenastavování TouchPadu nepouštěl, mělo by spočívat jen v použití ovladače synaptics v souboru xorg.conf.

Čtečka otisků prstů, čtečka karet, firewire
Tato tři zařízení jsem shrnul do jednoho odstavce proto, že ani jedno z nich není podporováno. V Linuxu jsem všechna tři rozchodil, ale pro čtečku otisků jsem nikdy nenašel smysluplné použití a čtečka karet je mi většinou k ničemu, neboť fotím na CF a do štěrbiny na pravoboku lze vložit pouze SD kartu. Ani jednoho zařízení tak není obzvláštní škoda.

OpenBSD na notebooku je nyní ve stavu, kdy se z hlediska hardware dá obstojně používat. Klíčové věci fungují, takže se dívám na obraz v nativním rozlišení, procesor se mi nepřehřívá a při psaní tohoto článku jsem připojen do domácí WiFi.
Další díl tedy logicky bude o konfiguraci software. Pokusím se nainstalovat běžně používaný software a některé z mainstreamových desktopových prostředí.