3D Support builds for Raspberry Pi

  • Long ago, when the firmware offloaded much of the mediaplayer, 3D videos worked well on Pi.

    I'd always had a desire to add add it back into the new, arm-side architecture (I do still own a 3D capable TV), but it's hard and low priority.

    However Claude does make tasks like this much quicker, and I think I've got something testable.

    What works:

    • Support of 3D infoframe signalling of supported hdmi modes.
    • Support of 1080p24 FP (frame packing timing)
    • Video decode of half and full SBS/TAB files with mapping of the left/right eye to correct SBS/TAB/FP mode of display.
    • DRM Prime D2P and EGL modes
    • The GUI/subs etc works in 3d modes.
    • MVC decode
    • Bluray ISO playback


    Recommended settings:

    • Player/Videos
      • Defaults are fine (DRM PRIME/Direct to Plane gives best performance, but EGL rendering should also work).
      • "Playback mode of stereoscopic 3D video" is "ask me" by default (which is fine) but you may want to set it to "preferred"
      • You do want "Adjust display refresh rate" to be "On Start/Stop".
    • System/Display
      • "Stereoscopic 3D mode / Current" leave as "Disabled"
      • "- Preferred mode" defaults to "Same as movie" which is fine(*)


    (*) FP mode supports the full 1920x1080 resolution (SBS and TAB half the resolution).

    If your movies are half-SBS or half-TAB, then "same as movie is fine".

    If they are full-SBS or full-TAB then you ideally want FP mode.

    If you set "preferred mode" to "over/under" and your display supports FP, then that should be selected by default.


    The whitelist now shows the 3d variants of hdmi modes and can be used for greater control of which 3d modes are used, but a blank whitelist should also work.


    Latest (ffmpeg 9) builds:

    Pi4 build here

    Pi5 build here

    Kodi tree: here


    Older ffmpeg8 builds:

    Pi4 Build: here

    Pi5 Build : here


    Even older builds:
    Pi4 Build : here

    Pi5 Build : here

  • Hey popcornmix , think I'll give this a try and help how I can, namely w/testing. Need to order a RPi5 first :) ... some questions before I do (as I haven't used a Pi since Pi3 B+):

    • Supports HD/object based audio? Quick AI query says yes; is it?
    • Supports 4K HEVC and HDR10, but not HDR10+ and DV? AI says correct; true?

    Is the 4GB RAM Pi5 board good enough, or is 8GB necessary?

    Thanks.

  • Supports HD/object based audio? Quick AI query says yes; is it?
    Supports 4K HEVC and HDR10, but not HDR10+ and DV? AI says correct; true?

    Is the 4GB RAM Pi5 board good enough, or is 8GB necessary?

    HD audio and 4K/HEVC and HDR10/HLG are supported but not dynamic formats like HDR10+ and DV

    4GB is fine, 8GB not necessary unless planning to run other things in the background.

  • Is the plan to fold 3D MVC/FSBS support into mainline LE for RPi, or keep it as a fork (which I'm assuming this is for now)?

    Currently a fork (the link to kodi tree is in first post).

    I will try upstreaming to kodi (but may wait for current release to be branched).

    I'd also like to upstream MVC to ffmpeg (it's a software decoder, but makes use of existing h.264 simd code, so has decent performance).

    The patches are all generic, so should be usable on other platforms.

  • Thanks so much for this. The ISO playback is working on the Panny TV and Valerian Projector (though not auto-detecting). Are there any plans for mkv? I've tried all ways of naming and all play 2D regardless.
    Think the projector is not adverting all its modes though (just that its 3D capable). The whitelist does not show all the modes it supports like the TV. Is there a way to override this (like with Vero 5 had to add them in the disp_cap_3d file). But this is really good news and Linux with an MVC decoder could be a real thing one day.

  • mkv should just work. If it doesn't post mediainfo for your mkv file.

    Post "kmsprint -m" output when connected to your projector.

    "edid-decode /sys/devices/platform/gpu/drm/card0/card0-HDMI-A-1/edid" output would also be useful.

    A debug enabled log file would be useful when trying to play a file that fails.

  • Finally got my RPi5 and will test shortly. Initially, wouldn't boot and gave me an error, was baffled, then realized I downloaded the Pi4 image. popcornmix, your links are reversed. The Pi4 build link takes you to the Pi5 image download.

  • Finally got my RPi5 and will test shortly. Initially, wouldn't boot and gave me an error, was baffled, then realized I downloaded the Pi4 image. popcornmix, your links are reversed. The Pi4 build link takes you to the Pi5 image download.

    Thanks - I've flipped them. I'll probably push a bleeding edge build later that uses ffmpeg 9.