pondělí 1. října 2012

Zase se mi přihodilo AMD - HD7750, tři monitory, a vůbec

Už mě můj Radeon HD4870 opravdu nebavil a přesto, že se blíží zima, rozhodl jsem se tento přímotop vyhodit a pořídit něco rozumnějšího. AMD mě za ty necelé dva roky soužití opravdu nepřesvědčilo, že je to to pravé, tak jsem se jako bývalý spokojený uživatel Nvidie 7600GT rozhodl vrátit k "osvědčené značce", která za tu dobu přidala podporu randr a už léta jí funguje akcelerace HD videa. Vybral jsem si tedy pěknou novou GTX 650 za cca 2600,- Kč oplývající v podstatě stejným výkonem, zato poloviční velikostí, příkonem v klidu asi o 80W menším a doufal ve světlé zítřky. Už jsem klikal na tlačítko "Koupit", když mi v poště přistála nabídka od kamaráda, kterému zbyl fungl nový Radeon HD7750 od MSI, což je výkonově to samé, jen od AMD. Má nabídka 500,- Kč (za stejnou cenu semi podařilo prodat ten vyhrkaný přímotop) sice akceptována nebyla, ale 700,- je stále cena neodolatelná, zvláště když karta oplývá konektivitou, kterou jsem požadoval. Nechal jsem si konečné rozhodnutí až po testech na mém systému, ale nepředpokládal jsem, že bych kartu vracel..



Spotřeba HD7750 je opravdu minimální

HD7750 je opravdu úsporná jak na místo, tak na napájecí konektory a energii. Dokonce je k dostání i v low profile verzi. Karta v dlouhodobějším klidu má mít příkon 3W a při normální činnosti na akcelerovaném desktopu není spotřeba o moc větší, oficiálně pod 10W. Můj wattmetr to potvrzuje, spotřeba grafiky je opravdu zanedbatelná. Což je skvělé, neboť opravdu platíte (elektriku) jen za hodnoty, které karta vytvoří. Má předchozí HD4870 je oproti tomu nejnenažranější karta všech dob a i když nic užitečného nedělá, přeměňuje kolem 90W na teplo. Můj C2D desktop se třemi pevnými disky žral neuvěřitelných 180W když se flákal,  s HD7750 je to polovina. Maximální příkon by měl být 55W a HD7750 tak ani nepotřebuje žádné přídavné napájení (oproti třeba zmíněné konkurenční GTX650), vystačí si s tím co dá sběrnice PCI-E bez ohledu na její verzi. Větrníky na plastovém deklu laciného hliníkového chladiče jsem kvůli hluku, který produkují i bez zatížení karty, sundal a nahradil jedním 80mm ventilátorem Noctua, který jsem nechal běžet na neslyšných 1300 otáčkách. Při mém běžném využití má GPU stále kolem od 30 do 40 ºC.

Unity OK, GS stále na houby s fglrx

Open source ovladač radeon v  jsem zatím nezkoušel, nasadil jsem proprietární fglrx ve verzi 12.8 a později i 12.9 beta.
Zdá se, že oproti HD4870 se nic nezměnilo ovladač se chová stále stejně, tedy v GNOME Shell stále i přesun okna vytáčí CPU na desítky procent, což smysl nedává, když to má dělat GPU. Vlastně přece nová pozitiva - zatím mi počítač nevytuhl při přepínání monitorů se zapnutou likvidaci tearingu.
V Unity s Compizem nemám žádný problém, to se také nezměnilo. Opravdu výjimečně se objeví nějaké ty vizuální kraviny v extrémnějších situacích, například po probuzení, ale většinou stačí přepnout na jiný monitor a zpět a ono se to zas spraví. Začala mi také padat plasma v KDE 4.9, ale bůh ví, čím to je, protože mezitím jsem ho nechal chvíli běžet na starší Intel grafice, která to rozhodně nezvládala, zatímco na HD4870 to předtím běželo celkem stabilně.

XBMC - akcelerace H.264 stále problém

Bohužel se toho moc nezměnilo ve funkčnosti akcelerace H.264 videa, kde 1080p opravdu na full HD monitoru nefunguje bez poskakování a artefaktů v obraze. Píšu na full HD monitoru, neboť třeba na 19" monitoru je to lepší a neškube všechno. Zas až tak mě to netrápí, většinu toho CPU zvládne s rezervou, ale je zjevné, že AMD není volbou pro HTPC s nějakým Atomem, tady je za Nvidií léta pozadu. Na Linuxu.
Podle vyjádření vývojářů XBMC je problém v tom, že ovladače AMD nepodporují H.264 level 5 a problém je i s MPEG2. AMD údajně jen slibuje a tvrdí, že na tom dělá. Snad se jim to někdy podaří.

XBMC (které je u mě výhradní aplikací pro domácí "kino") již dříve podporovalo intelácké VA API přes které se dalo využít XvBA (video akcelerace) AMD karet, ovšem vyžadovalo to pár úprav oficiálních knihoven. Pár nadšenců se začalo zabývat přímou podporou XvBA v XBMC a ačkoliv to není součástí aktuální oficiální verze, byl založen repozitář, který nabízí XBMC zkompilované s touto funkčností pro testování. Bohužel, jak jsem zmínil výše, stále způsobuje více problémů, než užitku.
Repozitář si můžete přidat takto:

sudo add-apt-repository ppa:wsnipex/xbmc-xvba

Pak již jen aktualizovat apt a udělat upgrade, případně instalaci balíku xbmc, pokud ještě nemáte.

Nvidiácké VDPAU už léta podporuje každý přehrávač, s AMD a jeho XvBA je to stále jen záležitost nadšenců, kteří jsou ochotni něco investovat a přitom toho příliš nezískat, protože akcelerace když selhává, tak se na poskakující obraz nedá dívat a kdo by to stále dokola zapínal a vypínal..

Více o laborování s XvBA a VA API v mém starším příspěvku.

Připojení třech monitorů

Jelikož mám tři monitory, z nichž dva menší 1280x1024 mám na pracovním stole a další 1920x1200 používám pro sledování videa v poloze ležmo, začal jsem laborovat se zapojením a konfigurací.

HD7750 má tři výstupy - DisplayPort, HDMI a DVI-I. Všechny tyto výstupy umožňují připojit klasické DVI monitory, v případě DP i HDMI pomůže redukce a DVI-I lze zas redukovat na zastaralé analogové VGA. Součástí balení grafických karet bývají redukce DVI-I > VGA, maximálně HDMI > DVI. Redukci DP > DVI je možné také dokoupit, pokud je potřeba, jen stojí o trochu víc - kolem 200,- Kč.

Výstup xrandr pro HD7750 vypadá následovně (aktivní jsou monitory a rozlišení, u kterých je hvězdička):

gdh@gdh-EP45-UD3P:~$ xrandr
Screen 0: minimum 320 x 200, current 2560 x 1024, maximum 4480 x 1920
DFP1 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 376mm x 301mm
1280x1024 60.0*+
1280x960 60.0
1280x768 60.0
1280x720 60.0
1024x768 60.0
800x600 60.3
640x480 59.9
DFP2 disconnected (normal left inverted right x axis y axis)
DFP3 disconnected (normal left inverted right x axis y axis)
DFP4 disconnected (normal left inverted right x axis y axis)
DFP5 connected 1280x1024+1280+0 (normal left inverted right x axis y axis) 338mm x 270mm
1280x1024 60.0*+
1280x960 60.0
1152x864 75.0 60.0
1280x768 60.0
1280x720 60.0
1024x768 75.0 70.1 60.0
800x600 72.2 75.0 60.3 56.2
640x480 75.0 72.8 67.0 59.9
DFP6 connected (normal left inverted right x axis y axis)
1920x1200 60.0 +
1920x1080 60.0
1600x1200 60.0
1680x1050 60.0
1400x1050 60.0
1280x1024 60.0
1440x900 60.0
1280x960 60.0
1280x800 60.0
1280x768 60.0
1280x720 60.0
1024x768 60.0
800x600 60.3
640x480 59.9
CRT1 disconnected (normal left inverted right x axis y axis)


Karta zjevně dává přednost displejům s nižším číslem v názvu a protože DVI má číslo 6 (přesněji DFP6), není to zrovna vhodný výstup pro primární monitor. Naopak DisplayPort má 1 a je to jasná volba. Pouze první dva připojené monitory zobrazují  celý průběh bootu systému až do přihlašovací obrazovky, dále to závisí na konfiguraci xorgu.

Při konfiguraci monitorů v zásadě postupuju jako jouda, tedy v ACCC si naklikám všechny monitory do režimu multi-display, toto nastavení se po potvrzení zapíše do xorg.conf a tím mám zajištěno nastavení dostatečně velké virtuální plochy, aby se mi tam vešly libovolné monitory vedle sebe a také zápis konfigurace všech monitorů. Pak si přímo v souboru /etc/X11/xorg.conf upravím parametry pro každý monitor, či přesnou velikost virtuální plochy podle potřeby. Hlavní je, že je vše zapsané od ACCC a mohu hotovou strukturu jen doladit, nemusím řešit jak ty parametry přesně zapsat. Pokud potřebuju za provozu přepnout monitory do jiné konfigurace, použiju vlastní klávesové zkratky, které spouští můj skript s patřičnými parametry a ten pomocí xrandr povolí/zakáže/umístí monitory, jak je třeba.
Monitory lze samozřejmě přepínat i v klikátku Displays, které obsahuje přímo Unity, ale pro častější přepínání to moc praktické není, i když stále lepší, než ACCC. Každopádně si zde můžete naklikat, na kterých monitorech se bude zobrazovat Launcher.

Skript jsem si napsal takovýto:

#!/bin/bash

[ -z $1 ] && a=0 || a=$1
if [ $a -eq 1 ];
   then xrandr --output DFP1 --off --output DFP5 --off --output DFP6 --mode 1280x1024
elif [ $a -eq 2 ]
   then xrandr --output DFP1 --off --output DFP6 --mode 1280x1024 --primary --output DFP5 --mode 1280x1024 --left-of DFP6
elif xrandr --current |grep -q "connected 1920"; then
   xrandr --output DFP1 --off --output DFP5 --off --output DFP6 --mode 1280x1024
else
   xrandr --output DFP6 --off --output DFP5 --off --output DFP1 --mode 1920x1200
fi
exit 0

Při spuštění s parametrem `1' aktivuje pouze hlavní 19" monitor a ostatní vypne, s parametrem `2' rozšíří plochu 19" na vlevo sousedící 17" (za 50,- Kč..) a v ostatních případech cyklicky přepíná mezi 19" a 22". No, vlastně jsem si nakonec nastavil ten monitor napravo, i když je vlevo, protože zatím neumím nastavit Ubuntu tak, aby mi bralo pravý monitor jako primární a nepřesouvalo mi při rozšíření plochy všechna okna na levý monitor. Ale popravdě, nedělá mi překvapivě problém přejíždět myší z monitoru na monitor druhou stranou, než je logické :)

Unity se v dvoumonitorovém desktopu chová vesměs slušně, při stisku klávesy Super se Dash zobrazí tam, kde je ukazatel myši a i aplikace z Launcheru i z Dashe spouštěné, startují na příslušném monitoru. Většinou tedy, jsou i případy, kdy to bezdůvodně selže. Ale pamatuji horší časy, kdy se i kontextová menu aplikací zobrazovala sice na správné pozici, ale na jiném monitoru.

Více k xrandr jsem tu už psal dříve.

Závěr

Vlastně ani nevím, o kolik by to bylo lepší s Nvidií. AMD HD7750 se používat určitě dá, i se třemi monitory, i když jedna plocha se přes všechny tři najednou rozprostřít nedá, dva ale zvládá dobře a víc zatím nepotřebuju. Poslouchá to xrandr, tudíž mě, zatím se mi systém ani jednou nezasek nadobro a tak jsem za ty spokojen. Zvláště když provoz je úplně zadarmo, když zrovna neproháníte nějaké náročnější 3D aplikace. V Unity je každopádně práce s vícemonitorovým desktopem pohodlnější, protože každý z monitorů může mít stejnou výbavu co se panelu, Launcheru a Dashe týká, kdežto GShell funguje jen na primárním monitoru, alespoň já se dál nedostal. A nakonec má HD7750 dostatek výkonu, aby si mohl člověk zahrát i nějaké ty hry se slušným 3D vizuálem. Takže jen ta podpora H.264 zaostává, snad to AMD brzy dohoní.
3.10.12 - udělal jsem upgrade na Ubuntu 12.10 a zdá se, že situace se zlepšila - zatím akcelerace fungovala na všech H.264 videích!!! S fglrx z oficiálního repozitáře Ubuntu.

Žádné komentáře:

Okomentovat

Zkuste prosím při komentováni používat místo volby Anonymní volbu Název/adresa URL, kde vyplníte nějakou přezdívku, adresu zadávat nemusíte. Vědět, které příspěvky jsou od jednoho člověka, je fajn. Díky.

Pokud by se vám náhodou odeslaný komentář na stránce nezobrazil, vytáhnu ho z koše hned jak si toho všimnu. I Google spam filter se občas sekne.