How to install the TwonkyMedia UPnP server on Solaris

TwonkyVision running in an lx branded Zone on Solaris, streaming music to a PS3. 

In my last post, I compiled an installed the MediaTomb UPnP server on Solaris in order to stream movies, photos and music to my PS3 and it worked well. But I wasn't quite satisfied with it's features: No support for tags/covers in AAC encoded music (>95% of my music library is encoded in the superior AAC format) and a few other quirks here and there. So I decided to try the TwonkyVision TwonkyMedia server.

Unfortunately, the guys at TwonkyMedia (now PacketVideo) don't support their TwonkyVision server on Solaris (yet?). Only Linux, Windows and MacOS X are supported. The absence of answers to a Solaris request post in their forum isn't very encouraging. TwonkyMedia is closed source and only commercially available (EUR 29.95) which means you can't even compile it yourself on Solaris. At least there's a trial period of 30 days. Does this mean no ZFS and other Solaris goodness to TwonkyMedia?

Fear not, this is exactly what Branded Zones in Solaris 10/OpenSolaris are all about! They allow you to install a  Linux distribution inside a Solaris 10 Container. The BrandZ framework then seamlessly translates Linux systemcalls into Solaris systemcalls. The result: All the goodness of Solaris, such as ZFS, FMA, DTrace and whatnot, even for closed source or otherwise problematic Linux applications. So, here's how to run the TwonkyMedia server on a Solaris x64/x86 machine (sorry, no SPARC, different CPU architecture):

  • Set up a standard lx branded Zone. Here's a short and sweet tutorial on how to do it. In my case, I used ZFS for the zone root path. This gives me compression and the ability to snapshot the Linux root filesystem whenever I like.
  • I used the CentOS tarball from the BrandZ download area to install a standard CentOS zone. Quick, easy, free, works well for most cases.
  • After having installed the CentOS Linux branded Zone and before the first boot, it is a good idea to make a ZFS snapshot of the root filesystem, just in case. You can later use the snapshot to revert the zone to it's freshly installed state or to easily clone more zones like this in the future.
  • After the first boot of the Linux zone with zoneadm -z zonename boot, you can login to it's virtual console using zlogin -z zonename. Now, setup basic networking from  inside the Linux zone by editing the /etc/sysconfig/network file. Then, you can login through ssh -X into the Linux zone and run graphical configuration tools such as redhat-config-network to configure DNS, set up users, etc.
  • Now, download the TwonkyMedia server from the Linux zone by using wget and follow the TwonkyMedia installation guide.
  • You should now have the TwonkyMedia server up and running from within a Linux branded zone on Solaris! Connect to it through your webbrowser at http://your.servers.ip.address/:9000 and configure it's various settings to your taste.

This is it, actually it's much easier than compiling MediaTomb, but it comes at the cost of having to pay after the trial period, if you like it. Above, you see a picture of TwonkyMedia, running in an lx branded zone on Solaris, streaming AAC music from my favorite Chilean band "La Ley" to a PS3. Notice the cover art and song info to the bottom left that is not available with MediaTomb today for AAC encoded music.

I'm now going to write to the TwonkyVision support department at and ask for a real Solaris version. After all, if they expect their customers to pay for software, they ahould at least provide a real binary. If you're interested in getting TwonkyMedia to run natively on Solaris too, join me and send emails of your own to them or post to their forums.


constantin, have you also done this with xVM?

Posted by tom scott on April 01, 2008 at 08:44 AM CEST #

Hi Tom,

thank you for your comment.

No, not yet. One reason is that I'm still running a sixty-ish build of Nevada on my home production server. I'm waiting for Indiana to be production ready before I upgrade.

But the biggest reason is: You don't have to. Using a branded zone is much more simple and efficient for this kind of work (Linux binary on Solaris) than using a fully virtualized xVM. Of course, it should "just work", though.


Posted by Constantin Gonzalez on April 01, 2008 at 09:15 AM CEST #

constantin, thanks for the information. i feel inspired to give it a try. it's always nice to stay "close to the metal", in this case using the lx brandz instead of the more complicated xVM.

another question based on your mention of UPnP in the blog: have you looked at DLNA (digital living network alliance at UPnP and DLNA are complementary technologies. It appears that DLNA would give our mutual friends who are working on JavaFX an industry standard compliant network to demonstrate their rich content and applications on diverse "screens".

For example, I could use a DLNA-compliant cell phone or PDA to send a message ("Come to dinner. Now.") to my son who is playing a game on some kind of device that happens to be DLNA compliant. In this scenario we would be using JavaFX apps on top of the DNLA stack. Is anyone at Sun talking about this?

Then one more step in the extrapolation: Combining JavaFX, DLNA, and IMS. I think that would be profitable.

-- TT

Posted by tom scott on April 01, 2008 at 10:12 AM CEST #

Hi Tom,

the TwonkyMedia server is DLNA compliant, so it should "just work" with any DLNA compliant UPnP media renderer. Since the DLNA specs aren't free, there is no official DLNA certification for MediaTomb, but it is reported to work with many DLNA compliant devices.

Yes, the combination of UPnP, DLNA and JavaFX is very appealing, but I'm not personally involved in our JavaFX efforts. I suggest you visit in order to get in touch with the right people.


Posted by Constantin Gonzalez on April 01, 2008 at 10:33 AM CEST #

Post a Comment:
Comments are closed for this entry.

Tune in and find out useful stuff about Sun Solaris, CPU and System Technology, Web 2.0 - and have a little fun, too!


« July 2016