Zum Pi-Day (14.3. – mathematisch vorgebildete Leser müssen die englische Datumsnotation berücksichtigen, um den Gag zu kapieren, alle andern müssen zusätzlich Pi auf zwei Nachkommastellen genau kennen) hat die Raspberry Pi Foundation mal wieder nachgelegt und eine neue Modellvariante des allseits beliebten „SBC“ auf den Markt geworfen. Gegenüber dem Vorgänger hat sich der maximale Takt leicht von 1,2 GHz auf 1,4 GHz erhöht, der SoC hat einen metallischen Headspreader bekommen um die Wärme besser abführen zu können, WLAN wurde verbessert indem ac unterstützt wird und auch das 5 GHz-Band bedient wird, und es ist nun endlich Gigabit Ethernet an Bord – da gibt es zwar den kleinen Haken, dass es intern weiterhin am USB2.0 hängt und damit physisch auf 480 MBit/s abzüglich USB-Protokolloverhead abzüglich der Bandbreite anderer angeschlossener USB-Geräte limitiert ist, aber nichtsdestotrotz sind die erreichbaren Übertragungsraten dadurch trotzdem deutlich höher als zuvor.
Seit wenigen Tagen gibt es nun im RISC OS-Nightly-Build die erweiterte Version von EtherUSB, die in der Lage ist den Netzwerk-Chip korrekt anzusteuern. Gelegenheit für mich, eine frische RISC OS-Version auf die Pis zu bringen und gleichzeitig mich mal um die passende Ansteuerung meines nagelneuen 4K-Monitors (iiyama G-MASTER GB2888UHSU-B1, ein 28-Zöller mit besagten 3840×2160 Pixeln Auflösung).
4K ist leider keine Auflösung, die der Pi „einfach so“ kann, da muss man frickeln. Außerdem hatte ich noch kein passendes MDF für die RISC OS-Seite, und dann war da noch die potenzielle Problematik inwiefern die HDMI-Kabel das mitmachen und inwiefern der HDMI-Switch (nominell 4K-fähig) in die Suppe spuckt.
Der HDMI-Switch machte keine Probleme, die Kabel konnten es ebenfalls, und so präsentiere ich hier nun den 4K@24Hz MDF-Eintrag, erzeugt mit Chris Gransdens Portierung von cvt http://www.riscosports.co.uk/cvt.zip, der zusätzlich MDF-Einträge erzeugen kann (läuft offenbar noch nicht auf dem Pi 3):
# 3840 x 2160 (24.00Hz) Reduced Blanking (CVT) startmode mode_name:3840x2160 CVT x_res:3840 y_res:2160 pixel_rate:209750 h_timings:32,80,0,3840,0,48 v_timings:5,17,0,2160,0,3 sync_pol:3 endmode
Damit der Pi diese Auflösung kann, muss man folgendes in die config.txt bringen (komplette für RISC OS geeignete config.txt, nicht nur die für 4K notwendigen Teile!):
fake_vsync_isr=1 init_emmc_clock=100000000 kernel=RISCOS.IMG # needed for correct RGB ordering for RISC OS framebuffer_swap=0 # disable overscan disable_overscan=1 # Ignore EDID hdmi_ignore_edid=0xa5000080 # no disabling of HDMI in DPMS mode hdmi_blanking=0 # 1 = DVI, 2 = HDMI (with sound) hdmi_drive=2 # 0-11 - 5 is default, try 7 if interferences are seen config_hdmi_boost=5 # force HDMI screen mode # group=0: EDID auto detect, group=1: CEA, group=2: DMT hdmi_group=2 # screen mode # CEA modes: # 16 = 1920x1080@60 # 16,31,32,33,34 = 1920x1080@60,50,24,25,30 Hz # DMT modes: # 4 = 640x480@60 Hz # 9 = 800x600@60 Hz # 16 = 1024x768@60 Hz # 77 = 2560x1600@60 Hz # 84 = 2048x1152 reduced blanking # completely custom mode definition: # hdmi_cvt=<width> <height> <framerate> <aspect> <margins> <interlace> <rb> # margins=0 no margins, 1=margins # aspect=3 16:9, 1 4:3, 5 16:10 # interlace=0 progressive # rb=1 reduced blanking # hdmi_mode=87 selects this custom mode for DMT, 65 for CEA hdmi_cvt=3840 2160 24 3 0 0 1 hdmi_mode=87 # special timings - sometimes needed for specific monitor needs if generic CVT does not work # hdmi_timings=<h_active_pixels> <h_sync_polarity <h_front_porch> <h_sync_pulse> <h_back_porch> <v_active_lines> <v_sync_polarity> <v_front_porch> <v_sync_pulse> <v_back_porch> <v_sync_offset_a> <v_sync_offset_b> <pixel_rep> <frame_rate> <interlaced> <pixel_freq> <aspect_ratio> hdmi_timings=3840 1 48 32 80 2160 1 3 5 54 0 0 0 24 0 211190000 3 # only provide the modes specified above hdmi_force_mode=1 # force larger framebuffer - includes possible overscan! framebuffer_width=3840 framebuffer_height=2160 max_framebuffer_width=3840 max_framebuffer_height=2160 # pixel frequency limit hdmi_pixel_freq_limit=400000000 # GPU memory in megabytes, default is 64, minimum is 16 gpu_mem=64 # Set USB power limit to 1,2A for all ports max_usb_current=1
Es gibt keine Garantie, dass der Pi das abkann. Es gibt Berichte im Netz, dass man das Dingens zusätzlich übertakten muss, sowohl CPU als auch GPU. Bei mir war das im Falle des Pi 3B+ nicht notwendig, bei den anderen Modellen steht der Test noch aus.
Und dann noch für unfallfreie ADFFS-Anymode-Unterstützung folgendes in die cmdline.txt:
disable_mode_changes
Mit diesem Eintrag nagelt man den Pi-Videooutput auf genau eine Auflösung fest und überlässt dem Videoscaler des Pi die Anpassung der RISC OS-Auflösung an die Hardware-Auflösung.
4K ist echt super…auf 28″ vielleicht ein wenig klein, aber ich bin ja noch jung 🙂 Mit demselben MDF-Eintrag kann übrigens auch der ARMX6 (Wandboard Quad) 4K@24 Hz.
Inwiefern höhere Bildwiederholraten funktionieren, muss ich noch prüfen. In Zeiten von LCDs ist deren Nützlichkeit ja aber eher begrenzt, solange der Monitor es syncen kann, da scheint der Iiyama sehr flexibel.