Dreambox DM7000
Software
According to Felix Felix Domke, Software Developer with DMM, the DM7000 runs a linuxppc-2.4.2x-devel kernel, with some minor patches for the Memory Technology Device (MTD) mapping, among other things. "Basically, an unpatched linuxppc-2.4-devel. I have heard that a non-devel will boot, including network, ide, etc."
DMM chose not to use an off-the-shelf GUI/windowing system such as XFree86, Qt/Embedded,
Thomas Sabo T0150-007-6 Pendant, or Microwindows. Instead, the company built its own system, based on the standard Linux framebuffer. This offered the necessary features and a nice C++ interface "without being bloated like QTE." Domke notes, "I don't want to say that the alternatives were not good -- but they just didn't fit into 'our way' for the application. The limited 8MB Flash memory was a reason for not using a generalized GUI library. Of course, this is with the cost that we cannot use or embed standard components like a web browser without much work."
The Dreambox's main program, enigma, includes a built-in webserver, but Domke notes that some people are using thttpd or even apache as well as edonkey. "Basically, everybody's free to do anything with this box, but in our standard, tv-centric application we don't use many external applications."
Why Linux?
Domke says that DMM chose Linux because:
* no license fees for offering production quality features like tcp/ip, filesystem, driver framework, etc.
* less experience with other real time operating systems (RTOSs) like VxWorks
* the dreambox should always be "open" for everyone. This wouldn't be possible with commercial operating systems, and there wouldn't be so much acceptance among other developers.
Domke also mentioned a few considerations why some might not want to use Linux:
* more flash/ram overhead
* some performance overhead because of the kernel/user split, or at least it requires more thinking to work around these.