tag:blogger.com,1999:blog-138529832024-03-19T10:06:51.551+00:00Nuggets of VinRandom meanderings of a tech slave and bicycle engine.Anonymoushttp://www.blogger.com/profile/11328803239964768305noreply@blogger.comBlogger10125tag:blogger.com,1999:blog-13852983.post-84115328877927802042013-06-30T14:25:00.000+01:002013-06-30T15:12:21.508+01:00AIM Media Center Remote Control RC118 with Linux and XBMCBought myself a new <a href="http://www.maplin.co.uk/windows-media-centre-remote-control-218643" target="_blank">remote control from Maplin</a> yesterday for my media centre running XBMC on Linux (Debian Testing). It's an AIM Media Center Remote Control, model RC118 and only costs £20.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjldG_RIXu0MO5J0igZKEK6uVjQH99Y7CJi-bzUBgJS3vUtpEMye_X90igALEJisinhxylCg4vTmSv6ryd3OnFZ-2EGrAChy7IN5Ov92PBNjgiAuxgVaqqB5tpL1fvNbfd20arE/s700/AIM_RC118W_MCE_REMOTE.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjldG_RIXu0MO5J0igZKEK6uVjQH99Y7CJi-bzUBgJS3vUtpEMye_X90igALEJisinhxylCg4vTmSv6ryd3OnFZ-2EGrAChy7IN5Ov92PBNjgiAuxgVaqqB5tpL1fvNbfd20arE/s700/AIM_RC118W_MCE_REMOTE.jpg" height="320" width="131" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
It's nicely made for the price, the only cons are that it's got a Windows logo on one button (uck!) and unlike <a href="http://www.maplin.co.uk/media-centre-ir-remote-385365" target="_blank">my old remote (also from Maplin)</a> not all the buttons work 'out of the box' on Linux & XBMC.<br />
<br />
The 'pro' of this remote however is that it's a 'standard' MCE RC6 remote so the buttons can be translated and mapped with lirc. I couldn't do this with my old remote as it emulates a keyboard device.<br />
<br />
For a relatively popular remote, surprisingly little information can be found on the web on how to set it up properly with lirc and XBMC, just the usual array of forum posts and incomplete or non-working advice. So some reading was required of the <a href="http://www.lirc.org/html/configure.htm">lirc</a> & <a href="http://wiki.xbmc.org/index.php?title=Userdata/lircmap.xml">XBMC's Lircmap.xml</a> documentation.<br />
<br />
So here's the solution, if you discount creating the map files (as I've supplied them here) it's actually very simple. I've tested this on Debian (Testing) & Fedora 18 so I assume this would work just as well on derivatives such as Ubuntu/Mint and CentOS/RHEL respectively.<br />
<br />
<h2>
So first, install lirc...</h2>
Either use your preferred software installer GUI or save time by opening a terminal & using the command line;<br />
<h4>
On Debian & Ubuntu</h4>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> sudo apt-get install lirc
</code></pre>
<h4>
On Fedora</h4>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> sudo yum install lirc
</code></pre>
<h2>
</h2>
<br />
<h2>
Configure lirc</h2>
The lirc daemon is configured with the file /etc/lirc/lircd.conf.<br />
In the terminal, you can open this file for editing in gedit (or your preferred text editor);<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> sudo gedit /etc/lirc/lircd.conf
</code></pre>
Append the following text your lircd.conf.<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> begin remote
name rc118
bits 13
flags RC6|CONST_LENGTH
eps 30
aeps 100
header 2700 855
one 486 419
zero 486 419
pre_data_bits 24
pre_data 0x1BFF83
gap 107341
min_repeat 1
toggle_bit_mask 0x8000
rc6_mask 0x100000000
begin codes
Power 0x1BF3
Record 0x1BE8
Stop 0x1BE6
Pause 0x1BE7
Rewind 0x1BEA
Forward 0x1BEB
Previous 0x1BE4
Play 0x1BE9
Next 0x1BE5
Zoomout 0x1BD9
Zoomin 0x1BDA
Eject 0x1BB7
Select 0x1BDB
Menu 0x1BF2
Back 0x1BDC
Info 0x1BF0
Up 0x1BE1
Down 0x1BE0
Left 0x1BDF
Right 0x1BDE
OK 0x1BDD
Vol+ 0x1BEF
Vol- 0x1BEE
Chan+ 0x1BED
Chan- 0x1BEC
Mute 0x1BF1
PICTURES 0x1BB6
VIDEOS 0x1BB5
MUSIC 0x1BB8
1 0x1BFE
2 0x1BFD
3 0x1BFC
4 0x1BFB
5 0x1BFA
6 0x1BF9
7 0x1BF8
8 0x1BF7
9 0x1BF6
0 0x1BFF
Star 0x1BE2
Hash 0x1BE3
Clear 0x1BF5
Keyboard 0x1BA5
Edit 0x1BF4
Red 0x1BA4
Green 0x1BA3
Yellow 0x1BA2
Blue 0x1BA1
end codes
end remote
</code></pre>
<h4>
On Debian...</h4>
The Debian package of lirc comes with a /etc/lirc/hardware.conf file, the Fedora install does not and just works without one. On Debian I had to also amend the hardware.conf file by amending the DRIVER & DEVICE variables to...<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> DRIVER="default"
DEVICE="/dev/lirc0"
</code></pre>
This is likely to be the same for most installations but if in doubt of what your device is, look in /dev;<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> ls -l /dev/lirc*
</code></pre>
<h4>
Restart lirc</h4>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> sudo service lirc restart
</code></pre>
<br />
<h2>
Configure XBMC</h2>
XBMC already comes with a set of key maps for remote controls via lirc in the file /usr/share/xbmc/system/Lircmap.xml. You can also have a user specific Lircmap.xml in your ~/.xbmc/userdata directory.<br />
Here we'll put our mappings for our 'rc118' lirc remote (this name being defined in our /etc/lirc/lircd.conf file) to our user Lircmap.xml file.<br />
<br />
In a terminal, open a new file in gedit (or your preferred text editor);<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> gedit ~/.xbmc/userdata/Lircmap.xml
</code></pre>
Paste the following text into your new file;<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> <lircmap>
<remote device="rc118">
<mypictures>PICTURES</mypictures>
<liveradio>RADIO</liveradio>
<myvideo>VIDEOS</myvideo>
<mymusic>MUSIC</mymusic>
<record>Record</record>
<pause>Pause</pause>
<stop>Stop</stop>
<skipminus>Previous</skipminus>
<play>Play</play>
<skipplus>Next</skipplus>
<reverse>Rewind</reverse>
<forward>Forward</forward>
<start>Menu</start>
<back>Back</back>
<info>Info</info>
<volumeplus>Vol+</volumeplus>
<volumeminus>Vol-</volumeminus>
<left>Left</left>
<right>Right</right>
<up>Up</up>
<down>Down</down>
<select>OK</select>
<channelplus>Chan+</channelplus>
<channelminus>Chan-</channelminus>
<mute>Mute</mute>
<recordedtv>Eject</recordedtv>
<guide>Zoomout</guide>
<livetv>Zoomin</livetv>
<menu>Select</menu>
<one>1</one>
<two>2</two>
<three>3</three>
<four>4</four>
<five>5</five>
<six>6</six>
<seven>7</seven>
<eight>8</eight>
<nine>9</nine>
<star>Star</star>
<zero>0</zero>
<hash>Hash</hash>
<clear>Clear</clear>
<teletext>Keyboard</teletext>
<enter>Edit</enter>
<red>Red</red>
<green>Green</green>
<yellow>Yellow</yellow>
<blue>Blue</blue>
</remote>
</lircmap>
</code></pre>
Save your new file. <br />
<br />
<h2>
Disable the remote's kernel driver</h2>
Now the RC118 remote is handled by lirc you have no need for the Linux kernel to handle it. To prevent XBMC from receiving input from both lirc and xinput (resulting in double key presses for those buttons that <i>did</i> work out of the box) you need to disable the relevant kernel module.<br />
<br />
Unload the RC6 decoder driver with the following command;<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> sudo modprobe -r ir_rc6_decoder
</code></pre>
To disable this driver so it's not loaded when the system is booted, blacklist it as follows;<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> echo "blacklist ir_rc6_decoder" | sudo tee -a /etc/modprobe.d/ir_rc6_decoder.conf
</code></pre>
<br />
<br />
Now start or restart XBMC and your AIM RC118 remote works completely.<br />
<br />Anonymoushttp://www.blogger.com/profile/11328803239964768305noreply@blogger.com1tag:blogger.com,1999:blog-13852983.post-92050710208138494892013-04-20T08:53:00.001+01:002013-04-20T08:53:33.488+01:00Tidying up df's line wraps on HP-UXWhen running the df command on a HP-UX system, whenever a device in the first column has a long name the line will wrap. This initially makes the command unreliable if you're writing a script that reports on filesystem free space for example.<br />
<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> $ df -lkP
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/vgrs710rsrid2/lvoldata2
858283043 676273843 182009200 79% /data2
/dev/vgrs710rsrid2/lvoldata
199398672 118367215 81031457 60% /data
/dev/vgrs710jnl/lvoljnl
152256633 77300832 74955801 51% /journals
/dev/vgmsa2312t3/lvolmsadata3
1857692665 428977413 1428715252 24% /data3
/dev/vgmsa2312t4/lvolmsadata4
1717106748 439950342 1277156406 26% /data6
/dev/vgmsa2312t5/lvolmsadata5
1947765811 1871078336 76687475 97% /data5
/dev/vg00/lvol4 1041520 93368 948152 9% /home
/dev/vg00/lvol5 10482360 8147296 2335064 78% /opt
/dev/vg00/lvol6 2088120 936752 1151368 45% /tmp
/dev/vg00/lvol7 20934792 16264528 4670264 78% /usr
/dev/vg00/lvol9 9831597 19038 9812559 1% /var/opt/ignite/depots
/dev/vg00/lvol8 10422528 1068448 9354080 11% /var
/dev/vg00/lvol1 522448 279624 242824 54% /stand
/dev/vg00/lvol3 1044448 515952 528496 50% /
</code></pre>
<br />
This can be fixed by piping the output through our old friend awk as follows;<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> $ df -lkP | awk '{
if ( NR == 1 ) { next }
if ( NF == 6 ) { print }
if ( NF == 5 ) { next }
if ( NF == 1 ) {
getline record;
$0 = $0 record
print $0
}
}'
</code></pre>
<br />
This bit of awk firstly discards the first header line from df and then in the case where a line has just 1 text field the next line is appended to it and then printed, any lines with 5 fields are also discarded.<br />
This then produces a consistent df output;<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> $ df -lkP | awk '{
if ( NR == 1 ) { next }
if ( NF == 6 ) { print }
if ( NF == 5 ) { next }
if ( NF == 1 ) {
getline record;
$0 = $0 record
print $0
}
}'
/dev/vgrs710rsrid2/lvoldata2 858283043 676273843 182009200 79% /data2
/dev/vgrs710rsrid2/lvoldata 199398672 118367215 81031457 60% /data
/dev/vgrs710jnl/lvoljnl 152256633 77300832 74955801 51% /journals
/dev/vgmsa2312t3/lvolmsadata3 1857692665 428977413 1428715252 24% /data3
/dev/vgmsa2312t4/lvolmsadata4 1717106748 439950342 1277156406 26% /data6
/dev/vgmsa2312t5/lvolmsadata5 1947765811 1871078336 76687475 97% /data5
/dev/vg00/lvol4 1041520 93368 948152 9% /home
/dev/vg00/lvol5 10482360 8147296 2335064 78% /opt
/dev/vg00/lvol6 2088120 936752 1151368 45% /tmp
/dev/vg00/lvol7 20934792 16264528 4670264 78% /usr
/dev/vg00/lvol9 9831597 19038 9812559 1% /var/opt/ignite/depots
/dev/vg00/lvol8 10422528 1068504 9354024 11% /var
/dev/vg00/lvol1 522448 279624 242824 54% /stand
/dev/vg00/lvol3 1044448 515952 528496 50% /
</code></pre>
<br />Anonymoushttp://www.blogger.com/profile/11328803239964768305noreply@blogger.com0tag:blogger.com,1999:blog-13852983.post-44643640046653473792013-03-24T22:42:00.000+00:002013-08-11T13:14:51.842+01:00Play Freespace 2 natively on FedoraWas sitting here this snowy Sunday afternoon craving for a bit of good ole space sim action. After a brief flurry of searching the web for something free, recent enough to look cool and immersive and would run under Linux or <a href="http://www.winehq.org/" target="_blank">Wine</a> I was pretty disappointed to find.. not much. (Yes there's Vendetta Online but that's only free for so long). Unfortunately the epic space sim genre is not the vibrant part of the game industry it once was.<br />
<br />
I decided to embrace the old school and dig out my copy of <a href="http://en.wikipedia.org/wiki/FreeSpace_2" target="_blank">Freespace 2</a> which is meant to run perfectly under Wine according to the <a href="http://appdb.winehq.org/objectManager.php?sClass=application&iId=1168" target="_blank">Wine AppDB</a> and I remember it very fondly, well after a straight forward Wine install it didn't work on my Fedora 18 installation currently running Wine 1.5.24.<br />
Rather than shuffling towards the drudgery of trying to get FS2 working under Wine or the even worse experience of having to exit what I had running in the background, rebooting into Windows 7 (ugh) and trying to get it working there, I noticed during my search-fest that there's a <a href="http://scp.indiegames.us/" target="_blank">FreeSpace Source Code Project</a> (FCSP) that is actively developing the open source, multi-platform version of the Freespace 2 binaries called FS2Open! Sometimes life just throws you a bone.<br />
<br />
Now it should really end there, I installed the thing, used the old disks to grab the content, had a wail of a time, went and did something else. Erm... no.<br />
As with some open-saucy type projects, the only set of end to end instructions that seems to exist for Linux is <a href="http://www.hard-light.net/wiki/index.php/Guide_to_FS_Open_on_Linux" target="_blank">a mighty wall of links & text</a>. Their guide is comprehensive but many links and pages are involved and so it becomes a bit of a slog.<br />
<br />
<br />
Therefore if you're running Fedora and want to begin playing the latest open-source, upgraded FreeSpace 2 the straight forward way then I've documented my simplified, start to finish guide for Fedora 18 for you. <br />
<br />
<h2>
What's required?</h2>
To get FS2Open going you need;<br />
<br />
<h3>
The FS2Open engine</h3>
This is the open-source Freespace 2 core engine.<br />
Project contributor '<a href="http://www.hard-light.net/forums/index.php?action=profile;u=19964" target="_blank">niffiwan</a>' has published some pre-compiled Linux binaries for a range of distros, these are available for download <a href="https://build.opensuse.org/project/show?project=home%3Aniffiwan" target="_blank">HERE</a>.<br />
You can go ahead and download the appropriate binary for you distro but if you want the latest version of FS2Open you're best just compiling from source as covered in this walkthrough.<br />
<br />
<h3>
A launcher</h3>
Launcher software is used to configure and run FS2Open.<br />
The <a href="http://scp.indiegames.us/downloads.php" target="_blank">FCSP project's launcher download page</a> gives the option of 3 launcher projects. The official launcher software is called wxLauncher and appears to be the most complete.<br />
For Linux, compilation of wxLauncher from the source code is required. The source comes with build instructions but the Linux section only covers Ubuntu. This gives you little idea of what packages you need to install on Fedora to compile the sofware.<br />
<br />
<h3>
The original game media</h3>
Your 3 original Freespace 2 CDs or ISO images.<br />
<br />
<h3>
The FS2Open media enhancements</h3>
A lot of work has been done to enhance the original game's content to bring FS2 more up to date. The extra content comes in the form of game mods packaged up in additional VP files<br />
The official download page for the latest MediaVPs is a forum post <a href="http://www.hard-light.net/forums/index.php?topic=70736.0" target="_blank">HERE</a>.<br />
Rather than manually download each file in the browser we'll make things a bit more straight forward later using the command-line.<br />
<br />
<h2>
Let's go..</h2>
Firstly open a new terminal.<br />
<h3>
Install the Fedora packages you'll need</h3>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> sudo yum install SDL SDL-devel python python-markdown wxGTK wxGTK-devel openal-soft openal-soft-devel cmake gcc gcc-c++ unshield subversion libvorbis-devel automake autoconf libtheora-devel readline-devel lua-devel libpng-devel libjpeg-devel
</code></pre>
<h3>
Create game directories under your home directory</h3>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> mkdir -p ~/Games/freespace2/temp/mvp
mkdir ~/Games/freespace2/temp/src
mkdir ~/Games/freespace2/mediavps_3612
</code></pre>
<h3>
Get the FS2Open source code</h3>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> cd ~/Games/freespace2/temp/src
svn checkout svn://svn.icculus.org/fs2open/trunk/fs2_open
</code></pre>
<h3>
Compile & install the FS2Open binaries</h3>
Note: we're not doing any optimization here, just the quick and easy get-it-going approach. The full mega-guide is <a href="http://www.hard-light.net/wiki/index.php/Guide_to_FS_Open_on_Linux" target="_blank">HERE</a>.<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> cd fs2_open
./autogen.sh
make
</code></pre>
<span style="font-family: inherit;"><span style="font-size: small;">Assuming the compilation went OK copy the binary to your freespace2 directory;</span></span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> cp code/fs2_open_* ~/Games/freespace2
</code></pre>
<br />
<br />
<h3>
Compile & install wxLauncher</h3>
<h4>
Download </h4>
Download the latest source code tarball from the wxLauncher downloads page <a href="http://code.google.com/p/wxlauncher/downloads/list?can=2&q=source&colspec=Filename+Summary+Uploaded+ReleaseDate+Size+DownloadCount" target="_blank">HERE</a>. Save the file to your Downloads directory. <br />
<h4>
Unpack </h4>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> cd ~/Downloads
mkdir -p wxlauncher/build
tar -C wxlauncher -xzf wxLauncher-*.tar.gz
</code></pre>
<h4>
Build</h4>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> cd wxlauncher/build
cmake -DUSE_OPENAL=1 -DCMAKE_INSTALL_PREFIX=/usr/local ../
</code></pre>
<br />
You should see messages confirming a successful build which looks like this;<br />
<blockquote class="tr_bq">
<span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;">-- Configuring done<br />-- Generating done<br />-- Build files have been written to: /home/yourname/Downloads/wxLauncher-0.9.1/build</span></span></blockquote>
<h4>
Compile</h4>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> make
</code></pre>
<h4>
Install</h4>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> sudo make install
</code></pre>
<br />
<br />
<h3>
Get the game content.</h3>
The next step is to copy the original game content from the FreeSpace 2 CDs (or ISO images if you have them) to the freespace2 directory you created earlier.<br />
<br />
<h4>
Mount the game media</h4>
Clearly there are many ways to mount disk and iso images but here's the easy to describe, simple way of doing this. It assumes as you're running Fedora then you'll be running a Gnome 3 desktop, it is the best DE after all.<br />
<br />
If you're using CDs, insert the first disk and open it in Gnome 3's file manager 'Files' when prompted.<br />
Alternatively if you have ISO images of the CDs it is just as easy to mount them in Gnome 3, just double-click the ISO file in 'Files' and it will be automatically mounted and appear as a device. You could mount all 3 ISOs at once this way if you wish.<br />
<br />
Whether you're using a CD or an ISO file, just hover your mouse cursor over the device to see it's path, this example shows the path of a mounted ISO file;<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://ubuntuone.com/5vWxhfdbLnA5GdzI8My9HA" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="214" src="http://ubuntuone.com/5vWxhfdbLnA5GdzI8My9HA" width="320" /></a></div>
<br />
These paths will be the source of your data extractions. <br />
<br />
<h4>
Extract the data to your game directory</h4>
The tool 'unshield' you installed earlier is a tool for extracting files from Microsoft CAB files with InstallShield headers.<br />
With the first disk/ISO mounted unpack data1.cab and put all '.vp' files in your game directory as follows (substituting <span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: x-small;">/path/to/your/cdoriso</span></span> for the actual mounted disk/ISO path);<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> cd /path/to/your/cdoriso
unshield -j -d ~/Games/freespace2/temp x data1.cab
mv ~/Games/freespace2/temp/*vp ~/Games/freespace2
</code></pre>
For disk/ISO 2 the required vp files are just in the root of the disk, so mount disk/ISO 2 and copy them directly;<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> cd /path/to/your/cdoriso
cp *vp ~/Games/freespace2
</code></pre>
... and lastly mount CD/ISO 3, like you did with disk 2 copy the vp files directly from it's path to the game directory;<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> cd /path/to/your/cdoriso
cp *vp ~/Games/freespace2
</code></pre>
<br />
<br />
<h3>
Implementing the game enhancements (MediaVPs)</h3>
<h4>
Download the files</h4>
<span style="font-family: inherit;"><span style="font-size: small;">The available MediaVPs are packaged up in a number of separate ZIP files<span style="font-size: small;">.</span></span></span><br />
<span style="font-family: inherit;"><span style="font-size: small;"><span style="font-size: small;">D</span>ownload them to your </span><span style="font-size: small;"><span style="font-size: small;"><span style="font-size: small;"><span style="font-size: x-small;"><span style="font-size: small;">~/Games/freespace2/temp/mvp directory and unpack them. All together this is a 1.2<span style="font-size: small;">G</span>B download.</span></span></span></span></span></span><br />
<span style="font-family: inherit;"><span style="font-size: small;">There are cleverer
ways to process this list of downloads but the followin<span style="font-size: small;">g</span> list of commands requires less explanation here. You can just copy the list of commands and
paste into your terminal<span style="font-size: small;"> to perform them in a batch</span>.</span></span>
<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> cd ~/Games/freespace2/temp/mvp
wget http://mvp.fsmods.net/3612/MediaVPs_3612.zip
wget http://mvp.fsmods.net/3612/MV_Root_3612.zip
wget http://mvp.fsmods.net/3612/MV_Root_Update.zip
wget http://mvp.fsmods.net/3612/MV_Music_3612.zip
wget http://mvp.fsmods.net/3612/MV_Assets_3612.zip
wget http://mvp.fsmods.net/3612/MV_Assets_Update.zip
wget http://mvp.fsmods.net/3612/MV_Effects_3612.zip
wget http://mvp.fsmods.net/3612/MV_Effects_Update.zip
wget http://mvp.fsmods.net/3612/MV_Advanced_3612.zip
wget http://mvp.fsmods.net/3612/MV_AnimGlows_3612.zip
wget http://mvp.fsmods.net/3612/MV_RadarIcons_3612.zip
wget http://mvp.fsmods.net/3612/MV_CB_ANI_1.zip
wget http://mvp.fsmods.net/3612/MV_CB_ANI_2.zip
</code></pre>
<span style="font-family: inherit;"><span style="font-size: small;">A few of these file are optional but we're going full<span style="font-size: small;"> </span>fat here.</span></span><br />
<h4>
<span style="font-family: inherit;"><span style="font-size: small;">Unzip the files</span></span></h4>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> unzip '*.zip'
</code></pre>
<h4>
<span style="font-family: inherit;"><span style="font-size: x-small;"><span style="font-size: small;">Place the VP<span style="font-size: small;"> files</span> in their own <span style="font-size: small;">sub</span>directory which you created earlier.</span></span></span></h4>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> mv *vp ~/Games/freespace2/mediavps_3612/
mv mediavps_3612/* ~/Games/freespace2/mediavps_3612
mv MediaVPS_3612/* ~/Games/freespace2/mediavps_3612
</code></pre>
<br />
<br />
<h2>
Running and setting up FS2Open</h2>
Now, still in the terminal run wxlauncher;<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> wxlauncher
</code></pre>
You'll be presented with something like this;<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://ubuntuone.com/3NdU7s0IriKQ7tCnuiOUG4" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://ubuntuone.com/3NdU7s0IriKQ7tCnuiOUG4" width="281" /></a></div>
<br />
Nice!<br />
<br />
<h4>
Mods </h4>
Select the 'Mods' tab.<br />
Select the MediaVps mod and select the [Activate] button.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://ubuntuone.com/29DOV1fJXcdY9q73efTuUN" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://ubuntuone.com/29DOV1fJXcdY9q73efTuUN" width="282" /></a></div>
<br />
<h4>
Basic Settings</h4>
Select the 'Basic Settings' tab.<br />
Select the browse button to set the Game Root Folder to /home/yourname/Games/freespace2.<br />
Select the Refresh button and pick the available FS2 Open executable option.<br />
Once you've picked the executable the video and audio settings should be picked up automatically.<br />
If you have your joystick or gamepad plugged in, select it in the Joystick drop-down. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://ubuntuone.com/4Ck2kRBkNT4ZHwPPx3mNhX" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://ubuntuone.com/4Ck2kRBkNT4ZHwPPx3mNhX" width="281" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<h4>
Advanced Settings </h4>
Select the 'Advanced Settings' tab, here's where you can experiment with the many settings available with FS2 Open.<br />
As a starter set the Lighting Presets to 'Baseline Recommended' and the Flag Sets to 'High Memory usage features on'.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://ubuntuone.com/3hM62lNEi9jhHTk7jmGtHl" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://ubuntuone.com/3hM62lNEi9jhHTk7jmGtHl" width="280" /></a></div>
<br />
Then select/enable the following options;<br />
<b>Graphics section</b><br />
<ul>
<li>Apply Lighting to Missiles</li>
<li>Enable 3D shockwaves</li>
<li>Enable Post-processing</li>
<li>Enable soft particles</li>
<li>Enable FXAA anti-aliasing </li>
</ul>
<b>HUD section</b><br />
<ul>
<li>Enable 3D radar</li>
</ul>
<b>Gameplay section</b><br />
<ul>
<li>Enable 3D warp</li>
<li>Enable flash upon warp</li>
<li>Enable 3D models for ship selection</li>
<li>Enable 3D models for weapons selection</li>
</ul>
<b>Audio section</b><br />
<ul>
<li>Preload mission game sounds</li>
</ul>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
<br />
<h2>
<br />
Finally...</h2>
There are many user-made mods available that continue the Freespace saga as well as introduce additional stories & universes including <a href="http://www.hard-light.net/wiki/index.php/The_Babylon_Project" target="_blank">Babylon 5</a> and <a href="http://www.hard-light.net/wiki/index.php/Diaspora" target="_blank">BSG</a>. Check out the highlights panel on wxlauncher's Welcome tab, the <a href="http://www.hard-light.net/wiki/index.php/Main_Page" target="_blank">Freespace Wiki</a> and the project's <a href="http://www.hard-light.net/wiki/index.php/Campaign_List" target="_blank">list of user-made campaigns</a> and <a href="http://www.hard-light.net/wiki/index.php/Total_conversions" target="_blank">total conversions list</a> for more details on what's available.<br />
<br />
Before you do, don't forget your joystick, hit the Play button and get stuck in...<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://imageshack.us/a/img59/1743/screen0026d.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://imageshack.us/a/img59/1743/screen0026d.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i45.tinypic.com/2956zja.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="http://i45.tinypic.com/2956zja.jpg" width="640" /></a></div>
<br />
<br />
This should at least see me through until the release of <a href="http://www.robertsspaceindustries.com/" target="_blank">Star Citizen</a>.<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/LIrqhixmwXc?feature=player_embedded' frameborder='0'></iframe></div>
<br />Anonymoushttp://www.blogger.com/profile/11328803239964768305noreply@blogger.com1tag:blogger.com,1999:blog-13852983.post-81243968594281586582013-03-16T13:10:00.000+00:002013-07-06T11:36:58.875+01:00Converting Sony's PlayTV M2TS recordings to XvidRecently, I had to replace my PS3 and one of my PS3's main roles for a long time has been as a DVR. The PS3 together with the <a href="http://en.wikipedia.org/wiki/PlayTV" target="_blank">PlayTV peripheral</a> and the official <a href="http://en.wikipedia.org/wiki/PlayStation_3_accessories#Blu-ray_Disc_remotes" target="_blank">BD remote</a> does an excellent job of this providing the ability to watch, pause, rewind & record over-the-air TV with a nice HD interface, it even improves image quality due to the PS3's built-in upscaling.<br />
<br />
The slow death of my old PS3 together with the timely introduction of Live TV support on <a href="http://wiki.xbmc.org/index.php?title=PVR" target="_blank">XBMC 12</a> prompted me to take the PlayTV peripheral and stick it in my Linux-based media centre PC running <a href="http://xbmc.org/" target="_blank">XMBC</a> and setup <a href="http://wiki.xbmc.org/index.php?title=PVR/Backend/Tvheadend" target="_blank">TVheadend</a> to pull the signal from the PlayTV's tuners. The result of this is the XBMC box has now become our DVR and TV viewing platform as well as all the other media content it serves up, however there was still a lot of decent recordings left on the PS3 that I wanted to keep and having exported them from PlayTV and transferred them from the PS3, I felt that the M2TS files are a little too large to warrant leaving them in that format using all that disk space.<br />
<br />
So for any out there who are left with a bunch of these huge <a href="http://en.wikipedia.org/wiki/.m2ts" target="_blank">M2TS</a> files and want to make them smaller or simply transcode them to a format that is supported by more devices then this post is for you.<br />
Firstly you will need to have ffmpeg installed on your PC together with appropriate Xvid & LAME MP3 libraries. <br />
<br />
<h2>
ffmpeg</h2>
As always ffmpeg is my goto toolkit for video convertion and a single MT2S file can be converted to a smaller file without much loss of quality with a one-liner.<br />
<h3>
Example</h3>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> ffmpeg -y -i "awesomeshow.m2ts" \
-vcodec libxvid \
-b 1200k \
-acodec libmp3lame \
-ac 2 -ar 44100 -ab 128k \
-s 576x460 -threads 2 -deinterlace "awesomeshow.avi"
</code></pre>
<br />
In this example the filename of the M2TS file that is being
converted (the input file) is 'awesomeshow.m2ts' and I've given the output file the name 'awesomeshow.avi'.<br />
<br />
<h3>
Option tips</h3>
<h4>
-vcodec = video codec</h4>
Here I've used the Xvid MPEG4 library to achieve a higher compression ratio than the source file's MPEG2, reducing the size of the output file, also many devices (including the PS3) support Xvid playback.<br />
<h4>
-b = video bitrate</h4>
I've specified a video stream bitrate of 1200 Kbits per second, after lots of tries this seems to be a nice compromise between quality & output file size.<br />
<h4>
-s = frame size</h4>
My PAL TV signal is processed at 576i, the resulting resolution of the original recording is 720x576. In the above example I've used the <b>-s</b> option to reduce the output file resolution to 576x460. This helps to further reduce the output file size.<br />
<h4>
-acodec = audio codec</h4>
MP3 is the common counterpart to the Xvid video codec, it compresses audio well and playback is supported everywhere.<br />
I specified the output audio stream to be a 2 channel stream with a sample rate of 44KHz and a bitrate of 128Kbps with the -ac, -ar & -ab options.<br />
<h4>
-deinterlace</h4>
As the video source is an interlaced TV signal it will look terrible when played back on a progressive display unless deinterlacing is applied on the transcode or on the player playing the convertion. Therefore I've specified to deinterlace during the conversion with the delinterlace option, this also introduces additional processing on the transcode so ffmpeg will take noticeably longer to complete.<br />
<h4>
-threads = number of conversion processes</h4>
Set this figure to match the number of processor cores on your computer, the more processors you can get to work on the conversion job the quicker it will finish.<br />
<br />
<h2>
Finally, a script...</h2>
I had a lot of recordings to convert so naturally, to convert all of them all in one go on my media centre PC which runs a popular Linux distro I wrote a little shell script.<br />
If you want to use this script just save it to your local filesystem (your Downloads directory presumably), pop it in your /usr/bin directory & make it executable;<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> cd ~/Downloads
chmod +x playtv2xvid
sudo mv playtv2xvid /usr/bin
</code></pre>
<br />
Then in a terminal 'cd' to the location of your *.m2ts files and run...<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> playtv2xvid
</code></pre>
<br />
It will show you what M2TS files have been found in the current location, press enter to begin the conversions and all will be logged in a log file for you to review later.<br />
<br />
Download the <b>playtv2xvid</b> script <a href="http://ubuntuone.com/2TMpO1AkObPqYgDO1IEkfP" target="_blank"><b>here</b></a><b>.</b><br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/11328803239964768305noreply@blogger.com0tag:blogger.com,1999:blog-13852983.post-58354561660147882122009-11-03T00:14:00.008+00:002009-11-03T01:09:18.422+00:00Auto starting and shutdown of Virtualbox VMs<blockquote></blockquote><span style="font-family:arial;">Just a quickie to document a nice simple way of automatically starting and stopping Virtualbox virtual machines when you logi</span><span style="font-family:arial;">n and shutdown your Linux box.</span><br /><br /><span style="font-family:arial;">Firstly, what is the name of virtual machine that you want to do this with?</span><br /><span style="font-family:arial;">You can list the names of your VMs in a terminal as below</span><br /><blockquote style="font-family: courier new;">$ VBoxManage list -l vms|grep "Guest OS" -B1</blockquote><span style="font-family:arial;">...and choose the name of your virtual machine.</span><br /><br /><span style="font-family:arial;">For this example my VM is called 'Windows XP' and my host is running Ubuntu 9.10, other distros running Gnome shouldn't be much different.</span><br /><br /><span style="font-family:arial;">To autostart your VM upon login to Gnome...</span><br /><br /><span style="font-family:arial;">Launch <span style="font-weight: bold;">System > Preference > Startup Applications</span>, select the Add button.</span><br /><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaYPmuiauALI9gTNG8i9LJHRshT1E0ytZ5u1Mk2YKmV1ZKMG8WwJae3Jh_R_l6XIGNm-pV-bK4UXdFjdOjX_MFL2pA11yElmh4KqMjxjFLefEaSRHmj3WQzYyiXV-lBP8mY1nE/s1600-h/Screenshot-Startup+Applications+Preferences.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 238px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaYPmuiauALI9gTNG8i9LJHRshT1E0ytZ5u1Mk2YKmV1ZKMG8WwJae3Jh_R_l6XIGNm-pV-bK4UXdFjdOjX_MFL2pA11yElmh4KqMjxjFLefEaSRHmj3WQzYyiXV-lBP8mY1nE/s320/Screenshot-Startup+Applications+Preferences.png" alt="" id="BLOGGER_PHOTO_ID_5399668977587969330" border="0" /></a><span style="font-family:arial;">Then enter a name for the program in the Name: field and in the Command field enter;</span><blockquote style="font-family:arial;"><span style="font-family:courier new;">VBoxManage startvm "Your VM Name"</span><br /></blockquote><span style="font-family:arial;">Replacing the '<span style="font-style: italic;">Your VM Name</span>' with the name of your VM, if there are spaces in the name your will need the quotes.</span><br /><br /><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXKNDCgPhuZzMI7Dcz_Q4-rD-sSY5FvPGZWeQ4GEPBufE9MbS6O2Q94mfJpywRgCfiHTzPVT-NsbjHomroE3ksHmqMC1LvmiiHdujg68xZTV8AYYZiht3UhL2xWrw4d362bh9E/s1600-h/Screenshot-Add+Startup+Program.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 146px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXKNDCgPhuZzMI7Dcz_Q4-rD-sSY5FvPGZWeQ4GEPBufE9MbS6O2Q94mfJpywRgCfiHTzPVT-NsbjHomroE3ksHmqMC1LvmiiHdujg68xZTV8AYYZiht3UhL2xWrw4d362bh9E/s320/Screenshot-Add+Startup+Program.png" alt="" id="BLOGGER_PHOTO_ID_5399670246872939922" border="0" /></a><br /><span style="font-family:arial;">Lastly to have your system cleanly stop your running VMs for you when you shut down your Linux box you can edit the vboxdrv init script. To do this you will need root privileges.</span><br /><br /><span style="font-family:arial;">You have the choice of 3 methods of stopping the VM, a poweroff, an acpi button emulation or my preference, a savestate shutdown which will stop the VM and preserve it's runtime state, it will then resume the next time it is started.</span><br /><br /><span style="font-family:arial;">Edit the init script with the nano text editor, if you have sudo setup or if you're using an Ubuntu/Debian style Linux distribution...</span><br /><blockquote style="font-family: courier new;">$ sudo nano /etc/init.d/vboxdrv</blockquote><span style="font-family:arial;">... and enter your password.<br /><br />If you don't use sudo, you can su to root before running nano or you can use su as below..<br /><blockquote style="font-family: courier new;">$ su root -c nano /etc/init.d/vboxdrv</blockquote>... and enter the root account's password.<br /><br /><blockquote></blockquote>In nano hit [Ctrl]+[W] to search and enter <span style="font-family:courier new;">SHUTDOWN</span> in caps. This will take you line 235.</span><br /><span style="font-family:arial;">A few lines down uncomment the appropriate "<span style="font-family:courier new;">SHUTDOWN=</span>" line of choice, for example to choose a savestate shutdown edit the line;</span><br /><blockquote style="font-family:arial;"><span style="font-family:courier new;"># SHUTDOWN=savestate</span><br /></blockquote><span style="font-family:arial;">to read</span>,<br /><blockquote style="font-family: courier new;">SHUTDOWN=savestate</blockquote><span style="font-family:arial;">Then hit [Ctrl]+[O] to save the change, then [Ctrl]+[X] to exit nano.<br /><br /><br />This will ensure that your system when shut down will cleanly stop your running VMs without you having to do so manually.</span>Anonymoushttp://www.blogger.com/profile/11328803239964768305noreply@blogger.com0tag:blogger.com,1999:blog-13852983.post-58956711979317181452009-08-09T23:11:00.005+01:002013-04-04T14:16:51.444+01:00Make Fedora 11 unlock your Gnome keyring automatically upon login.<span style="font-family: arial;">I love Fedora 11, it's so clean and doesn't have the crushing Intel graphics driver bugs present in Ubuntu 9.04. However one bug/feature that is really annoying is that you are made to unlock the Gnome keyring manually whenever an application attempts to access your keyring for stored credentials.</span><br />
<span style="font-family: arial;">For instance if your network connection is a wireless connection using WEP/WPA encryption, the Network Manager application cannot connect after you login until you've typed in your Gnome keyring password, most annoying.</span><br />
<br />
<span style="font-family: arial;">It is possible to make your Gnome keyring unlock automagically after login using the tool </span><span style="font-family: arial; font-weight: bold;">pam-keyring-tool</span><span style="font-family: arial;">.</span><br />
<br />
<span style="font-family: arial;">Firstly it's often recommended that you delete your current keyrings. I don't think this is necessary as such but if you find this solution doesn't work then delete the keyrings in a terminal as follows;</span>
<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> rm -f ~/.gnome2/keyrings/*
</code></pre>
<br />
<span style="font-family: arial;">Then in your Gnome desktop browse to </span><span style="font-family: arial; font-weight: bold;">System</span><span style="font-family: arial;"> > </span><span style="font-family: arial; font-weight: bold;">Preferences</span><span style="font-family: arial;"> > </span><span style="font-family: arial; font-weight: bold;">Startup Applications</span><span style="font-family: arial;">.</span><br />
<span style="font-family: arial;">Select the [</span><span style="font-family: arial; font-weight: bold;">Add</span><span style="font-family: arial;">] button.</span><br />
<span style="font-family: arial;">Enter the name as something meaningful such as </span><span style="font-family: arial; font-weight: bold;">GNOME Keyring Unlock</span><br />
<span style="font-family: arial;">Enter the following in the command field;</span>
<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> cat ~/.keypass | /usr/libexec/pam-keyring-tool --unlock --keyring=default -s
</code></pre>
<br />
<span style="font-family: arial;">Then select the [<span style="font-weight: bold;">Add</span>] button.</span><br />
<span style="font-family: arial;"><br />Finally you'll need to put your account's password in a file in your home directory..</span>
<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> echo "yourpassword" > ~/.keypass
</code></pre>
<br />
<span style="font-family: arial;">...and set some secure permissions on the file...</span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> chmod 400 ~/.keypass
</code></pre>
<br />
<span style="font-family: arial;">Finished.</span><br />
<br />
<span style="font-family: arial;">Now logout and log back in, you'll no longer be nagged to unlock your keyring.</span><br />
<span style="font-family: arial;">If you deleted your default keyring file earlier, you'll have to re-enter your previously stored passwords and keys (such as your WEP/WPA key) when prompted.</span>Anonymoushttp://www.blogger.com/profile/11328803239964768305noreply@blogger.com0tag:blogger.com,1999:blog-13852983.post-59998327611833259132009-02-16T19:54:00.009+00:002013-08-11T13:13:22.974+01:00Creating a local Yum repository from a DVD ISO (Fedora 10)<span style="font-family: arial;">Someone approached me in work today with a problem, he had installed Fedora 10 in a virtual machine on our VMWare ESX server as he wanted to experiment with an Apache web server on a Linux host, however he had installed Fedora but not chosen to install the web server during the installation process and he has little experience using Linux.</span><br />
<span style="font-family: arial;">He did have the the ISO file mounted as the virtual machine's DVD drive but for some reason he couldn't get the ISO file onto the Fedora virtual machine's filesystem.</span><br />
<span style="font-family: arial;">The VMWare ESX server hosting the virtual machine does not have internet access, so how does he install the web server from the DVD with no internet access and no ISO file in the virtual machine's filesystem?</span><br />
<span style="font-family: arial;">He approached me with a couple of printed guides he'd found on Google to ask me which one was the best approach. They were terrible, taking up pages of A4 so I knocked up the following for him...</span><br />
<br />
<span style="font-family: arial; font-size: 100%; font-weight: bold;">Create and mount the ISO file</span><span style="font-family: arial;"> </span><br />
<span style="font-family: arial;">As Fedora automounts the DVD device (/dev/sr0 under VMWare) as "/media/Fedora 10 i386 DVD" or similar we need to mount the ISO under a different mount point with no spaces in the path name, as YUM cannot support repository paths with spaces in their names.</span><br />
<span style="font-family: arial;">Also as the virtual machine is not likely to ever have internet access, it'll be preferable to mount the ISO permanently as the sole active repository.</span><br />
<span style="font-family: arial;">Switch user to root;</span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> su -
</code></pre>
<span style="font-family: arial;">Create the ISO file;</span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> dd if=/dev/sr0 of=/opt/f10dvd.iso
chmod 444 /opt/f10dvd.iso
</code></pre>
<span style="font-family: arial;">Mount the ISO file;</span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> mkdir /mnt/f10iso
echo "/opt/f10dvd.iso /mnt/f10iso iso9660 ro,auto,loop 0 0" >> /etc/fstab
mount /mnt/f10iso
</code></pre>
<span style="font-family: arial; font-weight: bold;">Setup YUM</span><br />
<span style="font-family: arial;">Edit /etc/yum.conf with nano or vi.</span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> nano /etc/yum.conf
</code></pre>
<span style="font-family: arial;">Add the following lines add onto the end of the file;</span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> [f10iso]
name=local-repo
baseurl=file:///mnt/f10iso/
enabled=1
gpgcheck=0
</code></pre>
<span style="font-family: arial;">Disable the default YUM repositories</span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> yum repolist --disablerepo=fedora --disablerepo=updates
</code></pre>
<span style="font-family: arial;">Update YUM</span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> yum update
</code></pre>
<span style="font-family: arial;">You are now ready to use YUM and/or pirut or packagekit to search and install packages from the Fedora DVD ISO.<br />However if you setup a Fedora/Red Hat system as above and then want to start using external repositories over the internet you must disable this local repository and not use it again, otherwise you may experience some dependency problems.<br /><br />Therefore if you finally get internet access on your system and you need to get YUM setup back the way it was just run the following as root...</span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> yum repolist --disablerepo=f10iso --enablerepo=fedora --enablerepo=updates
</code></pre>
Anonymoushttp://www.blogger.com/profile/11328803239964768305noreply@blogger.com0tag:blogger.com,1999:blog-13852983.post-62001236881324281372009-02-11T13:58:00.042+00:002013-05-14T19:36:34.006+01:00Transcoding to your Playstation 3 with Mediatomb<span style="font-family: arial;">The Playstation 3 is a brilliant bit of kit, not only is it a cutting edge games console but it is also a excellent media centre.<br />Not only does it play Blu-Rays, DVDs, CDs, MP3s and DivX/Xvid as standard through proper HDMI & optical audio connections but the rendering quality of compressed video is noticeably better than on a computer or a cheapo DivX/DVD player with richer colours and less artifacts.</span><br />
<br />
<span style="font-family: arial;">The feature that is used a <span style="font-style: italic; font-weight: bold;">lot </span>at my place is the PS3's ability to stream from a DLNA media server, this does away with the need to use physical media such as optical discs or hard disks if the audio/video files already resides on my server.<br />Using a streaming server can actually enhance the functionality of your PS3, something I was keen to experiment with when I first bought my PS3 about a year ago.<br /><br />My DLNA server of choice is <a href="http://mediatomb.cc/">Mediatomb</a>, this runs on my desktop machine which is also my home server, this machine currently runs Ubuntu 8.10 64bit.<br />Mediatomb requires some basic configuration to get the PS3 streaming from it, this entails editing Mediatomb's config file to enable PS3 support. This enables your PS3 to stream MP3s & DivX/Xvid media from your server over your network.<br /><br />But what if your media is not supported by the PS3? What about ogg, flv and mkv files for instance?<br /><br /><span style="font-size: 130%; font-weight: bold;"><span style="font-family: arial;">Transcoding</span></span> </span><br />
<span style="font-family: arial;">Mediatomb can be configured to convert certain media types in realtime and stream it to the PS3 in the format it supports, this is called transcoding.<br />There are many forum discussions about how to get Mediatomb to transcode various formats to PS3s however I have never been able to find a proper guide to setting up Mediatomb to transcode, just a hodge podge of partial solutions.<br /><br />I managed to use some of these partial solutions as building blocks to setup my Mediatomb properly so that I can play MP3 and OGG audio and DivX/Xvid, FLV & Matroska videos upto resolutions of 1080p on my PS3 across my network. However this took a lot of experimentation and I never managed to document it so here's my chance to remedy that and knock up a guide for setting up Mediatomb on Ubuntu to transcode media to your PS3.<br /><br /><span style="font-size: 180%;"><span style="font-weight: bold;">The Guide</span></span><br /><br /><span style="font-size: 130%;"><span style="font-weight: bold;">Install the required software</span></span><br />Firstly install Mediatomb and the software required for the transcoding process along with any dependencies.</span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> sudo apt-get install mediatomb vlc ffmpeg ffmpegthumbnailer transcode
</code></pre>
<span style="font-family: arial;"><br /><span style="font-size: 130%;"><span style="font-weight: bold;">Configure Mediatomb</span></span><br />Backup the original Mediatomb config file...<br /><span style="font-family: courier new; font-weight: bold;"></span></span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> cd /etc/mediatomb
sudo cp -p config.xml config.orig
</code></pre>
<span style="font-family: arial;">
<span style="font-family: courier new; font-weight: bold;"></span>You'll need to create 3 shell scripts in /etc/mediatomb...<br /><br /><span style="font-weight: bold;">Script #1</span><br />
</span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><span style="font-family: arial;"><code style="color: black; word-wrap: normal;"> sudo nano mediatomb-transcode-audio
</code></span></pre>
<span style="font-family: arial;">
Copy in the following text, save the file and exit nano ([Ctrl]+[x] then [Y])...<br /><span style="font-family: courier new; font-weight: bold;"></span>
</span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><span style="font-family: arial;"><code style="color: black; word-wrap: normal;"> #!/bin/bash
INPUT="$1"
OUTPUT="$2"
AUDIO_CODEC="pcm_s16le"
AUDIO_BITRATE="192k"
AUDIO_SAMPLERATE="44100"
AUDIO_CHANNELS="2"
FORMAT="s16le"
exec /usr/local/bin/ffmpeg -i "${INPUT}" -acodec ${AUDIO_CODEC} -ab ${AUDIO_BITRATE} -me zero -ar ${AUDIO_SAMPLERATE} -ac ${AUDIO_CHANNELS} -f ${FORMAT} - &gt; "${OUTPUT}" 2&gt;/dev/null
</code></span></pre>
<span style="font-family: arial;">
<span style="font-family: courier new; font-weight: bold;"></span></span><span style="font-family: arial;"><span style="font-weight: bold;">Script #2</span><br /><br />
</span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><span style="font-family: arial;"><code style="color: black; word-wrap: normal;"> sudo nano mediatomb-transcode-video
</code></span></pre>
<span style="font-family: arial;">
<br />Copy in the following text, save the file and exit nano ([Ctrl]+[x] then [Y])...</span><br />
<span style="font-family: arial;"><br /><span style="font-family: courier new; font-weight: bold;"></span></span>
<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> #!/bin/bash
VLC_PATH="/usr/bin/vlc"
INPUT="$1"
OUTPUT="$2"
VIDEO_CODEC="mp2v"
VIDEO_BITRATE="4096"
VIDEO_FRAMERATE="25"
AUDIO_CODEC="mpga"
AUDIO_BITRATE="192"
AUDIO_SAMPLERATE="44100"
AUDIO_CHANNELS="2"
FORMAT="ps"
SUBTITLE_LANGUAGE="eng"
exec "${VLC_PATH}" "${INPUT}" -I dummy --sout "#transcode{vcodec=${VIDEO_CODEC},\ vb=${VIDEO_BITRATE},fps=${VIDEO_FRAMERATE},acodec=${AUDIO_CODEC},ab=${AUDIO_BITRATE},\ samplerate=${AUDIO_SAMPLERATE},channels=${AUDIO_CHANNELS},soverlay,audio-sync}:\ standard{mux=${FORMAT},access=file,dst=${OUTPUT}}" --sub-language=${SUBTITLE_LANGUAGE} \
vlc:quit
</code></pre>
<span style="font-family: arial;"><span style="font-family: courier new; font-weight: bold;"></span><br /></span><span style="font-family: arial;"><span style="font-weight: bold;">Script #3</span></span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> sudo nano mediatomb-transcode-video-ffmpeg
</code></pre>
<span style="font-family: arial;">
<br />Copy in the following text, save the file and exit nano ([Ctrl]+[x] then [Y])...</span><br />
<br />
<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> #!/bin/bash
INPUT=$1
OUTPUT=$2
VIDEO_CODEC="mpeg2video"
VIDEO_BITRATE="24576k"
AUDIO_CODEC="mp2"
AUDIO_BITRATE="192k"
AUDIO_SAMPLERATE="48000"
AUDIO_CHANNELS="2"
FORMAT="dvd"
exec /usr/bin/ffmpeg -threads 4 -i "${INPUT}" -vcodec ${VIDEO_CODEC} -b ${VIDEO_BITRATE} \
-acodec ${AUDIO_CODEC} -ab ${AUDIO_BITRATE} -ar ${AUDIO_SAMPLERATE} -ac ${AUDIO_CHANNELS} \
-f ${FORMAT} -copyts - &gt; "${OUTPUT}" 2&gt;/dev/null
</code></pre>
<span style="font-family: arial;"><br />Remove the original config.xml file...</span> <br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> sudo rm -f config.xml
</code></pre>
<span style="font-family: arial;"><br />Create a new config.xml in nano...</span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> sudo nano config.xml
</code></pre>
<span style="font-family: arial;"><br />... copy in the following text...<br /><br /><span style="font-family: courier new; font-weight: bold;"><br /></span></span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> <?xml version="1.0" encoding="UTF-8"?>
<config version="1" xmlns="http://mediatomb.cc/config/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mediatomb.cc/config/1 http://mediatomb.cc/config/1.xsd">
<server>
<ui enabled="yes">
<accounts enabled="no" session-timeout="30">
<account user="mediatomb" password="mediatomb"/>
</accounts>
</ui>
<name>MediaTomb</name>
<udn>uuid:aa8ba7dd-5533-4ec1-b32c-b3b807677f9a</udn>
<home>/var/lib/mediatomb</home>
<webroot>/usr/share/mediatomb/web</webroot>
<storage>
<sqlite3 enabled="yes">
<database-file>sqlite3.db</database-file>
</sqlite3>
<mysql enabled="no">
<host>localhost</host>
<username>mediatomb</username>
<database>mediatomb</database>
</mysql>
</storage>
<protocolInfo extend="yes"/><!-- For PS3 support change to "yes" -->
<!--
Uncomment the lines below to get rid of jerky avi playback on the
DSM320 or to enable subtitles support on the DSM units
-->
<!--
<custom-http-headers>
<add header="X-User-Agent: redsonic"/>
</custom-http-headers>
<manufacturerURL>redsonic.com</manufacturerURL>
<modelNumber>105</modelNumber>
-->
<!-- Uncomment the line below if you have a Telegent TG100 -->
<!--
<upnp-string-limit>101</upnp-string-limit>
-->
</server>
<import hidden-files="no">
<scripting script-charset="UTF-8">
<common-script>/usr/share/mediatomb/js/common.js</common-script>
<playlist-script>/usr/share/mediatomb/js/playlists.js</playlist-script>
<virtual-layout type="builtin">
<import-script>/usr/share/mediatomb/js/import.js</import-script>
</virtual-layout>
</scripting>
<mappings>
<extension-mimetype ignore-unknown="yes">
<map from="mp3" to="audio/mpeg"/>
<map from="ogg" to="application/ogg"/>
<map from="ogv" to="video/oggtheora"/>
<map from="asf" to="video/x-ms-asf"/>
<map from="asx" to="video/x-ms-asf"/>
<map from="wma" to="audio/x-ms-wma"/>
<map from="wax" to="audio/x-ms-wax"/>
<map from="wmv" to="video/x-ms-wmv"/>
<map from="wvx" to="video/x-ms-wvx"/>
<map from="wm" to="video/x-ms-wm"/>
<map from="wmx" to="video/x-ms-wmx"/>
<map from="m3u" to="audio/x-mpegurl"/>
<map from="pls" to="audio/x-scpls"/>
<map from="flv" to="video/x-flv"/>
<map from="avi" to="video/x-divx"/>
<map from="divx" to="video/x-divx"/>
<map from="mkv" to="video/x-matroska"/>
<map from="mov" to="video/quicktime"/>
<map from="qt" to="video/quicktime"/>
<map from="mpg" to="video/mpeg"/>
<map from="mpeg" to="video/mpeg"/>
</extension-mimetype>
<mimetype-upnpclass>
<map from="audio/*" to="object.item.audioItem.musicTrack"/>
<map from="video/*" to="object.item.videoItem"/>
<map from="image/*" to="object.item.imageItem"/>
</mimetype-upnpclass>
<mimetype-contenttype>
<treat mimetype="audio/mpeg" as="mp3"/>
<treat mimetype="application/ogg" as="ogg"/>
<treat mimetype="audio/x-flac" as="flac"/>
<treat mimetype="image/jpeg" as="jpg"/>
<treat mimetype="audio/x-mpegurl" as="playlist"/>
<treat mimetype="audio/x-scpls" as="playlist"/>
<treat mimetype="audio/x-wav" as="pcm"/>
<treat mimetype="audio/L16" as="pcm"/>
<treat mimetype="video/x-msvideo" as="avi"/>
<treat mimetype="video/mp4" as="mp4"/>
<treat mimetype="audio/mp4" as="mp4"/>
<treat mimetype="video/x-divx" as="avi"/>
</mimetype-contenttype>
</mappings>
</import>
<transcoding enabled="yes">
<mimetype-profile-mappings>
<transcode mimetype="video/x-flv" using="vlcmpeg"/>
<transcode mimetype="application/ogg" using="vlcmpeg"/>
<transcode mimetype="application/ogg" using="oggflac2raw"/>
<transcode mimetype="audio/x-flac" using="audio-common"/>
<transcode mimetype="video/x-divx" using="video-thumbnail"/>
<transcode mimetype="video/x-matroska" using="video-common"/>
<transcode mimetype="video/quicktime" using="video-common"/>
<transcode mimetype="video/oggtheora" using="video-common"/>
</mimetype-profile-mappings>
<profiles>
<profile name="oggflac2raw" enabled="yes" type="external">
<mimetype>audio/L16</mimetype>
<accept-url>no</accept-url>
<first-resource>yes</first-resource>
<accept-ogg-theora>no</accept-ogg-theora>
<agent command="ogg123" arguments="-d raw -f %out %in"/>
<buffer size="1048576" chunk-size="131072" fill-size="262144"/>
</profile>
<profile name="vlcmpeg" enabled="yes" type="external">
<mimetype>video/mpeg</mimetype>
<accept-url>yes</accept-url>
<first-resource>yes</first-resource>
<accept-ogg-theora>yes</accept-ogg-theora>
<agent command="vlc" arguments="-I dummy %in --sout #transcode{venc=ffmpeg,vcodec=mp2v,vb=4096,fps=25,aenc=ffmpeg,acodec=mpga,ab=192,samplerate=44100,channels=2}:standard{access=file,mux=ps,dst=%out} vlc:quit"/>
<buffer size="14400000" chunk-size="512000" fill-size="120000"/>
</profile>
<profile name="video-thumbnail" enabled="yes" type="external">
<mimetype>image/jpeg</mimetype>
<accept-url>yes</accept-url>
<thumbnail>yes</thumbnail>
<resolution>128x128</resolution>
<agent command="ffmpegthumbnailer" arguments="-i %in -o %out -s 128"/>
<buffer size="524288" chunk-size="512" fill-size="1024"/>
</profile>
<profile name="audio-common" enabled="yes" type="external">
<mimetype>audio/x-wav</mimetype>
<accept-url>yes</accept-url>
<first-resource>yes</first-resource>
<accept-ogg-theora>no</accept-ogg-theora>
<agent command="/etc/mediatomb/mediatomb-transcode-audio" arguments="%in %out"/>
<buffer size="1048576" chunk-size="131072" fill-size="262144"/>
</profile>
<profile name="video-common" enabled="yes" type="external">
<mimetype>video/mpeg</mimetype>
<accept-url>yes</accept-url>
<first-resource>yes</first-resource>
<accept-ogg-theora>yes</accept-ogg-theora>
<agent command="/etc/mediatomb/mediatomb-transcode-video-ffmpeg" arguments="%in %out"/>
<buffer size="52428800" chunk-size="524288" fill-size="1048576"/>
<!-- <buffer size="26214400" chunk-size="524288" fill-size="1048576"/> -->
<!-- <buffer size="14400000" chunk-size="512000" fill-size="120000"/> -->
</profile>
</profiles>
</transcoding>
</config>
</code></pre>
<span style="font-family: arial;">...then save the file ([Ctrl]+[x] then [Y])</span>.<br />
<br />
<span style="font-family: arial;">Make the 3 scripts you created executeable.</span> <br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> sudo chmod +x media*
</code></pre>
<span style="font-family: arial;"><br />Lastly restart Mediatomb.</span> <br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> sudo /etc/init.d/mediatomb restart
</code></pre>
<span style="font-family: arial;"><br />Create some symlinks in your root directory to your media directories.</span> <span style="font-family: arial;">For example linking my Music, Photos, Videos and Downloads directories within my home directory would go like this...</span><br />
<span style="font-family: courier new; font-weight: bold;"></span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> sudo ln -s ~/Videos /Videos
sudo ln -s ~/Music /Music
sudo ln -s ~/Photos /Photo
sudo ln -s ~/Download /Downloads
</code></pre>
<span style="font-size: 130%;"><span style="font-family: arial; font-weight: bold;"><br />Share some media</span></span><br />
<span style="font-family: arial;">To share some media from Mediatomb, open up a web browser and goto...</span><span style="font-family: arial;"> </span><span style="font-family: arial; font-weight: bold;">http://localhost:49152</span> <span style="font-family: arial;">You'll get the front page as below, select the [Filesystem] link...</span><br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSWiY-8ZEHopciVUfCqNXPCiaZ3l6Omf58aBUK_Upq6f7g8iSnG7lvu3qPqSkIIf-b_B_vssxqvwm5q1YRoriNDIHNxC7ZgdqGOJrE8A2Wx-EefYZ2FIWeAEv_OdjYV8h1tVT6/s1600-h/Screenshot.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5301950017985047266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSWiY-8ZEHopciVUfCqNXPCiaZ3l6Omf58aBUK_Upq6f7g8iSnG7lvu3qPqSkIIf-b_B_vssxqvwm5q1YRoriNDIHNxC7ZgdqGOJrE8A2Wx-EefYZ2FIWeAEv_OdjYV8h1tVT6/s320/Screenshot.png" style="cursor: pointer; display: block; height: 187px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />
<br />
<span style="font-family: arial;">Now select one of the symlinks you just created in the filesystem tree on the left <span style="font-weight: bold;">/Videos</span> for example, then select the "add autoscan" button.</span><br />
<br />
<span style="font-family: arial;">The 'Add Autoscan' button...</span><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgplZVbf_G-lr-Mfp-KFxqGaspVftsCZkCCSVCiDlqmYKLgmQIIEzU8Y8eAW0HZgczLd4XvaApbkV1qEIOw4Q9MUUjAJSwFv0SIaRSl7mg_tCM4rirbZ7cSxfz-iiDYjBuoxJYx/s1600-h/addautoscan.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5301601313339571346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgplZVbf_G-lr-Mfp-KFxqGaspVftsCZkCCSVCiDlqmYKLgmQIIEzU8Y8eAW0HZgczLd4XvaApbkV1qEIOw4Q9MUUjAJSwFv0SIaRSl7mg_tCM4rirbZ7cSxfz-iiDYjBuoxJYx/s400/addautoscan.png" style="cursor: pointer; float: left; height: 51px; margin: 0pt 10px 10px 0pt; width: 44px;" /></a><br />
<br />
<br />
<span style="font-family: arial;"><br /><br />Then select the options...</span><span style="font-family: arial;">Scan Mode: Timed</span><br />
<span style="font-family: arial;">Scan Level: Full</span><br />
<span style="font-family: arial;">Recursive: ticked</span><br />
<span style="font-family: arial;"><br />Enter scan interval in seconds.</span><br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmq6XPEDYi6rk6AwZTwZF6E038me03eQ9XiNu6iHCMeM4oNfYe9YHNp1kOWmAAcw826ouMN34g538d6skv-6qJtgBocjJiFXrMKGKKnf-8jc2qbvOxU2qbyLyx2dnvxBzLeh9f/s1600-h/Screenshot-2.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5301603768930568514" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmq6XPEDYi6rk6AwZTwZF6E038me03eQ9XiNu6iHCMeM4oNfYe9YHNp1kOWmAAcw826ouMN34g538d6skv-6qJtgBocjJiFXrMKGKKnf-8jc2qbvOxU2qbyLyx2dnvxBzLeh9f/s320/Screenshot-2.png" style="cursor: pointer; display: block; height: 187px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />
<span style="font-family: arial;">If the contents of the directory changes often and does not contain a great deal of files you may want to set this to something low like 300 seconds (5 minutes), however if the directory contains a huge amount of files (like my Music directory) you may want Mediatomb to only scan for changes every 21600 or 43200 seconds (6 or 12 hours) you could also reduce the scan level to 'Basic' to speed up scanning a large amount of files.</span><br />
<span style="font-family: arial;">Once done select the [Set] button, Mediatomb will start to scan the chosen directory.<br /><br />Select the next symlink in the root directory as required and repeat the process.<br /><br /><span style="font-size: 130%; font-weight: bold;">Playing your shared media on the PS3</span><br />Now on your PS3 run the 'Search for Media Servers' option, once found Mediatomb will show in the media menus and you can browse your shared content, videos and images will also have thumbnail previews...<br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3KccFogUBXD7PHu46ap4gtcT3-CD0tEDODgEkuDrytp-bqTj0AS1hNW6x68O7Bgw-iLoZxWhgn-rLT2XXTKfp4tg2gh4adfempUi_Q3Mk-9tWfjFb2qyUa3XSFyoVaB3EGZsg/s1600-h/img_5195+%28Modified%29.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5301584610440472178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3KccFogUBXD7PHu46ap4gtcT3-CD0tEDODgEkuDrytp-bqTj0AS1hNW6x68O7Bgw-iLoZxWhgn-rLT2XXTKfp4tg2gh4adfempUi_Q3Mk-9tWfjFb2qyUa3XSFyoVaB3EGZsg/s320/img_5195+%28Modified%29.jpg" style="cursor: pointer; display: block; height: 191px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />All works well however you cannot scan back & forward or pause transcoded media on the PS3 as it is effectively a 'live' stream.<br />The only way to pause is to hit the PS button to back out to the menu, pushing the PS button again will resume playback.<br /><br /><span style="font-size: 130%; font-weight: bold;">Hardware Limitations</span><br />The process of streaming transcoded content to your PS3 can be a good test of your server & network hardware.<br />My server has a 2.1GHz Intel Core 2 Duo with 6GB of 1066MHz DDR2 RAM along with 3TB of RAIDed SATA storage.<br />My network hangs off a very reliable but getting old Netgear Wi-Fi G / 100Mbps Ethernet router.<br /><br />My first tip will be <span style="font-weight: bold;">do not bother with wireless</span><span style="font-weight: bold;"> networking</span>.<br />You need some reliable bandwidth between the server and the PS3 so both need to be on a wired network.<br /><br />Additionally wireless networking is slow even if your wireless network is 108Mbps, that is 108Mbps <span style="font-style: italic; font-weight: bold;">shared</span> between all connected wireless devices.<br /><br />Once I started to experiment with streaming/transcoding 8GB 1080p Matroska (.mkv) files I found that there can be limitations even on the 100Mbps wired network </span><span style="font-family: arial;">during fast-action high-detail scenes (smashing glass, moving water, flocks of birds)</span><span style="font-family: arial;">.<br />Pressing [Select] on the PS3 controller when playing these videos shows the video bandwidth on the top right of the screen.<br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsXyddest8XZeKYJAu3QMtJGjUpiXqh6J2XZAC_RRqiU4tS-gkyyyqyRUoPx2Izt8voiUztSjvcfjHhhVmEl3ESMgY9KBsyWqow8NLksCyS83X41ZffL25HAulBv6D2KQIqESN/s1600-h/img_5197+%28Modified%29.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5301599192078503634" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsXyddest8XZeKYJAu3QMtJGjUpiXqh6J2XZAC_RRqiU4tS-gkyyyqyRUoPx2Izt8voiUztSjvcfjHhhVmEl3ESMgY9KBsyWqow8NLksCyS83X41ZffL25HAulBv6D2KQIqESN/s320/img_5197+%28Modified%29.jpg" style="cursor: pointer; display: block; height: 99px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br /><br />Additionally when I started to test 720p - 1080p Matroska videos the 2.1 GHz Core 2 Duo was not fast enough to transcode in realtime during the fast-action high-detail scenes resulting in choppy video output on the PS3.</span><br />
<span style="font-family: arial;"><br />After much testing and changing of video bandwidths to find the sweetspot between network bandwidth and CPU load I settled on the bandwidths found in the above 'mediatomb-transcode-video' scripts and a CPU overclocked to 2.9GHz to do the job.<br />Therefore the suggested hardware requirements are as follows...<br /><br /><span style="font-size: 130%; font-weight: bold;">DLNA Server Hardware Requirements</span><br />Intel Core 2 Duo 2.9GHz or better (for transcoding proper HD videos)<br />100-1000 Mbps wired LAN<br /><br /><br />Enjoy!</span>Anonymoushttp://www.blogger.com/profile/11328803239964768305noreply@blogger.com9tag:blogger.com,1999:blog-13852983.post-82052521384788060052009-01-10T14:24:00.020+00:002013-04-04T13:47:17.049+01:00Truecrypt 6/7 on CentOS 5<div style="margin-bottom: 0cm;">
<span style="font-family: arial;">Truecrypt is available as a Red Hat/CentOS package on RPMForge, however I found that it's problematic and only supports FAT disks. I needed to use Truecrypt to encrypt a USB drive that is going to store files larger than 4GB so FAT isn't an option.</span></div>
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-family: arial;">There's many conflicting accounts on various forums on how to compile Truecrypt on CentOS 5 however the most helpful was still the README provided in the source package which still required a bit of trial and error to get a working binary at the end.<br />Therefore here's my walkthrough on the quickest, simplest way to get Truecrypt 6.1 compiled and working on a vanilla CentOS 5 installation.</span></div>
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-family: arial;">Switch user to root.</span></div>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> su -
</code></pre>
<br />
<div style="font-family: arial; margin-bottom: 0cm;">
<i><span style="font-family: arial;">** UPDATE - RPMForge was merged into RPMFusion which also requires the EPEL repo on RHEL/CentOS** </span></i></div>
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-family: arial;">Firstly setup access to <a href="http://fedoraproject.org/wiki/EPEL" target="_blank">the EPEL repositories</a>, download <a href="http://mirror.bytemark.co.uk/fedora/epel/5/i386/repoview/epel-release.html" target="_blank">the latest EL5 RPM from their repo</a>. This package just installs the EL5 repo file and the required GPG keys, install it with;</span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> rpm -i /pathtoyour/epel-release-5??.noarch.rpm
</code></pre>
<br />
<span style="font-family: arial;">The RPMFusion repository provides decent packages for fuse and wxwidgets which are required by Truecrypt, this really simplifies the process as I found setting up wxwidgets & fuse from source to be a chore.</span></div>
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-family: arial;">Upto date instructions for enabling this repo is at <a href="http://rpmfusion.org/Configuration">rpmfusion.org/Configuration</a></span>, the correct command-line for downloading & installing free & nonfree RPMFusion repos at time of writing is;<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> rpm -Uvh http://download1.rpmfusion.org/free/el/updates/5/i386/rpmfusion-free-release-5-1.noarch.rpm http://download1.rpmfusion.org/nonfree/el/updates/5/i386/rpmfusion-nonfree-release-5-1.noarch.rpm
</code></pre>
<br /></div>
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-family: arial;">Once RPMFusion is setup then install the following packages and their dependencies;</span></div>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> yum install gcc gcc-c++ gnome-keyring-devel kernel-devel kernel-headers wxGTK wxGTK-devel fuse fuse-devel fuse-ntfs-3g
</code></pre>
<br />
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-family: arial;">Next download the Mac OSX/Linux source package from the Truecrypt website at </span><a href="http://www.truecrypt.org/downloads2.php"><span style="font-family: arial;">http://www.truecrypt.org/downloads2.php</span></a><span style="font-family: arial;"> and save it somewhere. In this example I've saved it to /tmp.</span></div>
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-family: arial;">Now in a terminal goto the location of the archive and unpack it.</span></div>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> cd /tmp
tar xvfz “TrueCrypt 7.1a Source.tar.gz”
</code></pre>
<br />
<div style="font-weight: bold;">
<span style="font-family: arial;"></span></div>
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-family: arial;">... cd to the new directory containing the extracted source code</span></div>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> cd truecrypt-7.1a-source
</code></pre>
<br />
<div style="font-weight: bold;">
<span style="font-family: arial;"></span></div>
<div style="font-family: arial; margin-bottom: 0cm;">
<br />
<span style="font-family: arial;">Download the RSA Cryptoki 2.20 header files required by Truecrypt into the source directory.</span>
</div>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> wget ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/*.h
</code></pre>
<br />
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-family: arial;">Compile Truecrypt.</span><br />
<i><span style="font-family: arial;">*UPDATE: Include the NOASM flag to prevent assembly with nasm*</span></i>
</div>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> make NOASM=1
</code></pre>
<br />
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-family: arial;">The compilation process should now breeze through with no errors.</span></div>
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-family: arial;">Now copy the compiled binary to /usr/bin</span></div>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> cp -p Main/truecrypt /usr/bin/
chmod +x /usr/bin/truecrypt
</code></pre>
<br />
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-family: arial;">You can now start Truecypt from a root terminal.</span></div>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> truecrypt
</code></pre>
<br />
<span style="font-weight: bold;"><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvSfA78CB3j0FJ65jDp0T0CF0BSrleUzxOjwpApXfpgBgBzrUzI-WVZjf9aWRdHpoDudD7_1lN4PPL6SkMuDa-Qt5ieNRlgS8AJydVI3dlrJgDTFElls09N4FFfmWWWrYEUmYj/s1600-h/Screenshot.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><span style="font-family: arial;"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5289725424106305666" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvSfA78CB3j0FJ65jDp0T0CF0BSrleUzxOjwpApXfpgBgBzrUzI-WVZjf9aWRdHpoDudD7_1lN4PPL6SkMuDa-Qt5ieNRlgS8AJydVI3dlrJgDTFElls09N4FFfmWWWrYEUmYj/s320/Screenshot.png" style="cursor: pointer; display: block; height: 240px; margin: 0px auto 10px; text-align: center; width: 320px;" /></span></a></span> <br />
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-weight: bold;"><span style="font-family: arial;"><br /></span></span></div>
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-weight: bold;"><span style="font-family: arial;">Swapping encrypted disks between Linux & Windows systems</span></span></div>
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-family: arial;">My requirement for Truecrypt on CentOS was for transporting sensitive data on an encrypted USB hard disk to one of our software suppliers. The guys receiving the data run Windows on their systems whereas we run HP-UX, RHEL & CentOS on our systems<span style="font-family: arial;">, </span>Truecrypt was the only decent open-source cross-platform solution that would enable us to securely transport the encrypted data without it being too technical for the guys receiving it.<br />However I was a bit disappointed with how different the Windows version was to the Linux version and it became apparent that the project still needs some direction in terms of enhancing the cross-platform nature of Truecrypt.<br /><br />One area where this was apparent was the filesystem options available in the GUI, the Windows version only had options to create or mount FAT32 & NTFS encrypted filesystems whereas the Linux version only had options for FAT32, Ext3 & Ext2 filesystems.</span></div>
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-family: arial;">If you intend to swap an encypted disk with large file support between Linux & Windows platforms, it is not possible to do this by using the Truecrypt GUIs alone.<br />After some time testing the best solution for this was to use a NTFS filesystem on the USB disk and encrypt the whole filesystem on a Windows platform using the GUI.<br />When it comes to using the encrypted disk on the Linux platform you have to mount and dismount it with Truecrypt's command-line options as the GUI does not support this.</span></div>
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-family: arial;"><span style="font-weight: bold;"><br /></span></span></div>
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-family: arial;"><span style="font-weight: bold;">Examples</span></span></div>
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-family: arial;">To mount the encrypted NTFS volume on Linux;<br />As root substituting the 'correctpassword', the device path & the mountpoint as appropriate...</span></div>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> truecrypt -t --filesystem=ntfs-3g -k "" --protect-hidden=no --fs-options=user,users,gid-users,umask=0002 -p correctpassword /dev/sdx1 /pathto/mountpoint
</code></pre>
<br />
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-family: arial;"><span style="font-family: courier new; font-weight: bold;"></span>To unmount the encrypted volume;<br />As root...</span></div>
<div face="arial" style="font-family: courier new; font-weight: bold; margin-bottom: 0cm;">
</div>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> truecrypt -t -d /dev/sdx1
</code></pre>
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-family: arial;">or...</span></div>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zjtWd9fuLyrIfBmGLIEscY0f1MZGqpZ4OMt1KNj9GCFZFI62aBs6CjsrcX7ez_iWXDFa5n-3RAxAyLlfngGNrV27OPm0e6HDYg1EzEIFJQskMienGOg75kNy3BeuDBNZofU0Rg/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> truecrypt -d /pathto/mountpoint
</code></pre>
<br />
<div style="font-family: arial; margin-bottom: 0cm;">
<span style="font-family: arial;"><span style="font-weight: bold;">What doesn't work?</span></span></div>
<ul>
<li><span style="font-family: arial;">Truecrypt on Windows will not mount an encrypted Ext2 or Ext3 filesystem, even with <a href="http://www.fs-driver.org/">an appropriate Ext filesystem</a> driver installed.</span></li>
<li><span style="font-family: arial;">Truecrypt on Linux will not mount an encrypted file container, mounting a file residing on an already mounted filesystem seems to be the problem.</span></li>
<li><span style="font-family: arial;">The Linux Truecrypt GUI cannot gain elevated privileges after entering your sudo password, even if sudo/sudoers is setup correctly, therefore su to root before executing the GUI from a terminal.</span></li>
<li><span style="font-family: arial;">The Truecrypt GUI on Linux cannot mount encrypted NTFS filesystems<span style="font-weight: bold;"><br /></span></span></li>
</ul>
Anonymoushttp://www.blogger.com/profile/11328803239964768305noreply@blogger.com15tag:blogger.com,1999:blog-13852983.post-16567083843386333192007-09-20T19:14:00.001+01:002009-01-10T17:46:17.263+00:00Running the QW:ET Demo on Fedora 7<span style="font-size:180%;"></span>Now one really cool thing that I <span style="font-weight: bold;">gotta</span> share has pretty much occupied my <span style="font-weight: bold;">whole</span> day today, and with damn good reason too.<br />The <a href="http://www.enemyterritory.com/">Quake Wars: Enemy Territory</a> demo was released recently to much <span class="blsp-spelling-corrected" id="SPELLING_ERROR_0">excitement</span> and draining of bandwidth across file repository sites around the globe, I too downloaded the file and eagerly waited for the download to finish.<br /><br />Now I <span style="font-weight: bold;">only</span> use Linux on my computers. I choose to not allow a certain very well known, bloated, overpriced, featureless <span class="blsp-spelling-error" id="SPELLING_ERROR_1">trojan</span>-horse of an operating system anywhere near them as I prefer my PCs to be fast, secure, stable and also include a lot of cool, leading edge stuff to play with.<br />There are many other reasons why I use open source software, I'm sure they'll ooze out in future posts but not today.<br /><br />Therefore I had my fingers crossed hoping that this demo would work on my Fedora desktop.<br />I first tried <span class="blsp-spelling-error" id="SPELLING_ERROR_2">Cedega</span> as I pay for the thing (God knows why!) it didn't even install!<br />I installed Wine from the Fedora repositories, <span class="blsp-spelling-error" id="SPELLING_ERROR_3">QW</span>:ET installed OK and I sorted out a few other bits and bobs but the demo Didn't run :(<br /><span class="blsp-spelling-error" id="SPELLING_ERROR_4">QW</span>:ET came back with something along the lines of a 'Display must support 32<span class="blsp-spelling-error" id="SPELLING_ERROR_5">bpp</span> colours' message. Damn! X only supports 24bit. I walked away defeated.<br /><br />Today I stumbled across an brill little how-to on the <span class="blsp-spelling-error" id="SPELLING_ERROR_6">QW</span>:ET forum which was a little collection of links & tips gathered by stoic_ails over at the forum. The original how-to can be found over at <a href="http://community.enemyterritory.com/forums/showthread.php?t=9115">http://community.enemyterritory.com/forums/showthread.php?t=9115</a>.<br />Therefore I do not take credit for this info, all I have done is correct & expand the odd bit here & there and stick it all in nice <span class="blsp-spelling-error" id="SPELLING_ERROR_7">bloggy</span> format for all to hail mightily so here goes.<br /><br /><span style="font-size:180%;">Preparation</span><br />Firstly I got rid of my Yum installed Wine (0.9.42) installation as this did not have the patches required to get round the 32bit display message.<br /><br /><span style="font-weight: bold;"><span style="font-size:130%;">UPDATE</span><br />Wine 0.9.46 is now in many distro's repositories which works OK with the QW:ET demo without patching.<br /><br />Therefore if you have Wine 0.9.46 or later from your package manager you don't have to compile Wine yourself anymore and you can skip steps 1-9c and kick off from step 10a.</span><br /><br />I logged in as root, entered the root password and removed wine using yum;<br /><blockquote style="font-weight: bold;"><span class="blsp-spelling-error" id="SPELLING_ERROR_8">su</span> -<br />yum remove wine</blockquote><br />If you are using a different distribution, maybe one of those crazy Debian based affairs, you may want to remove Wine as follows;<br /><blockquote style="font-weight: bold;"><span class="blsp-spelling-error" id="SPELLING_ERROR_9">sudo</span> apt-get remove wine</blockquote><br /><span style="font-size:100%;">Then I was ready to go...<br />Do everything by the book and you'll be rocking the <span class="blsp-spelling-error" id="SPELLING_ERROR_10">QW</span>:ET with the rest of us. Until the native Linux version of the full game is released around the end of October.<br /><br /><span style="font-weight: bold;">I already had the <span class="blsp-spelling-error" id="SPELLING_ERROR_11">Nvidia</span> binary Linux drivers installed on my system and I assume that your system also has 3D acceleration enabled, the process of installing <span class="blsp-spelling-error" id="SPELLING_ERROR_12">proprietory</span> graphics drivers is not covered here.<br />If you're expecting to run <span class="blsp-spelling-error" id="SPELLING_ERROR_13">QW</span>:ET without any 3D acceleration then you are proper silly.</span><br /></span><br />Oh yeah of course, download the QW:ET demo as well. I got it from Filefront.com as the downloads are fast with no queues and no registration required. Download link below.<br /><a href="http://files.filefront.com/Enemy+Territory+QUAKE+Wars+PC+Demo/;8521725;/fileinfo.html" title="Enemy Territory: QUAKE Wars PC Demo"><img style="border: medium none ;" src="http://static1.filefront.com/ffv6/graphics/b_dl_now.gif" alt="Enemy Territory: QUAKE Wars PC Demo" /></a><br /><br /><span style="font-size:180%;">The How-To</span><span style="font-size:100%;"><br />1. Get the latest wine source; in this case 0.9.44: <a href="http://prdownloads.sourceforge.net/wine/wine-0.9.44.tar.bz2" target="_blank">http://prdownloads.sourceforge.net/w...0.9.44.tar.bz2</a><br /><br />2a. In your home directory, make a directory called <span style="font-weight: bold;">wine</span><br /><span style="font-weight: bold;"><blockquote>mkdir ~/wine</blockquote></span><br />2b. Copy the archive to the new directory ~/wine :<br /><blockquote style="font-weight: bold;"><span class="blsp-spelling-error" id="SPELLING_ERROR_14">cp</span> wine-0.9.44.tar.bz2 ~/wine/</blockquote><br />3. Change to that directory:<br /><blockquote><span style="font-weight: bold;" class="blsp-spelling-error" id="SPELLING_ERROR_15">cd</span><span style="font-weight: bold;"> ~/wine/</span></blockquote><br />3. Unpack the archive:<br /><blockquote style="font-weight: bold;">tar <span class="blsp-spelling-error" id="SPELLING_ERROR_16">xvfj</span> wine-0.9.44.tar.bz2<br /></blockquote><br />4a. Open <a href="http://bugs.winehq.org/attachment.cgi?id=6039&action=view" target="_blank">http://bugs.winehq.org/attachment.cg...39&action=view</a> and copy it (<span class="blsp-spelling-error" id="SPELLING_ERROR_17">ctrl</span>+a & <span class="blsp-spelling-error" id="SPELLING_ERROR_18">ctrl</span>+c) into a file called <span style="font-weight: bold;">patch1</span>.<br /><br />4b. Open <a href="http://bugs.winehq.org/attachment.cgi?id=6849&action=view" target="_blank">http://bugs.winehq.org/attachment.cg...49&action=view</a> and copy it (<span class="blsp-spelling-error" id="SPELLING_ERROR_19">ctrl</span>+a & <span class="blsp-spelling-error" id="SPELLING_ERROR_20">ctrl</span>+c) into a file called <span style="font-weight: bold;">patch2</span>.<br /><br />4c. Change directory to where you've saved the <span style="font-weight: bold;">patch1</span> & <span style="font-weight: bold;">patch2</span> files too, maybe your desktop for example.<br /><span style="font-weight: bold;"><blockquote>cd ~/Desktop</blockquote></span><br />5a. Copy patch1 to the wine source directory:<br /><blockquote style="font-weight: bold;"><span class="blsp-spelling-error" id="SPELLING_ERROR_21">cp</span> patch1 ~/wine/wine-0.9.44/</blockquote><br />5b. Copy patch2 to the wine source directory:<br /><blockquote style="font-weight: bold;"><span class="blsp-spelling-error" id="SPELLING_ERROR_22">cp</span> patch2 ~/wine/wine-0.9.44/</blockquote><br />6. Change to the wine source directory:<br /><span style="font-weight: bold;"><blockquote><span class="blsp-spelling-error" id="SPELLING_ERROR_23">cd</span> ~/wine/wine-0.9.44/</blockquote></span><br />6a. Patch the wine source:<br /><span style="font-weight: bold;"><blockquote>patch -p1 < patch1</blockquote><br /></span><span><span style="font-size:100%;">6b. Patch the wine source:</span></span><span style="font-weight: bold;"><span style="font-size:100%;"><br /><span style="font-weight: bold;"><blockquote>patch -p1 < patch2</blockquote><br /></span></span></span><span><span style="font-size:100%;"><span>7a. Run configure:</span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><br /><blockquote><b>./configure</b></blockquote></span></span></span><span><span style="font-size:100%;"><span><br />7b. If <span style="font-weight: bold;">configure</span> complains about missing packages, stop here and install the missing packages...<br />For those using Debian/<span class="blsp-spelling-error" id="SPELLING_ERROR_24">Ubuntu</span>/Linux Mint/etc. it'd go something like:<br /><span style="font-weight: bold;"><blockquote> sudo apt-get install flex bison <span class="blsp-spelling-error" id="SPELLING_ERROR_25">fontforge</span></blockquote> </span><br />For those very sensible lot running Fedora/Red Hat type distros:<br /><span> </span><blockquote><span><span style="font-weight: bold;">su -<br />yum install </span></span><span style="font-weight: bold;"><span class="blsp-spelling-error" id="SPELLING_ERROR_26">fontforge<br />exit<br /></span></span></blockquote><br />...and run <span style="font-weight: bold;">./configure</span> again.</span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><br /><br /></span></span></span><span><span style="font-size:100%;"><span>7c. Go ahead when configure finished successfully.</span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><br /><br /></span></span></span><span><span style="font-size:100%;"><span>8a. Run the following command:</span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><br /><blockquote><b>make depend && make</b></blockquote><br /></span></span></span><span><span style="font-size:100%;"><span>8b. Wait and hope that <span class="blsp-spelling-error" id="SPELLING_ERROR_27">there's</span> no errors.<br /><br />8c. Go ahead when make finished successfully.<br /><br />9a. Change to user root:</span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><br /><blockquote><b><span class="blsp-spelling-error" id="SPELLING_ERROR_28">su</span></b></blockquote><br /></span></span></span><span><span style="font-size:100%;"><span>9b. Run:</span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><br /><b><blockquote>make install</blockquote></b><br /></span></span></span><span><span style="font-size:100%;"><span>9c. When the install has finished, exit from root:</span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><br /><span style="font-weight: bold;"><blockquote>exit</blockquote></span><br /></span></span></span><span><span style="font-size:100%;"><span>10a. Run:</span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><br /><b><blockquote><span class="blsp-spelling-error" id="SPELLING_ERROR_29">regedit</span></blockquote></b><br /></span></span></span><span><span style="font-size:100%;"><span>10b. Go to <span style="font-weight: bold;" class="blsp-spelling-error" id="SPELLING_ERROR_30">HKEY</span><span style="font-weight: bold;">_CURRENT_USER/Software/Wine/</span><br /><br />10c. Add the key <span style="font-weight: bold;">X11 Driver</span><br /><br />10d. Add the string <span style="font-weight: bold;" class="blsp-spelling-error" id="SPELLING_ERROR_31">ScreenDepth</span> with the value <span style="font-weight: bold;">32</span> (<a href="http://bdachc.netcay.ch/downloads/etqw/etqw_demo_howto/regedit.png" target="_blank">Screenshot</a>)<br /><span style="font-size:100%;"><br />11. Download <a href="http://tacticalsites.com/%7Elorian/files/wine-etqw/system32.tar.bz2" target="_blank">http://tacticalsites.com/~lorian/fil...stem32.tar.bz2</a><br /><br />12. Copy the archive to your wine system32 directory:</span></span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><span style="font-size:100%;"><br /><span style="font-weight: bold;"><blockquote><span class="blsp-spelling-error" id="SPELLING_ERROR_32">cp</span> system32.tar.bz2 ~/.wine/drive_c/windows/system32/</blockquote></span><br /></span></span></span></span><span><span style="font-size:100%;"><span><span style="font-size:100%;">13. Change to that directory:</span></span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><span style="font-size:100%;"><br /><blockquote><span class="blsp-spelling-error" id="SPELLING_ERROR_33">cd</span> ~/.wine/drive_c/windows/system32/</blockquote><br /></span></span></span></span><span><span style="font-size:100%;"><span><span style="font-size:100%;">14a. Unpack the archive:</span></span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><span style="font-size:100%;"><br /><span style="font-weight: bold;"><blockquote>tar <span class="blsp-spelling-error" id="SPELLING_ERROR_34">xfvj</span> system32.tar.bz2</blockquote></span><br /></span></span></span></span><span><span style="font-size:100%;"><span><span style="font-size:100%;">15a. Run:</span></span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><span style="font-size:100%;"><br /><blockquote><span class="blsp-spelling-error" id="SPELLING_ERROR_35">winecfg</span></blockquote><br /></span></span></span></span><span><span style="font-size:100%;"><span><span style="font-size:100%;">15b. Set the windows version to <span style="font-weight: bold;">Windows </span><span style="font-weight: bold;" class="blsp-spelling-error" id="SPELLING_ERROR_36">XP</span> (<a href="http://bdachc.netcay.ch/downloads/etqw/etqw_demo_howto/xp.png" target="_blank">Screenshot</a>)<br /><br />15c. Go to libraries and set <span style="font-weight: bold;"><span class="blsp-spelling-error" id="SPELLING_ERROR_37">wtsapi</span>32</span> to <span style="font-weight: bold;">Native (Windows)</span> (<a href="http://bdachc.netcay.ch/downloads/etqw/etqw_demo_howto/native.png" target="_blank">Screenshot</a>)</span></span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><span style="font-size:100%;"><br /><br /></span></span></span></span><span><span style="font-size:100%;"><span><span style="font-size:100%;">16a. Install the ET:<span class="blsp-spelling-error" id="SPELLING_ERROR_38">QW</span> Demo:</span></span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><span style="font-size:100%;"><br /><span style="font-weight: bold;"><blockquote>wine <span class="blsp-spelling-error" id="SPELLING_ERROR_39">ETQuakeWarsDemoSetup</span>.<span class="blsp-spelling-error" id="SPELLING_ERROR_40">exe</span></blockquote></span><br /></span></span></span></span><span><span style="font-size:100%;"><span><span style="font-size:100%;">16b. There might be some complaints, just click '<span class="blsp-spelling-error" id="SPELLING_ERROR_41">ok</span>' :P</span></span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><span style="font-size:100%;"><br /><br /></span></span></span></span><span><span style="font-size:100%;"><span><span style="font-size:100%;">17. Download <a href="http://tacticalsites.com/%7Elorian/files/wine-etqw/vcredist_x86.exe.bz2" target="_blank">http://tacticalsites.com/~lorian/fil...st_x86.exe.bz2</a></span></span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><span style="font-size:100%;"><br /><br /></span></span></span></span><span><span style="font-size:100%;"><span><span style="font-size:100%;">18. </span></span></span></span><span><span style="font-size:100%;"><span><span style="font-size:100%;">Unpack</span></span></span></span><span><span style="font-size:100%;"><span><span style="font-size:100%;"> it:</span></span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><span style="font-size:100%;"><br /><span style="font-weight: bold;"><blockquote><span class="blsp-spelling-error" id="SPELLING_ERROR_42">bunzip</span>2 vcredist_x86.exe.bz2</blockquote></span><br /></span></span></span></span><span><span style="font-size:100%;"><span><span style="font-size:100%;">19. Run:</span></span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><span style="font-size:100%;"><br /><span style="font-weight: bold;"><blockquote>wine <span class="blsp-spelling-error" id="SPELLING_ERROR_43">vcredist</span>_x86.<span class="blsp-spelling-error" id="SPELLING_ERROR_44">exe</span></blockquote></span><br /></span></span></span></span><span><span style="font-size:100%;"><span><span style="font-size:100%;">2</span></span></span></span><span><span style="font-size:100%;"><span><span style="font-size:100%;">0. Check that <span style="font-weight: bold;"><span class="blsp-spelling-error" id="SPELLING_ERROR_45">msvcr</span>80.<span class="blsp-spelling-error" id="SPELLING_ERROR_46">dll</span></span>, <span style="font-weight: bold;">Microsoft.VC80.CRT.manifest</span> and <span style="font-weight: bold;">Microsoft.Windows.Common-Controls.manifest</span> are neither in the <span style="font-weight: bold;">system32</span>, nor in the game directory. If they are, delete them.<br /><br />21. Change to your ET:<span class="blsp-spelling-error" id="SPELLING_ERROR_47">QW</span> Demo installation, e.g.:</span></span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><span style="font-size:100%;"><br /><span style="font-weight: bold;"><blockquote><span class="blsp-spelling-error" id="SPELLING_ERROR_48">cd</span> ~/.wine/drive_c/Program\ Files/id\ Software/Enemy\ Territory\ -\ QUAKE\ Wars\ Demo/</blockquote></span></span></span></span></span><span><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-style: italic;">(notice any spaces in directory names have to be preceded with a backslash)</span></span></span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><span style="font-size:100%;"><br /><br /></span></span></span></span><span><span style="font-size:100%;"><span><span style="font-size:100%;">22. You can start ET:<span class="blsp-spelling-error" id="SPELLING_ERROR_49">QW</span> Demo like this:</span></span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><span style="font-size:100%;"><br /><span style="font-weight: bold;"><blockquote>nice -n19 <span class="blsp-spelling-error" id="SPELLING_ERROR_50">wineserver</span> && wine <span class="blsp-spelling-error" id="SPELLING_ERROR_51">etqw</span>.<span class="blsp-spelling-error" id="SPELLING_ERROR_52">exe</span></blockquote></span></span></span></span></span><span><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-style: italic;"> (This way, <span class="blsp-spelling-error" id="SPELLING_ERROR_53">wineserver</span> won't use too much CPU time)<br /></span><span>Or you can be all gung-ho like me and have a launcher icon that runs:<br /><span style="font-weight: bold;"><blockquote>env WINEPREFIX="/home/vin/.wine" wine "C:\Program Files\id Software\Enemy Territory - QUAKE Wars Demo\etqw.exe"</blockquote></span><br /></span></span></span></span></span><span><span style="font-size:100%;"><span><span style="font-size:100%;">23. Before joining a game, the mouse can behave weird in the menu. But after joining it's just fine, like the whole game.<br /><br />24. You can now clean up and get rid of the <span style="font-weight: bold;">~/wine</span> directory if you want:<br /><span style="font-weight: bold;"><blockquote>rm -rf ~/wine</blockquote></span><br /></span></span></span></span><span style="font-weight: bold;"><span style="font-size:100%;"><span style="font-weight: bold;"><br /><br /></span></span></span><span><span style="font-size:100%;"><span><span style="font-size:180%;">The Results</span><br />The guy who originally wrote this how-to also pointed out that he found that <span class="blsp-spelling-error" id="SPELLING_ERROR_54">QW</span>:ET running under Wine on Linux was actually performing better for him that under Windows <span class="blsp-spelling-error" id="SPELLING_ERROR_55">XP</span> & Windows Vista on a similar spec PC. I don't really find this surprising as I have seen similar comparisons with other games which had similar outcomes, especially against Vista as it's a dog.<br /><br />When I got round to toying with the graphics settings I found that just sticking the detail on 'High' prevented the level from loading, so I chose the 'Custom' settings and set most of rendering details to "High", the Anti-Aliasing could not be enabled. I'd put that down possibly to the version of the <span class="blsp-spelling-error" id="SPELLING_ERROR_56">DirectX</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_57">API</span> under Wine.<br /></span></span></span></span><span style="font-size:100%;"><span><span style="font-size:100%;"><span><br />Anyway that's not really a problem as it looked fantastic at 1280x1024 resolution and I was seeing frame-rates between 30-40+ FPS on my system during online <span class="blsp-spelling-error" id="SPELLING_ERROR_58">gameplay</span> with 31 other players together with all the high-end weather, plants, 'soft particle' effects and all that fancy stuff which simply looks fantastic.<br /></span></span></span></span><span style="font-size:100%;"><span><span style="font-size:100%;"><span>Punkbuster doesn't work so I just filtered out the punkbuster servers out of the server list, no biggy.</span></span></span></span><br /><span style="font-size:100%;"><span><span style="font-size:100%;"><span><br /><br /><span style="font-weight: bold;">My system?</span><br /><span>Fedora 7</span><br /><span>Intel Core 2 Duo 2.33 GHz</span><br /><span>1GB <span class="blsp-spelling-error" id="SPELLING_ERROR_59">DDR</span>2 PC8500+ RAM (1066<span class="blsp-spelling-error" id="SPELLING_ERROR_60">Mhz</span>)</span><br /><span><span class="blsp-spelling-error" id="SPELLING_ERROR_61">Nvidia</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_62">GeForce</span> 7600GS <span class="blsp-spelling-error" id="SPELLING_ERROR_63">PCIe</span> 16x</span><br /><span><span class="blsp-spelling-error" id="SPELLING_ERROR_64">Nvidia</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_65">HD</span> 7.1 sound</span><br /><br /><br />Kill ya later...</span></span></span></span>Anonymoushttp://www.blogger.com/profile/11328803239964768305noreply@blogger.com0