<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Talk Unafraid &#187; ubuntu</title>
	<atom:link href="http://www.talkunafraid.co.uk/tag/ubuntu/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.talkunafraid.co.uk</link>
	<description>The (occasionally coherent) ramblings of a geek</description>
	<lastBuildDate>Sat, 07 Jan 2012 22:24:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Misbehaving EDID in nVidia Linux Drivers</title>
		<link>http://www.talkunafraid.co.uk/2011/08/misbehaving-edid-in-nvidia-linux-drivers/</link>
		<comments>http://www.talkunafraid.co.uk/2011/08/misbehaving-edid-in-nvidia-linux-drivers/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 00:39:34 +0000</pubDate>
		<dc:creator>James Harrison</dc:creator>
				<category><![CDATA[Odds and Ends]]></category>
		<category><![CDATA[edid]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[nvidia]]></category>
		<category><![CDATA[projector]]></category>
		<category><![CDATA[twinview]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[xorg.conf]]></category>

		<guid isPermaLink="false">http://www.talkunafraid.co.uk/?p=1339</guid>
		<description><![CDATA[I know, I know, long time without a post! I&#8217;ve been busy. Normal service will be resumed here shortly! So the other day I wanted to hook up an old projector I&#8217;d gotten my hands on a while back to my MythTV box in a dual-screen (TwinView) configuration. So I duly plugged it in. Nothing [...]]]></description>
			<content:encoded><![CDATA[<p>I know, I know, long time without a post! I&#8217;ve been busy. Normal service will be resumed here shortly!</p>
<p>So the other day I wanted to hook up an old projector I&#8217;d gotten my hands on a while back to my MythTV box in a dual-screen (TwinView) configuration. So I duly plugged it in. Nothing happened. Updated the drivers (Ubuntu 10.10) through the hardware drivers panel, and while my normal monitor was fine, the projector wouldn&#8217;t allow a resolution greater than 640&#215;480. Annoying.</p>
<p>Fortunately, I could trace this down to the EDID data from the projector being dodgy (or something along the way causing problems- the cable is a dodgy thing from China, so that&#8217;s a potential culprit). Basically, nVidia&#8217;s drivers don&#8217;t let you ignore EDID data, even with the NoEDID option in xorg.conf.</p>
<p><span id="more-1339"></span></p>
<p>So what you end up having to do is actually pretty simple- basically, take the EDID from a working monitor and apply it to the broken display in xorg.conf. Dump the edid.bin through nvidia-settings, the GUI utility, and copy it up to /etc/X11/edid.bin.</p>
<p>Then you just edit your xorg.conf like so:</p>
<pre># This monitor is our dodgy one.
Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "CRT-0"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
    # Note the option below.
    Option "CustomEDID" "CRT-0:/etc/X11/edid.bin"
    Option "PreferredMode" "1024x768"
#    Option "NoEDID" "True"
# This doesn't work! Ignore it.
EndSection
# This monitor works with default EDID from the monitor.
Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "Samsung SyncMaster"
    HorizSync       63.6 - 63.6
    VertRefresh     60.0
EndSection</pre>
<p>And bam, you&#8217;ve got a working display! As I understand it, this will limit you to the resolutions in the EDID file, but if the monitors are a match or similar, this should work.</p>
<p>Finding out about this trick saved me many, many hours of fiddling about with xorg.conf, so I hope you too find this useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.talkunafraid.co.uk/2011/08/misbehaving-edid-in-nvidia-linux-drivers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MythTV and Freesat</title>
		<link>http://www.talkunafraid.co.uk/2011/06/mythtv-and-freesat/</link>
		<comments>http://www.talkunafraid.co.uk/2011/06/mythtv-and-freesat/#comments</comments>
		<pubDate>Sat, 25 Jun 2011 17:01:54 +0000</pubDate>
		<dc:creator>James Harrison</dc:creator>
				<category><![CDATA[Awesome Stuff]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[dvb-s]]></category>
		<category><![CDATA[dvb-s2]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[mythtv]]></category>
		<category><![CDATA[satellite]]></category>
		<category><![CDATA[servers]]></category>
		<category><![CDATA[stuffisawesome]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.talkunafraid.co.uk/?p=1333</guid>
		<description><![CDATA[Or- how to make TV worthwhile if you happen to have a leftover Sky dish on your house. So when I moved in to my current university digs, the previous tenants had left a few things behind. Notably, they&#8217;d had Sky. So we had a Sky box in the living room and a dish on [...]]]></description>
			<content:encoded><![CDATA[<p>Or- how to make TV worthwhile if you happen to have a leftover Sky dish on your house.</p>
<p>So when I moved in to my current university digs, the previous tenants had left a few things behind. Notably, they&#8217;d had Sky. So we had a Sky box in the living room and a dish on the wall. In the UK, if you want fast internet these days, you need Virgin Media. VM gives you cable TV in the bundle, so I didn&#8217;t want to pay for Sky. But Freesat&#8217;s got some nice stuff on it, including BBC HD and that sort of thing. So how about we get ourselves some free TV?<span id="more-1333"></span></p>
<p>Now, Sky uses the same satellite for the UK as a lot of Freesat stuff. So ignore the dish- all you need is to leave that bit alone, and make sure that you&#8217;ve got a cable from the dish LNB to somewhere you can put your PC. Where it&#8217;s pointed is probably 28.2 East, which has a bunch of appropriate satellites.</p>
<p>What you then need is a capture card. DVB-S is the standard for satellite, though DVB-S2 is used for some HD encoding (specifically, BBC HD is now on DVB-S2). DVB-T is for terrestrial stuff, and comes in on coax from a standard TV aerial &#8211; you can get combo cards, which will let you pull down extra stuff if you&#8217;ve got the coax feed. Stuff from your LNB typically comes on F-type cables/connectors, down 75 ohm cable. I have yet to find a decent UK supplier for patch or extension leads &#8211; if you know one, let me know.</p>
<p>The LinuxTV wiki maintains a huge list of hardware compatibility with Linux and capture cards, so check there before you go buy anything. I got a Compro S350 card, which works great for DVB-S &#8211; I&#8217;ve also ordered a Technisat S2 HD card, which should do DVB-S2, and I&#8217;m going to look out for a DVB-T card.</p>
<p>Now, we need to tie all this together next. So we need some software and a PC. The PC wants to be a decent spec &#8211; I&#8217;m using a Pentium 4 box with 768MB of RAM as my server, which is on the low end of things. A faster machine would be better, obviously, but it&#8217;s all I have to hand. I stuck a decent (GeForce 6600) graphics card in there, too. Fast CPU is the priority, really- we&#8217;re talking high definition decoding, encoding, transcoding and playback. If you&#8217;re on a budget, look into Intel quad-core chips (Q6600s, that sort of thing). Intel is the way to go wherever possible. If you&#8217;re doing this properly, high-end i7 would be my choice- that or a Xeon or similar. 6-12 core chips would be just the ticket. High-end (newer 8800 series and above) nVidia cards support VPDAU, which lets you offload video decoding and processing to the GPU.</p>
<p>The software to use is MythTV. I&#8217;m using a standard Ubuntu 10.04/11.04 (&#8216;Classic&#8217; mode on 11.04) install, and then installing MythTV atop that. On the server, just install the mythtv, mythtv-themes, xmltv and mythweb packages. On any other clients you can install the mythtv-frontend package, and optionally the mythtv-themes package. The client-server model of MythTV means you can combine backends and frontends to build your system. It&#8217;s crazy powerful in terms of flexibility. But the short story is, you can have a very nice TV system in very little configuration.</p>
<p>See this <a href="http://parker1.co.uk/mythtv_freesat.php">excellent guide</a> for more information on how to set up MythTV with Freesat. Basically you just need to tune it in to the right satellite and set up the input properly so it&#8217;ll get the channel list. MythTV&#8217;s config options take some getting used to, but it&#8217;s eminently doable. And once you&#8217;ve gotten everything talking, you have a -very- capable system.</p>
<p>So, well done to the MythTV team. One hell of a package, that&#8217;s for sure. And Linux DVRs are now in my mind far, far more capable than any other potential choice for DVRs. With MythWeb, I essentially have my own private little iPlayer- but for every single bit of Freesat&#8217;s programming. What&#8217;s not to like?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.talkunafraid.co.uk/2011/06/mythtv-and-freesat/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Rivendell 2.0.2 on Ubuntu 10.04.2 LTS</title>
		<link>http://www.talkunafraid.co.uk/2011/06/rivendell-2-0-2-on-ubuntu-10-04-2-lts/</link>
		<comments>http://www.talkunafraid.co.uk/2011/06/rivendell-2-0-2-on-ubuntu-10-04-2-lts/#comments</comments>
		<pubDate>Thu, 09 Jun 2011 07:46:33 +0000</pubDate>
		<dc:creator>James Harrison</dc:creator>
				<category><![CDATA[Radio]]></category>
		<category><![CDATA[Rivendell]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[rivendell]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.talkunafraid.co.uk/?p=1328</guid>
		<description><![CDATA[Yup, it&#8217;s another guide to installing Rivendell. This time, the fancy new 2.0.2 release, complete with all sorts of fantastic goodies. Let&#8217;s get started! I&#8217;m not moving any of my Ubuntu stuff forward to 11.04 just yet; probably won&#8217;t for a while, given the situation with desktop managers and stability particularly on older hardware like [...]]]></description>
			<content:encoded><![CDATA[<p>Yup, it&#8217;s another guide to installing Rivendell. This time, the fancy new 2.0.2 release, complete with all sorts of fantastic goodies. Let&#8217;s get started!</p>
<p>I&#8217;m not moving any of my Ubuntu stuff forward to 11.04 just yet; probably won&#8217;t for a while, given the situation with desktop managers and stability particularly on older hardware like the stuff we use at Insanity. So, 10.04.02 LTS it is. It&#8217;s still supported for a while and has no realtime issues like 10.10.</p>
<p>However, there&#8217;s one snag; in my last guide we used a Rivendell package provided by the guys at Tryphon. No such package currently exists for 2.0.x, so we&#8217;ll be rolling our own from source. This is far from ideal (and I am working to get 2.0.x packages for Debian made) but it&#8217;s a good start, and will work fine- upgrades are just a bit of a pain.</p>
<p><span id="more-1328"></span>Okay. Let&#8217;s start with dependencies. I&#8217;m assuming a virgin from-source system here.</p>
<pre>sudo aptitude install libcdparanoia-dev libflac++-dev libflac-dev \ 
 libsamplerate0-dev libid3tag0-dev libid3-3.8.3-dev \
 libcurl4-gnutls-dev libsndfile1-dev libpam0g-dev \
 libsoundtouch1-dev alsa-source libtwolame-dev libmp3lame-dev \
 libmad0-dev libqt3-mt-mysql qt3-dev-tools qt3-dev-tools-compat \
 qt4-dev-tools libjack-dev libjack0.100.0-dev jackd qjackctl \
 jackeq jack-rack jack-capture libasound2-dev mysql-client \
 polymer qt3-qtconfig patchage</pre>
<p>Stick that in your terminal and wait a few minutes. There&#8217;s a lot there. At some point, jackd will ask if you want to enable realtime priority &#8211; say yes. Once that&#8217;s done, download the Rivendell tarball and extract it. Then wander into that directory.</p>
<pre>wget http://rivendellaudio.org/ftpdocs/rivendell/rivendell-2.0.2.tar.gz
tar zxf rivendell-2.0.2.tar.gz
cd rivendell-2.0.2</pre>
<p>Next, configure it- the libexec path makes sure that the paths for some new RD2 services are set up properly (specifically Apache2). Note that if you need a HPI sound card to work in this box, now would be the time to go off and install the drivers from the AudioScience website (libhpi). Do that before this.</p>
<pre>./configure --libexecdir=/usr/local/libexec</pre>
<p>Now build it, and subsequently install all the binaries and libraries.</p>
<pre>make
sudo make install</pre>
<p>This is going to take a while, even on decent modern hardware, so let me give you a taste of what&#8217;s still to come- specifically we&#8217;ve got one more hurdle ahead of us on top of the setup we needed for 1.7.2, which is the Apache web server. Rivendell 2.0.x uses a web service approach to import and export of audio data, which is a great leap forward- as well as making security improvements, it means you can delegate the import/export jobs to specific machines. Say you&#8217;ve got a pile of low-end production PCs- you don&#8217;t really want those guys to be on the front line of audio ingest. The high-end server in the rack that doesn&#8217;t do a lot, however, is completely the tool for the job. So you can tell those production PCs to use the import/export services of that server instead of their own. The flipside is we get to configure an extra thing, but it&#8217;s really a piece of cake. Don&#8217;t sweat it. And like MySQL, you don&#8217;t have to install Apache on every single machine you want to run Rivendell on, only the ones that will be using the import/export service.</p>
<p>Right. Chances are, make is probably still chugging away despite my attempt to distract you. Come back when it finishes.</p>
<p>All done? Installed? Okay, we&#8217;re about halfway there. You should now have a complete build of Rivendell with support for every format under the sun (that Rivendell supports, anyway- AAC/MP4 one day, I swear!) with support for ALSA or JACK or (if you installed libhpi before configuring) HPI sound cards. Next, let&#8217;s get the cosmetic things done- installing icons and menu items, ensuring bitmap fonts are enabled, that sort of thing.</p>
<pre>sudo cp debian/*.desktop /usr/share/applications/
sudo cp debian/*.xpm /usr/share/pixmaps/
sudo rm -rf /etc/fonts/conf.d/70-no-bitmaps.conf
sudo ln -s /etc/fonts/conf.avail/70-force-bitmaps.conf /etc/fonts/conf.d
sudo fc-cache -f -v</pre>
<p>That&#8217;s that out of the way. Next, set up a Rivendell user and group, add the current user to the audio group (for realtime permissions) and we can get on with the rest.</p>
<pre>sudo adduser --system --no-create-home --disabled-login rivendell
sudo addgroup rivendell
sudo adduser rivendell rivendell
sudo adduser `whoami` audio</pre>
<p>Okay, we&#8217;re getting somewhere. Now, rd.conf. Either copy up conf/rd.conf-sample to /etc/rd.conf, or make a new one that looks a bit like this:</p>
<pre>[Identity]
AudioOwner=rivendell
AudioGroup=rivendell
Password=letmein

[mySQL]
Hostname=localhost
Loginname=rduser
Password=letmein
Database=Rivendell
Driver=QMYSQL3

[Logs]
Facility=Syslog

[Alsa]
PeriodQuantity=4
PeriodSize=1024

[Tuning]
UseRealtime=Yes
RealtimePriority=9

[Format]
Channels=2</pre>
<p>Bam! Obviously you&#8217;ll want to use different passwords to the default and that sort of thing. We&#8217;re going with ALSA for now; using jackd is a simple (trivial, even) change to rd.conf. Check the conf/rd.conf-sample file in the source to find out how. Let&#8217;s get one other bit of housekeeping done now- we need to configure what sound cards we use for ALSA, which is set in /etc/asound.conf. But easier still, Rivendell provides a program to make this file for us. Pull up a terminal and run this to get this up and follow the instructions:</p>
<pre>sudo rdalsaconfig</pre>
<p>Once that&#8217;s done, let&#8217;s bop Apache on the head quickly. Note you only need this is if you&#8217;re running a single machine setup or if you&#8217;re installing on the machine you want to run import/export jobs on. There&#8217;s no harm in having apache/rdxport available, but it&#8217;s unneeded overhead if you&#8217;re going to delegate to other boxes anyway. Still, say we wanted to install it&#8230;</p>
<pre>sudo apt-get install apache2
sudo cp conf/rd-bin.conf /etc/apache2/conf.d/
sudo service apache2 restart</pre>
<p>Simple, right? Right. Let&#8217;s move on and get MySQL sorted out. This is for the main server only if you&#8217;re doing client-server stuff; you&#8217;ve already got the MySQL client installed if you&#8217;re building a client to connect to another existing MySQL server. Run this and when prompted, give it a nice secure password.</p>
<pre>sudo apt-get install mysql-server</pre>
<p>Let&#8217;s get the DB and sound path created and check all is well. Run this and when prompted enter your MySQL root password and the username &#8216;root&#8217; (if this is your first DB &#8211; otherwise, it should just open. Close it, ignore any errors).</p>
<pre>sudo mkdir /var/snd
sudo chown rivendell:rivendell -R /var/snd
rdadmin</pre>
<p>Okay. We&#8217;ve only got to sort one little snag out before we&#8217;re good to go- making sure Rivendell services come up cleanly on startup of the machine. There&#8217;s complications here, specifically /var/run which gets purged on startup by Ubuntu. Rivendell expects /var/run/rivendell to exist and the rivendell user/group to be able to write there- PIDs are stored for various processes here. Let&#8217;s fix that by tweaking our initscript, then set the initscript to start Rivendell on boot.</p>
<pre>sudo nano -w /etc/init.d/rivendell</pre>
<p>In that script, add the following line before the line that reads &#8216;function StartDaemons&#8217;.</p>
<pre>mkdir /var/run/rivendell 2&gt;/dev/null</pre>
<p>Okay, now run this- this will make Ubuntu start the daemons on boot.</p>
<pre>sudo update-rc.d rivendell defaults</pre>
<p>One last thing &#8211; edit /etc/pulse/client.conf and uncomment the autospawn=yes line, and set it to no. This stops pulseaudio taking over the sound card so ALSA can get at it.</p>
<pre>sudo nano -w /etc/pulse/client.conf # (then do the edit)
sudo killall pulseaudio</pre>
<p>And now we reboot and if everything went to plan, you should now have a working Rivendell installation on your system! Check for ripcd/caed/rdcatchd running, fire up rdadmin and friends, and get to configuring your perfect station.</p>
<h3>A few observations</h3>
<p>Currently there&#8217;s a segfault in Rivendell 2.0.2 with some ALSA cards. If caed doesn&#8217;t start up and /var/log/messages has a pile of caed output and then a segfault and you&#8217;ve got multiple cards available to you in rdalsaconfig, try disabling/enabling each one till you find a working one. Use &#8216;sudo service rivendell restart&#8217; to restart the daemons without rebooting.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.talkunafraid.co.uk/2011/06/rivendell-2-0-2-on-ubuntu-10-04-2-lts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

