In a previous post I described how to compile enigma2 for the sh4 architecture. In this follow-up post I describe what you would need in order to run it properly since there has been some confusion on how to execute a software that was created and tested for another architecture (mips).
As before, the procedure I describe was done on a STb7109 cut 3.0 board, also called cocoref MB442 from ST.
Enigma2 is a nice piece of software that runs without problems in a MIPS-based decoder like the DM8000 that contains a specific filesystem configuration and drivers written for that hardware. Obviously, these drivers are dependent of the underneath architecture and you cannot expect them to work in another architecture like the sh4.
The ideal solution to this issue would be to have a porting of enigma2 to the sh4, specifically to the Kathrein UFS-910. In fact, some guys (the Duck Tales team) ported enigma2 to this decoder that mounts an STb710x processor. Therefore, you would only need to download the source code (that is GPL), compile it, create the filesystem structure that enigma2 expects like the default skins that are in /usr/share/enigma2, and run it.
Unfortunately, I haven’t been able to find that source code nor to contact that team (feel free to contact me if you have information about where to download it or how to contact them).
The consequence of this fact is that you would have to download a ‘vanilla’ enigma2 and modify it according to the drivers that you have in your decoder or modify the drivers so they send/receive the data that enigma2 expects.
I chose the first option that seemed better in my case. Therefore, I started to modify enigma2 in at least the following areas:
- Modify the framebuffer access for the On-Screen-Display (OSD)
- Modify the front-panel LCD access
- Modify the infrared port (remote control) access.
- Create several soft links and new directories that enigma2 expects. Eg. I installed enigma2 in /usr/local, whilst in the dm8000 is in /usr.
- Substitute the use of /proc filesystem. Enigma2 uses information given by the /proc filesystem, this information basically does not change over time, so it can be substituted by normal files (this is done in the UFS-910).
Notice that in my case I’m not porting enigma2 to the UFS-910, but to a completely new board. This means that even if the processor is the same (an STb710x) the devices like the front-panel LCD are different. But if I had the enigma2 sources for the UFS-910, it would have saved me a lot of time because some of the aforementioned modifications would not be necessary (they would have been already included in those sources).
Conclusion, I hope this post clarifies all the doubts that compiling a ‘vanilla’ enigma2 for another architecture may not be sufficient for running it due to the fact that enigma2 is quite dependent of the Dreambox hardware.
I compiled vanilla enigma2 and started it on ufs910 with no luck.
I would be very happy to have “their” sourcecode, because i need the unicable support-Patch compiled in.
In fact they must release the Sourcecode for this, otherwise the would violate the GPLv2-License and the license of Dream Multimedia TV.
I read about it, that they will release something in the near future.
You can compile a vanilla enigma2 as you did, but it won’t work because you don’t have their modifications and it seems that they haven’t release them.
According to the Dream Multimedia proprietary license and the GPLv2 license they should release the code they modified.
I tried to contact them some time ago, but I didn’t get any answer.
Let’s hope they release the code any time soon.
i can asure you that the source of e2 will be released in near future 😉
Hallo my friend 😉
when will the source code for the ufs910 be released?
There is no info about when it will be released.
Some time ago I tried to contact the team that did the port, but I never got an answer. Othe people had the same luck.
You should have access here:
This is the git source repository. I have not investigated this any further…