3D Support builds for Raspberry Pi

  • What's strange is that I tested a couple more full 3D ISO's, again with 'Automatic menu selection' enabled under Player settings, and the 'Select playback item' and actual Blu-ray menus worked well... for the most part. Video demo3 of other 3D ISO's, one fine, other with an issue.

    Claude analyses your log and code:

    The log settles it — it's not a bug in the menu code, it's Automatic menu selection doing exactly what it says, because his library items already carry a chosen playlist.

    The evidence

    Decoding what Kodi is asked to play for 3-D Rarities:

    Code
    20:56:54.954  OnPlayMedia bluray://udf:///storage/Videos1/Movies3D/3-D Rarities (2015).3D/
                              3-D Rarities (2015).3D.iso//BDMV/PLAYLIST/01001.mpls
    20:56:54.959  VideoPlayer::OpenFile: <same>

    The dynpath is a specific playlist, 01001.mpls — not the ISO. Follow that through GetMenuDecisions (ApplicationPlay.cpp:207 onward):

    • isBluray = IsBlurayDiscImage(item) → uses item.GetDynPath() and needs URIUtils::IsDiscImage() first. A bluray://…/01001.mpls path is not a disc image → false.
    • isBlurayPathtrue.
    • Setting is BD_PLAYBACK_AUTO, so useDiscMenuSetting, useMainTitleSetting, forceSelectionAtStart and mainTitle are all false.
    • if (isBluray && atStart && !mainTitle) — skipped, isBluray is false.
    • if (forceSelectionAtStart && isBlurayPath && atStart) — skipped, forceSelectionAtStart is false.
    • NO_ACTION, so it plays 01001.mpls straight off.

    No chooser, no "Show Blu-ray menu" entry, no DVD Menu in the OSD. All three symptoms, one cause. And BD_PLAYBACK_AUTO is commented "Only use simple menu if playlist not known" — the playlist is known, so it doesn't ask. Working as designed.

    His own log shows the contrast: across ~18 minutes the select dialog opens exactly once (Window Init (DialogSelect.xml) at 20:58:44), while the discs he plays as plain ISO paths — /storage/Videos2/Various/Best of 3D … .iso, IMAX Shaolin Bootcamp, Predator — go down the isBluray == true route.

    So my earlier candidate A (your f979f4c1b6 resume change) is not involved: isBluray is false regardless of atStart, so the resume point never enters into it.

    What changed for him

    Nothing in the decision logic — GetMenuDecisions is untouched on this branch apart from the resume commit. What changed is the stored dynpath: those two movies now resolve to 01001.mpls in his library, where previously the library held the ISO. That comes from playlist resolution at scan time (VideoInfoScannerGetOrShowPlaylistSelection(..., SILENT)), or from a title he picked once being saved. Either way, from then on AUTO stops asking.

    Worth telling him he can confirm it in seconds: play the same film from Files rather than the library and the chooser comes back, because the path is then the ISO.

    Two side observations from his log

    • GetDirectory - Error getting udf:///…/BDMV/META/TN — missing thumbnail directory, harmless noise.
    • bdj.c:795: BD-J check: Failed to load JVM library at 20:58:46 — the same aarch64 JVM-path bug I diagnosed and patched today, on his Pi 5. So any BD-J disc will fail for him too, and packages/multimedia/libbluray/patches/0002-java-arch-aarch64.patch would fix it for these builds.

    The real question

    This is a behaviour decision rather than a defect: should AUTO still offer the disc menu when the playlist is known? Right now "playlist known" removes the only route to the disc menu for a library item, which is what he's actually complaining about. Options, if you want to change it:

    • Have AUTO return SHOW_SIMPLE_MENU for isBlurayPath at start when the disc supports menus — restores his chooser, at the cost of a dialog on every library play.
    • Leave AUTO alone and make the disc menu reachable another way for a known playlist — e.g. keep the OSD "DVD Menu" action available whenever HasMenuSupport(), which is closer to what he expected ("no 'DVD Menu' option in the OSD either").
  • A longer video would be useful. 1s is too short (and really annoying to watch in YouTube where it keeps switching to another video…)

    I’m suspecting that’s more like a decode error than a 3d error.
    Does the glitch occur at the same timestamp every video?

    Have you tried multiple videos?

    A sample would be useful. e.g. cut a 1 minute chunk, confirm your can see the issue with it and then upload to google drive (or similar).

    You're right, the short video was initially meant for a direct forum upload, I apologise for the inconvenience. I made another sample for YT which is a bit longer: https://www.youtube.com/watch?v=j8CEo5qYYow -> Here the first glitch occurs at 0:09, a second at 0:32 and a larger third one at 0:41. (Sorry for the poor quality, the shaky setup in my workspace and the loss of quality due to the YouTube upload. I can upload it to a file host later if needed.)

    These glitches occur randomly, not at the same timestamps. In most cases, the first one occurs after 7–10 seconds, and the next one maybe after 30–60 seconds. But they never occur at fixed intervals, and they never disappear completely. Sometimes, as in the very short first YT video shown, they even occur while playback is paused. As soon as 3D is deactivated, they disappear. I don't experience these issues with a Zidoo connected to the same HDMI port on the projector. I also disabled the projector's FI, but it made no difference.

    Since I had some difficulty getting the PI5 to show up on the projector at all, I thought the issue might be specific to older HDMI 1.4a FHD 3D projectors.

  • (...)

    Since I had some difficulty getting the PI5 to show up on the projector at all, I thought the issue might be specific to older HDMI 1.4a FHD 3D projectors.

    ps: ChatGPT told me that a "HDFury Communicator Dr. HDMI 4K" may solve this issue - should give it a try?

  • I still don't think it's a display issue. More likely a decoder issue.

    My guess is a frame being played out of order.

    If you step frame by frame in youtube around 41s, I think you are getting a frame from the future (about 10 frames in advance).


    That feels like an MVC decode error. I'd need to get hold of a sample file that shows this error.

    Can you check if any MVC samples from https://kodi.wiki/view/Samples show this sort of issue?

    If so, do they all? If not, I'd need to get a short sample of one of your files.

  • This is a behaviour decision rather than a defect: should AUTO still offer the disc menu when the playlist is known? Right now "playlist known" removes the only route to the disc menu for a library item, which is what he's actually complaining about. Options, if you want to change it:

    • Have AUTO return SHOW_SIMPLE_MENU for isBlurayPath at start when the disc supports menus — restores his chooser, at the cost of a dialog on every library play.
    • Leave AUTO alone and make the disc menu reachable another way for a known playlist — e.g. keep the OSD "DVD Menu" action available whenever HasMenuSupport(), which is closer to what he expected ("no 'DVD Menu' option in the OSD either").

    Let me know what you think the right behaviour is. I believe currently it is behaving as designed - but as 3d doesn't have many users, it's possible the current design isn't ideal and could be changed.

  • That feels like an MVC decode error. I'd need to get hold of a sample file that shows this error.

    Can you check if any MVC samples from https://kodi.wiki/view/Samples show this sort of issue?

    If so, do they all? If not, I'd need to get a short sample of one of your files.

    I would bet it's not a MVC decode error, since:
    1. the same MVC files do play perfectly on the Zidoos I have (Z9X Pro and Z20 Pro)
    2. the glitches occur with every MVC file and also when playing FSBS 3D files. Basically, anything in 3D. And sometimes even when playback is paused. It basically happens when Kodi switches into 3D mode

    If you step frame by frame in youtube around 41s, I think you are getting a frame from the future (about 10 frames in advance).

    Precisely! That's the behaviour in every case. Sometimes it's more obvious, and sometimes it's so short that it's barely noticeable.

  • I would bet it's not a MVC decode error, since:
    1. the same MVC files do play perfectly on the Zidoos I have (Z9X Pro and Z20 Pro)

    I'm talking about the ffmpeg based MVC decoder (which is a new thing). The Zidoo is using a completely different (likely hardware) decoder.
    I don't think it's possible for it to be in the actual hdmi output path (it has no knowledge of a frame from 10 frames in the future).

    It's going wrong either in the decoder, or somewhere in the render path of kodi. But that wouldn't be affected by the type of display/projector used.

    If you add this advancedsettings.xml file:

    Code
    <advancedsettings>
     <video>
       <stereoscopicpreferframepacking>false</stereoscopicpreferframepacking>
     </video>
    </advancedsettings>


    it will disable framepacking and output as half-sbs (or half-tab). Is that any different?

    May be useful to disable 3d mode and look at the two halves - do both have a consistent glitch or just one eye?

  • Can you provide a sample file that includes varying depth in the subtitles?

    I have looked but it's been hard. I checked the example from https://kodi.wiki/view/Samples but that has static depth on the subtitles. I have a lot of ISOs but they are all around 40GB.

    But most commercial 3D Blu-rays have dynamic depth, especially from the "golden age" period around 2010-2015. Do you access to any Disney and or Pixar movies? I know for example that Cars 1, 2 and 3 all have unique 3d-plane with around 500-700 depth changes for each subttitle track.

    I will continue to look and see if I can find or produce a sample ISO.

  • I'm talking about the ffmpeg based MVC decoder (which is a new thing). The Zidoo is using a completely different (likely hardware) decoder.
    I don't think it's possible for it to be in the actual hdmi output path (it has no knowledge of a frame from 10 frames in the future).

    It's going wrong either in the decoder, or somewhere in the render path of kodi. But that wouldn't be affected by the type of display/projector used.

    If you add this advancedsettings.xml file:

    Code
    <advancedsettings>
     <video>
       <stereoscopicpreferframepacking>false</stereoscopicpreferframepacking>
     </video>
    </advancedsettings>


    it will disable framepacking and output as half-sbs (or half-tab). Is that any different?

    May be useful to disable 3d mode and look at the two halves - do both have a consistent glitch or just one eye?

    I created an advancedsettings.xml file in plain text format and placed it in the /userdata folder, but it still outputted 3D in frame packing format. However: Wouldn't the result be the same if I disabled stereoscopic mode in Kodi playback, so that it outputs a 2D image with both the left and right parts side by side? If yes: This gives me a steady smooth movement without glitches, as long as I don't set the projector manually into SBS 3D mode. As soon as I do this, the glitches occur again. I know this sounds weird ¯\_(ツ)_/¯

  • A debug log file will confirm if stereoscopicpreferframepacking setting has been read correctly.

    If you say you can watch a SBS video without glitches when 3D mode is disabled on projector, but it starts glitching when you press the 3D button on projector (which the Pi will have no knowledge of), it's hard to see how this is the fault of the Pi.

  • vobs

    Useful test. In settings/video can you change "PRIME Render Method" to "EGL"

    The performance will be worse, so not the fix, but an interesting data point if that fixes the glitches.

    When you say you've seen the glitch when paused, I assume you mean you've captured a static instance of the glitch (rather than it continues to glitch while paused)? With paused glitch on screen, can you enable/disable 3d mode on projector and report?

    "ps: ChatGPT told me that a "HDFury Communicator Dr. HDMI 4K" may solve this issue - should give it a try?" - No, it won't fix this.

  • A debug log file will confirm if stereoscopicpreferframepacking setting has been read correctly.

    If you say you can watch a SBS video without glitches when 3D mode is disabled on projector, but it starts glitching when you press the 3D button on projector (which the Pi will have no knowledge of), it's hard to see how this is the fault of the Pi.

    Totally agree, that's what I meant by 'sounding weird'.. But I have news: I just tried another 3D projector — a Vivitek H1188. It's lamp-based, but has a similar age and specs like the SIM2 Nero 3 Plus LED (HDMI 1.4 and 144 Hz triple flash 3D). And surprise: no issues there! To be sure, I tested DLP Link and RF 3D — both worked without a single glitch. The SIM2 has no issues with Zidoo hardware-coded 3D, but definitely with the current PI5 Kodi/LibreELEC version.

  • popcornmix, for my edification, is the MVC decoder in your MVC solution ffmpeg and s/w based, and not h/w and Broadcom SoC-based? Asking because w/RPi3, believe it was h/w based.

    Also, I personally don't use menus for 99% of my BD/UHD rips. Only have a couple of full ISO's for those that have a lot of playlists and/or separate titles, where having menus do help vs. getting in the way of getting quickly/directly to the main feature.

    And this may be an apples vs. oranges comparison, but have been helping test 3D/2D ISO's w/menus with @avdvplus' latest R10 CE test builds, and they're working perfectly. Took him numerous attempts, but he finally did it. If helpful, I can ask him to share any dev insights here that might help w/your LE test builds.

    Just tested the same movie (A Turtle's Tale: Sammy's Adventures) in vobs clip above w/Pi5. Played well on my end w/XGIMI Titan Noir Max. Watched about 30 mins.

  • popcornmix, for my edification, is the MVC decoder in your MVC solution ffmpeg and s/w based, and not h/w and Broadcom SoC-based? Asking because w/RPi3, believe it was h/w based.

    Also, I personally don't use menus for 99% of my BD/UHD rips. Only have a couple of full ISO's for those that have a lot of playlists and/or separate titles, where having menus do help vs. getting in the way of getting quickly/directly to the main feature.

    And this may be an apples vs. oranges comparison, but have been helping test 3D/2D ISO's w/menus with @avdvplus' latest R10 CE test builds, and they're working perfectly. Took him numerous attempts, but he finally did it. If helpful, I can ask him to share any dev insights here that might help w/your LE test builds.

    Just tested the same movie (A Turtle's Tale: Sammy's Adventures) in vobs clip above w/Pi5. Played well on my end w/XGIMI Titan Noir Max. Watched about 30 mins.

    Software/ffmpeg based decoder. Which I have attempted to upstream.

    That route was chosen as Pi5 doesn't contain the hardware MVC (or H.264) decoder and its CPU is more than fast enough.

    Sure, any "lessons learned" with menus would be useful.

    vobs' issue is hard to understand. Nothing makes much sense. Seems to be a fault of the projector, but it presumably only applies to some configuration. vobs Do you have any picture processing options on projector? (e.g. motion smoothing, de-noising etc? I'd be tempted to turn everything off). If you can configure the input as a PC rather than a BluRay that often disables processing to reduce latency.

  • vobs' issue is hard to understand. Nothing makes much sense. Seems to be a fault of the projector, but it presumably only applies to some configuration. vobs Do you have any picture processing options on projector? (e.g. motion smoothing, de-noising etc? I'd be tempted to turn everything off). If you can configure the input as a PC rather than a BluRay that often disables processing to reduce latency.

    I turned off everything related to picture processing on the projector. I don't understand it either. Regarding the HDMI inputs, there is no configuration option apart from Source Lock and HDMI Link (which is turned off). I have now ordered an HDFury Communicator HDR HDMI 4K from a nearby store to see if it makes any difference with this box in between.

  • On Claude's suggestion above: "Worth telling him he can confirm it in seconds: play the same film from Files rather than the library and the chooser comes back, because the path is then the ISO."

    I did try this, and it still goes directly to the main title, no chooser. Also rebooted Pi, and same behavior. But, with the other ISO's, the IMAX one and 'Best of 3D' compilation, I get chooser.

  • On Claude's suggestion above: "Worth telling him he can confirm it in seconds: play the same film from Files rather than the library and the chooser comes back, because the path is then the ISO."

    I did try this, and it still goes directly to the main title, no chooser. Also rebooted Pi, and same behavior. But, with the other ISO's, the IMAX one and 'Best of 3D' compilation, I get chooser.

    Can you provide a debug log when playing from files? Claude would appreciate it.

  • I have now ordered an HDFury Communicator HDR HDMI 4K from a nearby store to see if it makes any difference with this box in between.

    No success even with the HDFury Communicator HDR HDMI 4K in between :cry:

    (....)

    But wait wait wait!!! I Think I found it: Just went through all the projector settings again and switched "HDMI LINK" ON. And boom! Not one single glitch since then (the movie has been playing for 10 minutes now - fingers crossed...). Why this? 8|

    Edited once, last by vobs (August 27, 2026 at 8:54 PM).