I tried a number of Linux based upnp / dlna servers. I'm running Mandriva Linux 2008.0. Here's what I've had success with. In the 2 that worked (mediatomb and ushare) they both had a longish pause before the first song started playing, and between tracks. Watching the network traffic on my linux box, it looks like it streams all or most all of the mp3 to the PS3 before it starts playing... that's annoying. The linux box is very fast - a dual core AMD, 2gb ram, SATA drive. The PS3 is on 802.11g wifi, if I had it on wired ethernet the pause would probably be a lot less.
mediatomb version 0.10. You need to edit your ~.mediatomb/config.xml and add the line (I put it at the end of the server section):
This enables dlna support that the PS3 needs.
To start, use the cmd:
mediatomb -a /path/to/mp3s
Mediatomb also has a web interface, but I didn't find it that useful. It does export my m3u playlists.
ushare version 1.0 works with this cmd line:
ushare -v -d -n -c /path/to/mp3s
The "-d" is needed to tell it to use dlna. The -v is for "verbose", this is optional.
ushare didn't support the .m3u playlists, so I had to drill down to the folder and start the first song (they're all numbered, i.e. 01_my_track.mp3 so they play in order anyway). The PS3 does load the next song in the folder, after the aforementioned long pause.
I also tried gmediaserver, but it would get the dreaded DLNA protocol error on the PS3. Could be that there's a newer version of it that fixes this.
I didn't try video or pictures yet...
Hope this helps some of you looking for a free / linux based DLNA solution.