Hallo,
ich will versuchen, ähnlich wie fnu etwas zu schreiben über eine möglicherweise interessante Hardwareplattform für einen 2014er-VDR. Fnu hatte in der letzten Zeit folgende interessanten Reviews gepostet:
- [Review] ASRock H81M-HDS & Intel Celeron G1820 (Haswell cheaptrick)
- [Review] ASRock Q1900M (Intel Bay Trail-D)
Ich möchte in diesem Thread nach und nach Informationen präsentieren zu der Kombination aus Mainboard ASRock B85M-HDS und CPU Intel Celeron G1820 (Haswell). Wenn jemand von Euch das gleiche Mainboard einsetzt, könnt Ihr ja gern auch hier Eure Erfahrungen posten.
Dieses Posting wird mit der Zeit ergänzt, immer wenn ich Zeit finde und neue Erkenntnisse habe. Ich habe die Hardware erst seit ein paar Tagen. Das Review ist noch nicht abgeschlossen.
Zielsetzung
Es soll zunächst ein möglichst stromsparender VDR vom Typ "Receiver" gebaut werden, also ein VDR sowohl mit Video-Ausgabe über HDMI als auch Sat-Doppeltuner. Dabei soll geprüft werden, wie gut sich das Mainboard ASRock B85M-HDS eignet für einen stromsparenden VDR. Gemessen wird der Stromverbrauch mit einem günstigen Gerät TCM 248735 (Tchibo)., also alle Angaben ohne Gewähr. Das Gerät soll aber nicht schlecht sein: http://www.heise.de/video/artikel/Irrlichter-1508129.html
Da die Eignung der Hardware für den Typ "Receiver" aber erst nach dem Review/Test geklärt ist, ist es möglich, dass sich die Hardware im Endeffekt vielleicht eher für den Typ "VDR-Client" oder "VDR-Server" eignet. Das wird sich herausstellen. In Zeiten von kleinen Formfaktoren von Raspberry Pi, ARM-Boxen, Intel Nuc usw. haben klassische Formfaktoren es schwer. Die Frage ist, ob die Haswell-Plattform attraktiv genug bleibt für den Bau von VDRs im Jahr 2014.
Wie soll die Videoausgabe realisiert werden? Hier stehen grundsätzlich Nvidia-VDPAU über gesteckte Nvidia-Karte zur Auswahl oder Intel-VA-API über die in der CPU integrierte Grafik. Beides soll getestet werden, von der Bildqualität her und auch vom Stromverbrauch beider Lösungen.
Verwendete Hardware
Gründe für das Mainboard ASRock B85M-HDS (µATX)
- Günstiger Haswell-Einstieg: Mit einem Preis von ca. 45 Euro liegt das B85M-HDS nur 10 Euro über dem Preis des günstigsten erhältlichen Haswell-Boards überhaupt und auch nur ein paar Euro über dem günstigen "Cheaptrick"-Mainboard, welches fnu in seinem Review eingesetzt hat (Link zum Review siehe oben).
- Sparsamkeit: Das Mainboard war mir aufgefallen, weil es im Hardwareluxx-Forum als sehr sparsames Mainboard präsentiert wird: User Chres berichtet dort, dass er via Undervolting den Verbrauch unter Windows gut drücken konnte. (Das kleinere ASRock B85M-ITX wird dort auch als sehr sparsam dargestellt, ist aber MiniITX und hat deshalb nur 1x PCIe 3.0 x16. Das reichte mir nicht, aber für einen reinen VDR-Client würde es wohl ganz gut dastehen, ist aber etwa 20 Euro teurer als das HDS.)
- Pro4-Variante war im c't-Test: Im c't-Artikel "Leistung ohne Reue: Mainboards für Intels Haswell-Prozessoren" (Heft 16/2013, S. 142) wurde das verwandte Mainboard Asrock B85M Pro4 als besonders sparsam im Stromverbrauch herausgestellt (das war allerdings zeitlich vor der Krönung des Intel DH87RL). Einige Kollegen hier im Portal haben dieses Pro4-Mainboard auch schon im VDR-Portal diskutiert. Da das Pro4 mehr Features aufgelötet hat (die ich nicht brauche), war meine Hoffnung, dass die HDS-Variante eventuell noch einen Deut freundlicher ist im Energieverbrauch. Die einzige Angabe zum Energieverbrauch eines Pro4-VDRs habe ich hier gefunden: 47 Watt.
- Per IR-Fernbedienung einschaltbar: Asrock-Boards haben oft einen CIR-Header (bei Haswell im Einzelfall genau prüfen!), mit dem man einen IR-Empfänger anbinden kann, der den Rechner auch einschalten kann. Wie das konkret laufen kann, hat ofenheizer hier erklärt.
- CPU-Aufrüstbarkeit bei Haswell-Plattform: Das von fnu getestete sehr attraktive Baytrail-Mainboard ASRock Q1900M mit aufgelöteter CPU hat seinen Reiz, aber der Aufpreis zur hier vorgestellten Haswell-Kombi (Board+CPU) ist mit weniger als 20 EUR nicht extrem groß. Dafür erhält man ein Haswell-Mainboard, welches zwar im idle wahrscheinlich mehr Energie verbraucht als die Baytrail-Lösung. Man kann es im Haushalt aber auch mal für Aufgaben einsetzen, wo mehr Performance gefragt ist: Der Haswell-Celeron ist performanter als der Baytrail-Atom und ein späterer CPU-Tausch wäre auch denkbar, um die Leistung erheblich zu erhöhen. (Falls mir dieses Mainboard nach meinem Review nicht als VDR-Basis gefällt, wollte ich es ggf. als Xenserver-Plattform nutzen mit einem Core i5.)
Low-Budget-Alternative: Wer sich für den Haswell B85-Chipsatz interessiert, aber das Asrock-Board zu teuer findet, kann sich mal das derzeit acht Euro billigere MSI B85M-P33 anschauen und für uns reviewen. Das Board hat aber selbst keinen HDMI-Ausgang, ist also ausnahmslos nur für Nvidia-VDPAU-Gläubige geeignet! Es hat leider auch keinen CIR-Header. Ein Review zu diesem MSI-Board gibt es bei Phoronix.
Anmerkung: Achtung, das Board hat keinen S/PDIF-Ausgang!
Die Komponenten (Die Links führen zur geizhals-Preissuchmaschine)
- Mainboard: ASRock B85M-HDS mit BIOS 1.60, Handbuch: PDF
- CPU: Intel Celeron G1820 (mit boxed-Lüfter im Einsatz)
- GPU: ZOTAC GeForce GT 630 Zone Edition Passiv 1GB ( GK208 ) (passt von der Höhe her ins ML03B, wenn Querstange montiert ist, kann man den Deckel auch nicht "runterdrücken")
- SSD: 128GB SanDisk Solid State Disk 2.5" (6.4cm) SATA MLC asynchron (SDSSDP-128G-G25)
- DVB-S2-Dual-Tuner: Cine S2 V 5.5 (keine Neu-Anschaffung)
- BluRay-Laufwerk: LG Electronics BH16NS40
- Case: Silverstone ML03B
Als Netzteil und RAM sind momentan folgende Produkte im Einsatz (das kann sich mit der Zeit ändern, die sind nicht speziell für diesen Haswell-VDR angeschafft worden):
- PSU: 450 Watt Corsair CS Series Modular 80+ Gold (geeignet für Haswell C6/C7)
- RAM: Ein einzelner 4 GB Riegel vom Kit Corsair XMS3 DIMM Kit 8GB, DDR3-1333, CL9-9-9-24 (CMX8GX3M2A1333C9) (Dieses Kit war Ende 2012 mal wesentlich billiger als heute!)
Pläne für zusätzliche Hardware
Was kommt später noch zusätzlich rein an Hardware (... und wird den Stromverbrauch in die Höhe treiben)?
- Eine zusätzliche Festplatte als Medienplatte
- Lüfter: Ich wollte zusätzliche Lüfter ins Gehäuse setzen, aber gestern Abend lief das System geschlossen auf dem Schreibtisch und die Temperaturen blieben niedrig, obwohl nur das Netzteil und die CPU einen Lüfter haben. GPU-Temperatur blieb unter 50° und CPU-Temperatur blieb zwischen 30° und 40. Evtl. reicht ein zusätzlicher Gehäuse-Lüfter aus, aber man muss das auch noch im TV-Schrank genau beobachten, weil da das Gehäuse nicht so gut umlüftet wird wie auf dem Schreibtisch.
- Ein IR-Empfänger für den CIR-Header
Ausgangspunkt: Stromverbrauch ohne Tuning
OS: trusty-yavdr (basierend auf Ubuntu 14.04, Kernel 3.13)
Konfig: VDR 2.1.6, softhddevice, skin nOpacity ( Nvidia VDPAU @ Nvidia Treiber 331.38 mit De-Interlacing temporal_spatial für SD und HD)
Tuning: Keinerlei Tuning über Powertop oder Kernelparameter, also nur Package State C2. (Hier bleiben wichtige Stromsparfunktionen ungenutzt.)
Aktive Hardware im Gehäuse: Mainboard+CPU+RAM+PSU+SSD+Nvidia-GPU (es fehlt: DVB-S2-Karte, optisches Laufwerk)
Verbrauch bei Live-TV-Betrieb [SD, HD@720p, HD@1080i] über vdr-streamdev-client ohne eigene DVB-Hardware:
- bei aktivem softhddevice (attached): 28-32 Watt
- bei inaktivem softhddevice (detached): 27 Watt
(FullHD-Monitor war jeweils angeschaltet und über HDMI angebunden.)
Stecke ich die DVB-S2-Sat-Dualtunerkarte Cine S2 V 5.5 hinzu (ohne angeschlossene Kabel), erhöht sich der oben genannte Verbrauch um 4-5 Watt. Mit Sat-Kabeln muss ich es noch testen in den nächsten Tagen.
Den Stromverbrauch kann man sicherlich noch weiter beeinflussen, soweit bin ich noch nicht gekommen. Habe nur mal 10 Minuten im UEFI-BIOS ein paar Stromspar-Einstellungen aktiviert. Undervolting ist ja theoretisch auch noch denkbar, siehe oben.
Tuning-Möglichkeiten für Ubuntu mit Powertop, BIOS, Treibern und Kernelparametern
Ein geringer Stromverbrauch im idle-Betrieb hängt stark vom Erreichen von bestimmten Haswell Core und Package C-States ab. Die CPU erreicht meist Core C-State C6 (C7 ist mit Celeron nicht möglich), laut Doku sollte dann auch das Erreichen von maximal Package C-State C6 möglich sein.
Beim Erreichen von höheren Package C-States sieht es folgendermaßen aus: Es existieren laut Intel folgende Package C-States: "C0, C1/C1E, C3, C6, and C7 (on some SKUs)" Quelle: Intel-Doku. Das Tool Powertop 2.5 benennt aber nur C2, C3, C6 und C7. Mit einer Default-Installation von Ubuntu 14.04 wird bei mir nur Package-C-State C2 erreicht. Durch ein paar einfache Stromspar-Optimierungen über powertop und das Setzen von pcie_aspm=force wird Package-C-State C3 erreicht (was subjektiv eine Einsparung von 1-2 Watt bedeutet). Nach Austausch des aktiven Netzwerktreibers (r8169 wird durch Installation von r8168-dkms inaktiv) kann ich Package C-State C6 erreichen, was subjektiv eine Einsparung von 5-7 Watt im idle bedeuten kann, wenn gleichzeitig auch der Bildschirm via DPMS aus ist. C6 ist jedoch auf meinem System bisher nur dann erreichbar, wenn keine PCIe-Karten in den PCIe-Slots des Mainboards stecken und wenn das System ansonsten auch nicht ausgelastet ist (einen Film schauen in XBMC über die integrierte Intel-GPU belastet das System, so dass C6 während dieser Zeit nicht aktiv wird). Ist eine Nvidia-GPU oder eine DVB-S2-Sat-Karte (oder beide) eingesteckt, wird nur noch C-State C3 erreicht. Diese Erkenntnis ist etwas ernüchternd, da damit das Stromsparpotential im VDR-Betrieb nicht ausgereizt werden kann.
Meine bisherigenTuning-Versuche (in diesem Thread dokumentiert) beinhalteten folgende Veränderungen am Stock-Ubuntu:
* Im BIOS habe ich alle Stromspareinstellungen gesetzt. [Bei Gelegenheit gehe ich hier mehr ins Detail.]
* Powertop: Alle bad's auf good. (außer USB-Maus und USB-Tastatur, ist sonst nervig, weil dauernd beide Geräte ausgeschaltet werden).
* Parameter für Kernelmodule setzen: pcie_aspm=force in die Grub-Konfiguration aufzunehmen. Einige i915-Parameter sind noch interessant
* Netzwerktreiber wechseln durch Installation von r8168-dkms in Version 8.038.00-1
* Intel-P-State-Treiber aktivieren und auf Governor "powersave" stellen.
Hier finden sich erstmal allgemeine Ubuntu-Tipps zum Power-Saving.
Ich kopiere hier mal rein, was Powertop anbietet. Es erscheint mir sinnvoll, alles zu aktivieren außer: das Deaktivieren von WOL, der USB-Tastatur und der USB-Maus.
Spoiler anzeigen
#!/bin/bash
#Autosuspend for USB device USB Keyboard [Chicony]
#echo 'auto' > '/sys/bus/usb/devices/3-3/power/control';
#Autosuspend for USB device USB-PS/2 Optical Mouse [Logitech]
#echo 'auto' > '/sys/bus/usb/devices/3-4/power/control';
#Wake-on-lan status for device p3p1
#ethtool -s p3p1 wol d;
#VM writeback timeout
echo '1500' > '/proc/sys/vm/dirty_writeback_centisecs';
#Enable SATA link power Management for host0
echo 'min_power' > '/sys/class/scsi_host/host0/link_power_management_policy';
#Enable SATA link power Management for host1
echo 'min_power' > '/sys/class/scsi_host/host1/link_power_management_policy';
#Enable SATA link power Management for host2
echo 'min_power' > '/sys/class/scsi_host/host2/link_power_management_policy';
#Enable SATA link power Management for host3
echo 'min_power' > '/sys/class/scsi_host/host3/link_power_management_policy';
#Enable SATA link power Management for host4
echo 'min_power' > '/sys/class/scsi_host/host4/link_power_management_policy';
#Enable SATA link power Management for host5
echo 'min_power' > '/sys/class/scsi_host/host5/link_power_management_policy';
#Enable Audio codec power management
echo '1' > '/sys/module/snd_hda_intel/parameters/power_save';
#NMI watchdog should be turned off
echo '0' > '/proc/sys/kernel/nmi_watchdog';
#Runtime PM for PCI Device Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
echo 'auto' > '/sys/bus/pci/devices/0000:02:00.0/power/control';
#Runtime PM for PCI Device Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller
echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.3/power/control';
#Runtime PM for PCI Device Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode]
echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.2/power/control';
#Runtime PM for PCI Device Intel Corporation 4th Gen Core Processor DRAM Controller
echo 'auto' > '/sys/bus/pci/devices/0000:00:00.0/power/control';
#Runtime PM for PCI Device Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller
echo 'auto' > '/sys/bus/pci/devices/0000:00:02.0/power/control';
#Runtime PM for PCI Device Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1
echo 'auto' > '/sys/bus/pci/devices/0000:00:1c.0/power/control';
#Runtime PM for PCI Device Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller
echo 'auto' > '/sys/bus/pci/devices/0000:00:03.0/power/control';
#Runtime PM for PCI Device Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1
echo 'auto' > '/sys/bus/pci/devices/0000:00:1d.0/power/control';
#Runtime PM for PCI Device Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4
echo 'auto' > '/sys/bus/pci/devices/0000:00:1c.3/power/control';
#Runtime PM for PCI Device Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller
echo 'auto' > '/sys/bus/pci/devices/0000:00:1b.0/power/control';
#Runtime PM for PCI Device Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2
echo 'auto' > '/sys/bus/pci/devices/0000:00:1a.0/power/control';
#Runtime PM for PCI Device Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1
echo 'auto' > '/sys/bus/pci/devices/0000:00:16.0/power/control';
#Runtime PM for PCI Device Intel Corporation B85 Express LPC Controller
echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.0/power/control';
#Runtime PM for PCI Device Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI
echo 'auto' > '/sys/bus/pci/devices/0000:00:14.0/power/control';
Alles anzeigen
Wenn die Cine S2 5.5 DVB-S2-Karte im PCIe x1 Slot steckt, bietet Powertop noch zwei Optionen für diese Karte an:
Spoiler anzeigen
#Runtime PM for PCI Device Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #6
echo 'auto' > '/sys/bus/pci/devices/0000:00:1c.5/power/control';
#Runtime PM for PCI Device Micronas Semiconductor Holding AG nGene PCI-Express Multimedia Controller
echo 'auto' > '/sys/bus/pci/devices/0000:03:00.0/power/control';
Idle-Verbrauch nach Tuning
Verbrauch im asketischen System
asketisch = so wenig aktive Hardware wie möglich
Hardware im System: PSU + Mainboard + CPU + boxed Lüfter + RAM + SSD + optisches Laufwerk (keine PCIe-Karten, keine DVB-Tuner)
Netzwerkkabel steckt, Display über HDMI angebunden, USB-Maus und Tastatur
Idle-Verbrauch unter Windows 8.1 (Auflösung 1920x1080)
Lässt man Windows 8.1 einige Zeit in Ruhe, pendelt sich der Stromverbrauch im idle bei um die 17 Watt ein. Dabei wird Onboard-Grafik genutzt, es sind keine PCIe-Karten gesteckt, und es sind einige für's Stromsparen nötige Treiber installiert.
Schaltet sich dann das Display ab nach einigen Minuten, geht der Stromverbrauch nochmal um ein Watt runter.
Idle-Verbrauch unter Ubuntu 14.04 (und 14.10 alpha)
Um das Ergebnis vorwegzunehmen: Nach all meinen bisherigen Tuning-Versuchen (unten beschrieben) komme ich unter Ubuntu bei einer Auflösung von 1920x1080 (FullHD) nicht unter einen idle-Verbrauch von 21 Watt bei aktiver integrierter Intel-GPU und ohne PCIe-Karten. Schaltet sich das Bild über DPMS ab, geht der Verbrauch runter auf 14/15 Watt. Diese Ergebnisse lassen sich nur erzielen, wenn keine PCIe-Karten gesteckt sind. Diese Ergebnisse gelten sowohl für das normale Ubuntu mit Unity-Desktop als auch für trusty-yavdr mit openbox. Der idle-Verbrauch ist nur bei ruhendem Desktop zu erreichen (ohne Video-Playback), unter trusty-yavdr also, wenn softhddevice detached ist. Ich habe Ubuntu 14.04 mit Kernel 3.13 und Ubuntu 14.10 (alpha-Status) mit Kernel 3.16 getestet. Der neuere Kernel brachte keine spürbaren Verbesserungen, trotz neuer Stromspar-Features im neueren Kernel.
Unter 21 Watt bei aktivem Bild (ruhender Desktop) komme ich nur, wenn ich die Bildauflösung reduziere (genaue Angaben weiter unten im Thread - bei 1280x720 (HDReady) bin ich bei 17 Watt). Die aktive Bildwiederholfrequenz hat auch Einfluss auf den Stromverbrauch: FullHD bei 50Hz spart bei mir ein Watt gegenüber 60 Hz.
Verbrauch im System mit DVB-Tunern
OS: trusty-yavdr (Ubuntu) (Verbrauch nicht unter Windows getestet, aber C6 wird bei gesteckten PCIe-Karten unter Windows 8.1 auch nicht erreicht)
Wenn DVB-Hardware angeschlossen ist, ist das System so belastet, dass es nicht mehr im Package-State-C6 herumdümpelt. Diese Aussage muss man noch präzisieren:
Bei Nutzung von USB-Tunern kann ich noch den C6 erreichen, solange der VDR-Daemon inaktiv ist bzw. er die Tuner nicht einbindet. (Detachen der Tuner über dynamite ungetestet)
Bei Nutzung meiner PCIe-Express-Karte ist der C6 gar nicht erreichbar (solange die Karte im System steckt).
Dadurch ist der Verbrauch mit angeschlossenen DVB-Tunern deutlich höher als die eben genannten Werte. Bei abgeschalteter Videoausgabe kommt man mit Glück knapp unter 30 Watt Verbrauch.
Gruß
hepi