If you like OpenBh and you want to see it continue, please don't forget to donate towards keeping the servers online.
Keeping OpenBh and this Forum online is getting more and more expensive. It costs in the region of €2400+ per year to keep OpenBh and this Forum online. OpenBh has always been provided to completely free of charge by a number of hard working OpenBh Team members in their spare time.
OpenBh 6.0 is based on the OE-Alliance 6.0 core.
So what is different in OpenBh 6.0 then?
The main change from version 5.6 to version 6.0 has been changes to oe-alliance-core branch 6.0. The OE (Open Embedded) core on which the image is built has undergone major changes, updates and fixes. Version 6.0 uses Python version 3.14.6.
Whats New:
OE-A 6.0
Python 3.14.6
Gstreamer updated to version 1.28.4
HDR10 / HLG detection now supported on Vu+/ Gigablue / Zgemma 4K broadcom boxes.
If your favourite plugins no longer work, you will need to contact the plugin authors to ask them to update their plugins for Python3.14.6
PLEASE KEEP IN MIND THAT OE6.0 Branch is currently still considered beta, therefore future updates could require full reflashes, rather than simple online updates. However nothing new is being added to the old 5.6 branch and rather than wait months and months for OE6.0 to go to full release stage, we feel it is currently very stable and good enough for release.
*** You can not online update from 5.6 to 6.0, you must reflash (you can do this using image and backup manager and then restore your settings backup) ***
Apart from the above you should not notice many differences between previous OpenBh 5.6 and OpenBh 6.0 images.
*** NOTE ***
If you use CrossEPG, then you will need to delete the crossepg folder in /media/usb or /media/hdd before you can use it in OpenBh 5.4 onwards, this is due to changes made, to keep it compatible with Python 3.12.x
Vu+ Multiboot wouldn't have been possible without the hundreds of hours that dpeddi has spent over several years (yes it's been an on going project for him in his spare time for many years) to bring this real multiboot option for all Vu+ 4K boxes.
It is something we requested from Vu+ around 2015 and they told us it was not possible to add it, well finally we can prove them wrong.
You will find more information on how to setup and use Vu+ Multiboot here:
Thanks to:
Rytec, doglover and all the teams that host EPG feeds for EPG Importer, for their continued support.
All developers for their plugins used in the feeds of this image.
dpeddi for the massive amount of work he did to bring real Multiboot to Vu+ 4K boxes.
Twol for the work he did in integrating Vu+ Multiboot into the images
All of the OpenBh Beta team for their hours of testing and dedication on improving the image.
All those who have submitted patches/fixes
To all who have submitted translation work for OpenBh.
Twol for the conversion to Python 3. This has involved manually converting literally hundreds of Python files and associated c++ code.
Huevos and Twol for testing, debugging, and responding to feedback and problems.
Huevos for his work on blindscan and ABM.
Peter de Jonge, abu baniaz & Huevos for their work with Andyblac to improve ABM.
Matrix10 for OpenBh skins.
DISCLAIMER
THE OPENBH IMAGE DOES NOT CONTAIN ANY EMULATOR, K E Y S, SOFTCAMS OR OTHER SYSTEM FOR VIEWING PAY - TV WITH OR WITHOUT A PAID SUBSCRIPTION.
THE OPENBH IMAGE DOES NOT CONTAIN ANY SYSTEM TO DOWNLOAD PLUGINS OR EMULATORS FROM EXTERNAL SERVERS OR SOFTWARE THAT MAY BE USED FOR ILLEGAL PURPOSES SUCH AS CARD SHARING.
WE NO LONGER SUPPORT THE FOLLOWING BOXES:
Vu+ Solo, Duo, Uno
Edision OS Nino Pro, OS Nino+, OS Mini 4K, OS Mio4k+
Amiko Viper4K V40
Zgemma H8.2H
Octagon Sfx6008/6018, Sx988, Sx88v2
*** You need to set a Password to use FTP, TELNET & SSH ***
DO NOT ONLINE UPDATE TO OpenBh 6.0.002 YOU WILL HAVE ISSUES IF YOU ATTEMPT TO ONLINE UPDATE.
As said in the post above currently OpenBh 6.0 is stable but still a beta branch, so that means frequent updates to OE-A git and those require full rebuilds which then breaks online update compatibility.
So to update to OpenBh 6.0.002 you must reflash the box, the quickest way to do this if you do not already know, is to go into Backup & Image manager, create a settings backup and then go into image manager and download the latest OpenBh image.
Then install that downloaded image and after the box reboots, restore the settings backup you previously created.
As above you can not online update to 6.0.002 you must reflash.
Added Support for Vu+ Duo4K Lite
Added Support for Zgemma H8.2H SE
Add real Audio Codec detection to Enigma2, Enigma2 can now detect the actual audio codec in use (Dolby Digital, Dolby Digital+, Dolby Atmos, AAC, HE-AAC, AAC-LC etc etc) and is able to display the correct codec in use, rather than just merge them all into AC3, AC3+, AAC labels.
Add real Audio channels detection to Enigma2, Enigma2 can now detect how many audio channels are in use, so it can now tell you if the content you are viewing is using 1 channel, 2 channels, 5.1 channels, or 7.1 channels (this is just telling you what the broadcast / source material provides, not what is actually being passed through to your audio equipment.
Added option to Transcode DTS / DTS-HD (MA / HRA etc) to Dolby Digital (useful for those that have tv's / audio equipment that does not support DTS).
Added option to Transcode Dolby TrueHD to Dolby Digital (most stb's can only downmix TrueHD to stereo pcm, so this is useful to retain surround sound).
Added dynamic converters for audio icons for skinners (so you don't need to list every audio codec icon in the skin.xml).
Fixed AC3 Passthrough_Fix on Ultimo4K / Duo4KSE on encrypted channels.
Fixed AC3 Passthrough_Fix on Ultimo4K / Duo4KSE on Stream-Relay channels.
[PluginBrowser] add recursive close
[PluginBrowser] tweak whitelist filtering
[TemplatedMultiContent] fix typo
[setup.xml] make "Infobar fade-out speed" subordinate to "Enable infobar fade-out"
Fix unreliable hardware alpha blending on forced acceleration targets
Refine video plane clearing and hardware blitting fallback
Refine UI rendering, alpha blending, and improve performance
[LanguageSelection] avoid chained MessageBoxes when deleting languages
[PluginDownloadComponent] scale icons to fit properly.
[LanguageSelection] add class LanguageDownloadBrowser
[PluginDownloadBrowser] allow calling code to supply its own "prefix_whitelist"
[PluginBrowser] update package filtering
[ConfigList] send description to choicebox
[ChoiceBox] free up "text" widget if not used for "title" handling
[elistbox] refine wrap-around logic to consider orientation for selection movement
[elistbox] fix wrap-around logic for selection movement at boundaries
[elistbox] ensure content is always painted to clear stale pixels
[elistbox] enhance selection movement with wrap-around functionality
[PluginBrowser] load default plugin icon only once
[README] add ccache
[PluginBrowser] switch to Components.Sources.List The skin xml is inspected on init and if the old name="list" is detected, Components.PluginList is loaded instead
Fix transparency and compositing order in immediate mode rendering
[FileList] inParentDirs(): fix parent directory checks incorrectly matching paths like /media/hdd2 as /media/hdd. getMountpoint() uses the same startswith() test, but its values include trailing slashes, so that test is safe.
[FileList] use path.join, not string concatenation
[TemplatedMultiContent] fix arithmetic bug Horizontal values were getting multiplied by the vertical multiplier and vice versa.
[FileList] fix long-standing bug directory always has a trailing slash, whereas return value from "path.realpath" has no trailing slash, so this condition always returned False
[FileList] getMountpoint/getMountpointLink: readability, argument is a directory, not a file
[FileList] expects "directory" to be an absolute path terminated with a trailing slash. Enforce that.
[PluginBrowser] - add Kodi Addon
[python_pmt_i] PyInt_FromLong to PyLong_FromLong
[nl.po] update
[eDVBServicePlay] - compatibility flags with OpenATV for plugins & webp
[RestoreWizard/BackupManager] add a watchdog for stalled plugin restores Instead of waiting indefinitely, like before, if there is no callback, after 5 minutes kill the running process and attempt to restore the next plugin
[Console] ePopen: avoid mutable default args (same pattern as eBatch)
[ServicePosition] various 1. Add complete skin arg list 2. Remove dead code 3. Tweak error message
[UsageConfig] use loop for repeating code
[tstools.cpp] attempt to fix spurious display of remaining time while watching movies that have suspicious .ap files When fixupPTS() is called with a PTS value up to 10 seconds before m_pts_begin (which can happen at the start of a recording when the .ap access-point table cannot resolve the exact position), the code is intended to clamp now to the recording start (0).
[CutListEditor] useability improvements to stp the interface jamming Author: @xcentaurix
[FixedMenu] add a default colour
[ColorizeText] add default option
[FixedMenu/CutListEditor] skip-over/grey-out non callable list items
[About] use ColorizeText class
[Hex2strColor] add ColorizeText class
[ServicePosition] refactor The original is ~350 lines of near-total duplication in getText() - every OSD branch had a byte-for-byte twin in the VFD branch.
[RemainingToText] Move module level format functions to a helper file
[RemainingToText] make formatters are module-level functions, not bound methods
[UsageConfig] build choice lists just once for repeating configs
[setup.xml] add reboot on "Show media playback remaining/elapsed"
[Converter.Remaining] Read "VFD" from "type" and then discard it from the string. - Work out what formatting is required in __init__ and apply it there. This allows getText() (the function that is continually polled) to do a lot less work. - Drop "self.type" and magic constants completely because all the work is done in __init__ . - Type "VFD" becomes "VFDInMinutes" (made backwards compatible). - Format functions moved out of the class to global level (allowing external use).
Accept the alternative color notation ; < = > ?) supported by gRGB.
[Renderer.Progress] ensure value stays in range
[Tools.Multiboot] rewrite some sections to improve readability by flattening Logic should be identical, and in testing debug prints the same as before.
[Multiboot] simplify Mainly use helpers to simplify precedural code. Use subprocess.run to completely replace Console().ePopen()
Scan - update progress after last scanned transponder
[Tools.Multiboot] add missing presets in init
[Multiboot] move multiboot initalisation out of SystemInfo and into Tools.Multiboot. Call directly from StartEnigma.
[Tools.Multiboot] add some helper functions to avoid code duplication
[Tools.Multiboot] add comment
[Console] add comment
[MultiBootSelector] - resolve mounted partition
[Multiboot] - ensure mounted volume is unmounted.
[Screens.ServiceInfo] avoid possible UnboundLocalError
[Multiboot] fix hidden bug "slotnumber not in bootslots" will always be true because slotnumber is str, and bootsloots has int keys
[Multiboot] fix error in previous commit. SystemInfo["MultiBootSlot"] is an int
[About] addColor: add compatability with d22a2c4ae7e263371c071fe810cc3007bfa36381
[Font] use \C to restore the original color - use \C to restore the default foreground color - \c changes the color only when followed by 8 valid hexadecimal digits - invalid \c sequences are rendered as normal text
[Tools.Multiboot] add missing assignment of "slot" to SystemInfo["MultiBootSlot"] Needs testing by someone that has this hardware.
[Tools.Multiboot] getBootCodeDescription: as this is a compatibility function, mimic OpenATV implementation
[Multiboot] remove slotname mutations from the active code while it is work in progress
[Console] fix crash when a callback-less command fails to launch
[BackupManager] remove unnecessary condition ("if self.didPluginsRestore or self.didSettingsRestore:" has already ruled out didSettingsRestore being True)
[BackupManager] various 1) Stage4Complete: remove popup. The user does not need a popup to tell them what they chose in the previous screen. 2) Previous behaviour if settings restore was declined and no plugins to restore, or on error was to just dump the user in the enigma menu without any warning. This commit shows an informative message and then returns to the backup list.
[BackupManager] delete a nonsense task
[BackManager] fix leak Move ActionMaps to __init__(). Previously the ActionMap was in populate_List, which is called from backupRunning() — which reschedules itself via self.activityTimer.startLongTimer(5) for as long as the screen stays open. Reassigning self["myactions"] to a brand-new ActionMap doesn't automatically release the old one in Enigma2; each new instance just gets pushed onto the action stack alongside the previous ones. Leave this screen open a while causes a slow leak.
[ImageManager] populate_List: always hide buttons and actions and only reinstate if the mount is available
[About] add handling to return to the default colour (set by the renderer) after text colour highlighting See: 25230f7066c0d95341ad8f2c453621b1512542dc
[About] colours: a single entry in skin parameters would not be comma separated and therefore an int, not a list
[font] - use \c escape sequence to restore previous color if not followed by 8 hex chars
[BackupManager] populate_List, fix hacky formatted string sort. Use tuple.
[BackupManager] populate_List exception: use OSError
[ImageManager] spelling error
[BackupManager] "populate_List", change inappropriate gui message on exception The previous message "Please reformat the device..." could be destructive
[BackupManager] "populate_List", add debug on exception
[BackupManager] "Stage2Complete" fix logic: "if" should be "elif"
[BackupManager] remove a str.replace This is a filepath not a url. Later "path.exists(thirdpartyPluginsLocation)" will fail if the path had contained spaces.
[BackupManager] correctly handle saving config
[BackupManager] fix operator precedence
[ImageManager] fix typo
[ImageManager] fix some obvious coding/syntax errors
[Navigation] Restore service references after stopService to maintain valid state
[Service] Optimize responsiveness and prevent UI freezes
Scan - include current transponder in progress calculation
[ClockRealtimeMonitor] improve error handling
[eTimer] remove the ASSERTs that were added in a previous commit
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.