AF Nikon 18-35 f/3.5-4.5 D - on sale on Flickr.
on sale!
FOLLOWING:
We love stop-motion
Stare at the colored dots on her nose for 30 seconds. Look at a blank white wall and blink rapidly. Commence mindfuck.
(Source: kellyoxford)
After my last post on XBMC setup, I got a few questions from people that could not make audio work over HDMI.
If this happens to you, here’s a few tricks to try and make it work.
First. you could have multiple audio devices setup - an onboard one and an external one. You need to get hold of the right one and tell ALSA and PulseAudio to use that one.
So:
$ aplay -l
will list all the playback interfaces known to the ALSA audio subsystem.
This is the output on my HTPC:
**** List of PLAYBACK Hardware Devices ****
card 0: ICH7 [Intel ICH7], device 0: Intel ICH [Intel ICH7]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: ICH7 [Intel ICH7], device 4: Intel ICH - IEC958 [Intel ICH7 - IEC958]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 0/1
Subdevice #0: subdevice #0
Another way of looking at that is to execute this command (note the capital “L”)
and you will get quite an informative output like this:
nullDiscard all samples (playback) or generate zero samples (capture)ch51dupfront:CARD=ICH7,DEV=0Intel ICH7, Intel ICH7Front speakerssurround40:CARD=ICH7,DEV=0Intel ICH7, Intel ICH74.0 Surround output to Front and Rear speakerssurround41:CARD=ICH7,DEV=0Intel ICH7, Intel ICH74.1 Surround output to Front, Rear and Subwoofer speakerssurround50:CARD=ICH7,DEV=0Intel ICH7, Intel ICH75.0 Surround output to Front, Center and Rear speakerssurround51:CARD=ICH7,DEV=0Intel ICH7, Intel ICH75.1 Surround output to Front, Center, Rear and Subwoofer speakersiec958:CARD=ICH7,DEV=0Intel ICH7, Intel ICH7 - IEC958IEC958 (S/PDIF) Digital Audio Outputdmix:CARD=ICH7,DEV=0Intel ICH7, Intel ICH7Direct sample mixing devicedmix:CARD=ICH7,DEV=4Intel ICH7, Intel ICH7 - IEC958Direct sample mixing devicedsnoop:CARD=ICH7,DEV=0Intel ICH7, Intel ICH7Direct sample snooping devicedsnoop:CARD=ICH7,DEV=4Intel ICH7, Intel ICH7 - IEC958Direct sample snooping devicehw:CARD=ICH7,DEV=0Intel ICH7, Intel ICH7Direct hardware device without any conversionshw:CARD=ICH7,DEV=4Intel ICH7, Intel ICH7 - IEC958Direct hardware device without any conversionsplughw:CARD=ICH7,DEV=0Intel ICH7, Intel ICH7Hardware device with all software conversionsplughw:CARD=ICH7,DEV=4Intel ICH7, Intel ICH7 - IEC958Hardware device with all software conversionshdmi:CARD=NVidia,DEV=0HDA NVidia, HDMI 0HDMI Audio Outputdmix:CARD=NVidia,DEV=3HDA NVidia, HDMI 0Direct sample mixing devicedsnoop:CARD=NVidia,DEV=3HDA NVidia, HDMI 0Direct sample snooping devicehw:CARD=NVidia,DEV=3HDA NVidia, HDMI 0Direct hardware device without any conversionsplughw:CARD=NVidia,DEV=3HDA NVidia, HDMI 0Hardware device with all software conversions
The -L option instead lists all the PCMs defined in the system. A PCM is the software or hardware that can play sampled analog signals like an mp3. It takes a stream of bytes sampled at a certain frequency and plays it as sound.
Again we have a nice crosscheck: there is an HDMI playback interface in the NVidia card and the device ID is 3. Note there are two: hw and plughw. The difference between the two is that the plughw might apply some sound processing if needed.
With this information we could try to play some sound. Try this:
speaker-test -c 2 -f 44000 -D hw:1,3 -t sine
This will try to play a 44KHz sine wave (a normal sound) on two channels through the HDMI device we identified.
Did you hear sound? Good! If not, then must be something different from the ALSA layer - look into soundcard drivers, physical connections, etc.
Now, time to set the device as the default one.
pcm.!default {type hwcard 1device 3}
Logout and log back in.
Finally, we can setup XBMC, which is actually a trivial thing to do.
As we said, we will install the XBMC standalone, aka XBMC live. This is because we want to run just on top of X and the standalone version is just spot on.
Before we setup XBMC, a couple of final tweaks.
First, let’s create the xbmc user:
sudo adduser xbmc —gecos XBMC
and add it to a few groups:
sudo usermod —group adm,sudo,cdrom,floppy,audio,video,plugdev
Now, it turns out that there is no actual ppa for Ubuntu 11.10 from the XBMC team. We need to get it from another source. The XBMC team is kindly pointing us to this german page where we understand we need to run the following:
sudo apt-add-repository ppa:nathan-renniewaldock/xbmc-stable
sudo apt-get update
sudo apt-get install xbmc-live
Now you want XBMC to autostart when you log on.
So, log off and log on again as the xbmc user we just created.
Then:
xinit xbmc-standalone
And you should be done!
My DELL pc now boots and in like 20 seconds I am greeted by the XBMC interface. This is really cool!
AUDIO OVER HDMI
The final touch is to send audio over the HDMI cable. This is what I did for my NVIDIA card.
First, install alsa and pulse audio:
sudo apt-get install alsa-utils pulseaudio
Then, you need to run alsamixer and make sure channels are not muted:
sudo alsamixer
Press F6 to select the NVIDIA card:

Select the NVIDIA card and then make sure the SPDIF channel is not muted - “MM”. If it is, just press “M” and check it goes to “00”:

You should now be OK.
Enjoy!
In the first part we have seen the hardware setup. Now we will take a closer look at the software side of the game.
As described in the first part I did setup the OS - Ubuntu Minimal Distribution that can be found here:
https://help.ubuntu.com/community/Installation/MinimalCD
The reason for choosing this one is that you don’t really need a Desktop Manager (like Unity that comes with the standard Ubuntu, for instance). You can use the XBMC standalone and all you need is an X server. This will require less memory and things will be faster as XBMC will run directly on top of X, rather that from inside a desktop manager.
Before digging into the details of installing XBMC, just a few notes about the installation of the Ubuntu disk.
I did set it up by booting the PC from the USB stick. The distribution is just 30MB or so and I didn’t feel like wasting a CD.
The setup is entirely textual. Reminded me of the ol’ good days at the uni when I used to setup Linux 1.2 :)
When setting it up I was asked if to install third party drivers automatically, I decided not to do that. Reasons will be clear later on.
Among the hundreds packages you are offered to install, I just setup sshd.
After reboot, I was welcomed with a nice but useless blank screen with a blinking cursor. This was because there was neither X nor a window manager installed, but for some reason the system decided to use tty7 as the main console - and tty7 is for X. Maybe it was because I was connected to the monitor (TV) with the HDMI cable, who knows. If it happens to you too, just switch to tty1 (Alt+F1).
NVIDIA drivers
I needed the NVIDIA drivers to leverage the hardware acceleration and the HD native output. You don’t want a VGA resolution do you?
Now, installing these drivers is an easy job if you use the Desktop Manager and its Additional Drivers wizard. Missing that you will need to find a solution.
So first thing, I checked on the NVIDIA web site, and they do provide the drivers here:
http://www.nvidia.com/object/unix.html
but they need to be compiled and manually installed. The reason why they don’t provide just a binary version is because they need to be compiled as a kernel module, and NVIDIA just can’t build them for any version of Linux out there.
The process is described in detail here:
https://help.ubuntu.com/community/NvidiaManual
Quite a task, eh?
Fortunately, the X-swat team have prepared a ppa that just does the job we need!
Lucky, eh?
So, the whole thing only takes three commands:
sudo sudo apt-add-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get install nvidia-current
This will actually download Linux kernel headers, compile the kernel module (so it will also download the build utilities) and set it up on your behalf. Cool!
By the way, this is why I suggested not to choose to install third party drivers during the OS setup. Ubuntu would most probably have installed the Nouveau (nv) drivers for the NVIDIA card - which are open source drivers. They don’t support 3D acceleration (that we don’t care about) nor Audio over HDMI - that we do care about!
Xorg setup and configuration
Setting up Xorg is really an easy job:
sudo apt-get install xorg
sudo apt-get update
Since you can’t run any of the NVIDIA utilities like the nvidia-settings, you will need to configure X manually. You just need a basic xorg.conf, really.
Here is my /etc/X11/xorg.conf, that I made up from various sources around on the web and by looking and the nvidia-settings configuration parameters. It is tested on my Samsung LCD TV but it should work on any flat panel HDTV.
Section “Device”
Identifier “nvidia”
Driver ”nvidia”
Option ”NoLogo” ”true”
Option ”DynamicTwinView” “false”
Option ”NoFlip” ”false”
Option ”FlatPanelProperties” “Scaling = Native”
Option ”ModeValidation” ”NoVesaModes, NoXSeveModes”
Option ”UseDisplayDevice” ”DFP-1”
Option ”ModeDebug” “false”
Option ”HWCursor” ”false”
EndSectionSection “Screen”
Identifier ”screen”
Device ”nvidia”
SubSection ”Display”
Modes “1920x1080_60”
EndSubSection
EndSectionSection “Extensions”
Option ”Composite” “false”
EndSection
Once you’ve setup the drivers, X and tweaked the xorg.conf file, reboot.
That’s it for today. In the next part, we will see how to finally setup XBMC and do the finishing tweaks.
(to be continued…)
Or, how to give honour to ye oldie pc abandoned in the attic :)
Well, this is more or less what happened. Since I bought a second-hand iMac, my old and trusty Dell PC, an Optiplex GX620, was lying around and just getting dust.
One night, I was trying to play on my HDTV an .mkv file with its internal media player and I got the usual “audio codec not supported” error. Enough was enough. I looked at the Dell and it looked back, and we agreed we would team up to make the best HTPC ever!
THE PC AND ITS GUTS
Well, first and foremost, you need a PC :) An old one is fine, as long as it’s a Pentium I guess. Dual core would be better of course. 64-bit would be even better.
Then, you need to think in terms of noise. You want the PC to be as quiet as possible. You don’t want the HD or the fan spoil your vision with their hums.
As the HD concerns, I had bought, but never used, a 2TB WD Caviar Green. This one that is:
http://www.wdc.com/en/products/products.aspx?id=120
“Cool and quiet” is promising good, and 2TB can host around 500x 720p or 250x 1080p movies, more than enough to fill the rest of my evenings until I retire.
So, I swapped the old Seagate 500GB that came with the Dell, with the Caviar, leaving the Seagate to continue its life inside a 3.5” USB box.
Then, you need a good video card. You want one with HD hardware acceleration built-in to offload the CPU from doing the rendering. You want it quiet. And possibly cheap. And I also needed a low-profile one. Wow, that sounds like a tall order doesn’t it?
Well, reality is that there indeed is one card packed with all these features: it the ASUS GT520 Silent Card:
http://event.asus.com/vga/2011/engt520/
Oh, 0db is sooooo good! NVidia PureVideoHD is exciting!
Yes I think I found my card!
THE OS
I am a Linux fan, always been. So Ubuntu was the natural choice. I naturally double-checked that there were NVidia drivers available for the GT520 on Linux, and indeed there were. NVidia makes the VDPAU library available too. VDPAU is the equivalent, in the Unix world, of the DirectX libraries in the Microsoft world, and are those who make it possible for the OS to leverage the video hardware acceleration.
32 or 64-bit, that is the question.
Now, the Optiplex sports a Pentium IV 2.8GHz, but unfortunately, there were a few generations of Pentiums as you can read on here.
To nail this down, I downloaded the 32-bit ISO of Ubuntu 11.10 (10 minutes), put it on a CD (5 minutes), started in “live” mode (3 minutes), then 18 minutes later I fired a terminal session and typed this to get the answer to the bits question:
$ grep flags /proc/cpuinfo
You want to look for the “long mode” flag - lm. Long mode means CPU is 64-bit capable.
This is the output of that command on my Dell box:
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc pebs bts nopl pni dtes64 monitor ds_cpl cid cx16 xtpr
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc pebs bts nopl pni dtes64 monitor ds_cpl cid cx16 xtpr
Well, it’s all nice and good. First of all, there are two “flags” lines, meaning the Pentium sports a dual-core. Then, there is the “lm” flag, confirming it’s a 64-bit capable CPU.
Finally, I decided I’d keep the PC as lean and mean as possible. So, instead of downloading a full desktop distribution, I did set up this one - the Ubuntu minimal distribution:
https://help.ubuntu.com/community/Installation/MinimalCD
I installed it on a USB stick, thanks to Unetbootin, and then set it up on the PC.
Follow the setup instructions, and do NOT install third party drivers if you are asked to. I will explain why later.
(to be continued…)
“Being the richest man in the cemetery doesn’t matter to me. Going to bed at night saying we’ve done something wonderful, that’s what matters to me.”
People who know me know my musical tastes. Pop and pop singers are not really something I am very fond of.
But this was a revelation. Hats off to Pink and her band, really. Thumbs up for the opera part. Am sure Freddie would not complain, at all.
Watching this video led me to a couple of thoughts: 1) those musicians could play whatever piece they are asked. Those are real professionals, they do it for a living. 2) If you put your heart into something, your heart is visible to others. I can really see Pink singing this when she was younger (and possibly unknown to the masses)
Both things got perfectly mixed, and the result is in the eyes (and ears) of everybody.
Congrats Pink!

So I bought this iMac 7.1 second-hand from a friend and colleague of mine as he was not using it anymore since he was gifted a macbook Air. It was a real steal, and am happy of it.
I had thought about getting an iMac several times, but never did as I really never took a serious look at the question, and was happy with my Dell PC with original XP. After all, all I do is to surf the web and work on pictures and I don’t really need fancy features.
The iMac now sits beautifully on my home office desk, with its wireless keyboard and mouse. Too bad it mercilessly conflicts with the surrounding mess :) but it could me the reason I begin tidying up.
Now, I immediately noticed I needed two upgrades.
First, the hard drive was only 500GB, which is almost exactly the size of my Images folder only. So I needed an upgrade. iMac 7.1 are relatively easy to upgrade as they take any SATA disk and don’t need any special temperature probe on the drive, Apple was so kind to provide one already.
Changing the hard drive was then just a matter of getting a suction cup to take off the front glass, and a torx #8 key to unscrew the screws that hold everythig together.
In 10 minutes I managed to install an excellent WD 2TB Green Caviar, and 1 hour or so later OS X was up and running again.
The second upgrade I needed was the memory. I wanted 4GB so I ordered 2x2GB banks from Crucial (great prices and service).
Finally, I scratched my Dell PC and set up a fresh Ubuntu 11.04 on it. Fantastic distribution.
That’s it for the weekend I believe!
And so, summer is definitely over. Not weather-wise, but holidays-wise.
Back in the city, rushing everyday, jammed in the traffic and bringing kids to school. Business as usual.
And the memories of the summer are, somewhat, already fading.
It always happens to me, that summer holidays become, in my mind, a sort of an old photo album, like the one you find by chance in the attic. Going through it, it’s like experiencing a timeless time. Doesn’t matter whether it’s been now or ages ago. Feelings are there to stay.