HTPC 2010 – The Conclusion

The Conclusion

So time has come to get down to brass tacks. How much for the ape? I kid. I’ve now been using the HTPC for a little over a week, and i’m liking it. I’m gonna try to be as non-hyping and calm as possible, and list some of the challenges and victories with this build in this, the last post in the HTPC2010 series.

The Cons

First of all, the case is really cramped in a vertical sense. The fat ATX power cable has to be forced down, which feels really dangerous, as the fragile little motherboard starts to almost bend under the force. And all this just to get the top cover on. Some of the cables are also quite short, and the 4pin 12V extra power cable that goes to the motherboard only barely makes it to where it’s going. Cable management becomes a bit hard, when you have maybe a few millimeters of breathing room.

The 55x55mm fan in the rear of the case is also a bit annoying. It is quite loud, and causes some resonance with the metal of the case, and has to be tapped once in a while to shut it up. I could remove it altogether,  but i’m pretty sure it needs at least some cooling. The Asus motherboard has a similarly sized CPU fan, which isn’t quiet either. Would a passively cooled one have been a better alternative? Not if you ask Anteuz, as his Point of View-motherboard came with a passive CPU heatsink. He said it got so hot, he actually took the fan from the rear of the lascala and put it on the cpu heatsink to cool it off. So maybe a small tradeoff here.

There is no space for bigger fans without modification of the case.

The Asus motherboard doesn’t receive high marks from me in another area as well. The onboard connectors are quite limited. There is only one internal USB, no firewire, no esata, no anything. There is actually an esata solder-point on the motherboard, but alas, no connector. This would have been nice for hooking up an external drive, either through firewire or esata, but neither is present. This presents another problem with this case: the front panel. The frontpanel of the Lascala has a memorycard reader, which needs internal usb to work. It also has 2xUSB, firewire and audio. So i have to chose either the usb ports, or the memory card reader, and make due with no firewire.

Oh yeah, and there is no cover-panel for the optical drive slot (which is above the memorycard reader. This makes for a rather ugly front panel, if you open the little flip-down hatch, and find that there is a gap there. I chose to have the front panel usb’s hooked up, and left out the memory card reader. This means there’s a huge hole where the optical drive and card reader should be. Rather ugly. They could have included a damn cover for 160 euro……

I had problems with the sound, but this was to be expected. Using the optical out isn’t always simple in Linux, but once the correct configuration was entered, everything worked fine. Basically it was like 10 rows in my .asoundrc that solved the problem. It was mysterious. Video files with high-quality audio like DTS or other fancy Dolby standards worked fine. But then simple mp3 or other audio didn’t. One would expect it to be the other way around.

I also had problems with the video drivers. I went with the ubuntu recommended 185 drivers, and they had no problems. However, upgrading to the latest 195 drivers from nvidia resulted in XBMC crashing to the desktop immediately upon trying to play an .mkv file. Frustrating.

HDMI also didn’t work with the correct resolution from the getgo, and while VGA did, it has problems placing the image correctly on my Samsung 32R86 tv. I have to run the “automatic placement” menu item on the TV to position the picture correctly. And what’s worse, the placement is different for XBMC and the desktop. So to have a perfect image, i’d have to run that thing every time.. This is probably just a TV issue, so i’ll wait for my new 40 incher until i start spending time on this.

Setting folder content in XBMC is a bit tricky. I found that working on the default Confluence skin was the surest way to go, as many of the custom skins had some kind of reverse polish logic in them. Take this use case: I add a new folder to the library, and press the folder with the right mouse button and select “Set Content”. Here, i select the scraper (which website it uses to get the metadata for the content), and start indexing the content. If i made a mistake, i can’t return to that same folder view, all i have is the contents of that folder. When i manage to get back to that view through some dark magics, i find that the Set content menu-item is no longer there, and i am unable to “re-set” the content, if something went wrong, which it did.Through some voodoo, every media file in the folder got scraped as “Home movies”, by Ridley Scott, 1986. So every media file had the same metadata (which is incorrect, i don’t even have such a file!), and re-trying was not possible. Removing the library and re-setting the content seemed like the best way to go. And even then, some content had to be set manually, because it was not detected or processed correctly. A lot of manual work, that only has to be done once, note.

The Pros

The relatively cheap ION platform, while low powered, can decode media like a motherfucker. There is no chopping or other problems while playing even super high quality full-hd content, with hd class sound. It just works. And CPU load hardly ever goes over 50%.

All things said,  the build is still very quiet, and aesthetically pleasing, with it’s Set-top-box type black case. All that’s missing is a remote. It doesn’t take up much  power when playing media. It’s compatible with most forms of video and audio. Adding spotify through wine, you can even have that functionality all in the same box (though not integrated to XBMC..yet…).

The machine can be used to do pretty much anything except like.. graphics or encoding of media, or playing games. It doubles as a general internet pc in the living room, that you can use from the comfort of your own couch. With a 150 bucks more, you can add a bluray player, and save having to buy yet another box to your already cramped equipment racks.

I’m also pleased with how little tuning XBMC took in the end (save for the partial audio problems). Installing it was easier than i thought. My wife quickly learned to use XBMC as well, though she isn’t what you’d call a total newbie. I’m just waiting to teach it to my 2.5 year old son.. 🙂

HTPC 2010 – The Install

The Install

Time for the install. Nothing spectacular here. I booted the thing off a USB-drive i created using unetbootin 3.93, with a Ubuntu 9.10 (32-bit) iso slapped on there.  There was some issues booting from the stick, because i couldn’t get to any kind of boot menu (F12 didn’t take me anywhere), so i had to take a look at the BIOS. The setup was a bit different from what i’m  used to, namely, the usb drive is detected as a hard drive, and not as a removable or separate device. So, to start off, i had to set the hard-disk to boot as the first device, and then set the order of the hard disks, so that the “primary” hard disk was the USB-drive, and the secondary drive was the internal 250 GB drive. After this, the boot worked just fine. After the installation was done, removing the USB drive bumped the 250GB to the primary drive.

Other things that need to be noted in the BIOS are: Setting your graphics memory to 512 (or whatever your max is). This will ensure flawless HD playback. Default is usually 64 or 128 or something, which isn’t enough. Also make sure you have all the necessary audio and video ports enabled.

The Ubuntu installation was quick and painless. I chose to use the entire 250GB drive, and let Ubuntu do it’s magic on it. Nothing special during the install.

After the installation, only a few packages are needed. The commands that i ran, in order:

apt-get upate && upgrade

apt-get install nvidia-glx-185

This updates the repositories, upgrades existing packages, and installs the nvidia hardware driver. You can also use the Administration -> Hardware Drivers, which at the time of this writing, installs the 185 driver.

Note! I had some problems with the latest 195 driver. After installing it, there were some dpkg errors that prevented the installation from finishing properly. After this, graphics were fucked, and i couldn’t start x. When i did get the driver installed, and everything seemed to work, i was completely unable to play any HD quality .mkv files. XBMC would crash to the desktop. Also, trying to play them in VLC for instanec, resulted in equally disasterous problems. So unless you are having problems with your ION and the default 185 drivers, don’t upgrade.

After this i pretty much followed the linux installation guide of XBMC in their wiki. Roughly the installation is:

  • add the correct repositories
  • run apt-get update
  • run apt-get install xbmc
  • configure sound
  • configure xbmc
  • done.

The setup i had was: Run video through VGA (i have only one HDMI in my current TV), and audio through spdif to my amplifier. This was a fairly easy thing to set up, though the audio was a bit problematic, as i will describe a bit later.

Connecting the VGA got me a good picture right away with native resolution (1366×768), whereas through the HDMI it got detected as 1280×720, which is incorrect. And the picture wasn’t scaling correctly either, so i figure i would have needed to add some modelines to my xorg.conf. More about this later when i get my new Tv and hook up using HDMI.

About the audio

Getting audio to work was a bit problematic. In XBMC go to System -> Settings -> System, and then to the audio output tab. There, you need to check that you have your amplifier or TV set to support DTS and AC3 audio (if it does), and that you are outputting digital audio. For me, i had to set the audio output device to custom, and the device to plug:dmixer, and the passthrough device to IEC958 to get everything working. Changes to your .asoundrc in your profile root was also necessary, to make it understand the plug:dmixer device.

If you don’t make the above changes, you will find that only surround movies (DTS and the likes) will work. The rest, say shittier mp3 audio movies will not play anything, or even display a “incorrect audio device” message. Which is odd, because you kind of expect it to be the other way around, that the complicated DTS and other encoded sound would not work.

First off, find out which device you want to be using, by running the command aplay -l in your terminal. Look at the card number, and the device number, and see which output you want. In my case, it was the spdif, which was card 0, device 1. In alsa speak, this equals hw0,1

The contents of my .asoundrc file, which is placed in the root of my profile is as follows:

pcm.dmixer {
    type dmix
    ipc_key 1024
    slave {
        pcm "hw:0,1"
        period_time 0
        period_size 1024
        buffer_size 8192
        #periods 128
        #rate 44100
        rate 48000
     }
     bindings {
        0 0
        1 1
     }
}

The bold line over there is the important one, and the only one you possibly need to change. Save the file, reboot the computer to be sure.

Now sound should work in any media files, regardless of the encoding.

Customizations i used in XBMC was the Rapier skin, basically. I stream media from my other machine through gbit lan, which works fine with any type of media.  I used a standard samba share for this, and no issues have cropped up so far.

I could write a bunch on scraping and other XBMC stuff, but they are so well documented in their wiki that i won’t bother. Just remember, the backspace key takes you back one level, and the c-key gives you the “right-click” context menu on any item (like a movie or folder). That is all.

References:

http://wiki.xbmc.org/?title=XBMC_for_Linux_specific_FAQ#S.2FPDIF_out_for_both_analog_and_digital_audio
http://wiki.xbmc.org/index.php?title=Installing_XBMC_for_Linux
http://wiki.xbmc.org/index.php?title=HOW-TO_install_and_switch_between_skins_in_XBMC
http://xbmc.org/skins/

HTPC 2010 – The Build

The build

I got word from Jimm’s Pc-Store that half of my parts had arived. The rest i would buy from Verkkokauppa.com because they had it in stock. I ended up getting a 250 gig hard drive for 39 bucks, simply because the cf solution was not immediately available (not in stock), and it would have cost nearly three times as much. Otherwise the parts list in the first post holds true.

I started by skimming the manuals of the case and the motherboard, and then started taking the case apart to prepare for installation. I had to remove the top cover, obviously, and also add and remove some of the internal cables according to my needs.

All the parts in one pile!

This is what the case looks like on the inside. Note the power supply, or actually just the distribution-point. The powersupply is actually that transformer-brick next to the case there. There is a 24-pin atx, 4pin 12v extra power, cables for floppy, molex, and sata, which are fairly modular, i.e. you can chose not to connect the molex cables if you don’t need them, like me. The case has a rubber-padded spot for the hard drive, on the bottom left in the picture. This should (and did) eliminate most of the vibration caused by the movement. The case also has front panel audio, usb and firewire, as well as a memory card reader. Sadly, the motherboard i got only had one internal usb, so it was a choice between the two front panel usb ports, or the memory card reader. I chose the usb ports, because it’s a handy way to hook up external hard drives and media players. Ofcourse, one can just switch the cable, and use one of the external usb ports to hook up the memory-card reader.

Cables for power and hdd led, as well as the power-switch are also included. Cable management turned out to be a bit hard: the 24-pin atx power cable is very very thick and stiff and needs to be forced down quite a lot to get the top cover back on.

The case, opened
power supply
The "Power Supply"

After this, it was time to put in the Asus motherboard, the hard drive, and hook up all the necessary cables. I forgot to take a pic of the innards with all the parts connected, but i’ll do that today. Here’s a picture of the motherboard, pretty handy-looking huh?

motherboard
The Asus Motherboard

So when everything was connected, it was time to put the case back together, and prepare for installation. The plan is to install Ubuntu 9.10, with XBMC 9.11.  A few more pics of the ready build. Note the fucking awesome blue led, without which, this build would be like, less cool.

Done!
Done!
A view from the top

HTPC 2010

I finally got off my lazy ass and ordered the parts for my HTPC. The build itself, is inspired by Anteuz’ build, which i had the pleasure of fiddling with last weekend. The build was very convincing visually, as well as performance-wise.

I’ll document the entire process of building, installing and configuring on this blog. The first part: The Buy

The Buy

The first task in any computer project is deciding what you want the build to do. I set some goals for this build:

  • Has to be visually appealing, and suitable for my livingroom (that means, slim, silent and black)
  • Has to be able to play 1080p media (and anything below that of course)
  • Has to be usable with a cordless keyboard & mouse and/or remote control
  • Has to be able to run Linux
  • Has to not cost me an arm and a leg!
  • Hast to have some form of expandability, say if i want a Bluray drive later!

Setting out with these goals in mind, the only reasonably priced hardware that does all this is based on the Nvidia ION chipset. The build Anteuz has is a:

  • Asus AT3N7A-I Motherboard
    • Atom 330 dual core processor
    • Nvidia ION chipset
    • Gbit Ethernet
    • 8GB RAM (DDR2) max.
    • DVI/VGA/HDMI/SPDIF etc. outputs
  • 2 x 1GB DDR2 RAM
  • Hard drive
  • Silverstone Lascala SST-LC19S-R with 120W passively cooled powersupply

I ended up ordering pretty much the same set:

  • Asus AT3N7A-I Motherboard (126€ @ Jimm’s Pc-Store)
  • 2 x 1GB DDR2 (800MHZ) (44€ @ Verkkokauppa)
  • Silverstone Lascala SST-LC19S-R (160€ @ Jimm’s Pc-Store)

But as for storage i ended up with a slightly different solution:

  • SATA -> Compact Flash adapter (22€ @ Verkkokauppa)
  • 4 or 8 GB Compact Flash card from Sandisk, the Extreme III model (with ~30MB/s read and write) (34 – 51 € @ Verkkokauppa and elsewhere)

What i’m going to be doing is, putting Ubuntu on the Compact Flash card (which is completely quiet, low power, and physically small). I don’t need a lot of space for Ubuntu, since it’ll be a barebones install, with the XBMC media center application on top, it’ll hardly take more than 2 GB.

I’m not going to store any media on the HTPC, but instead, stream it over the network from my fileserver. With Gbit Ethernet, i’ll be able to stream 1080p content with no problems. The network “backbone” is an HP Procurve 1400-8G, which has more than enough throughput and oomph for my small network.

The total price for the build is 386€ with the 4GB Sandisk Extreme III (add 20 bucks for the 8GB version). For less than 400€, i will therefore have a build that can stream HD media from my network.

A future expansion will be a slim blu-ray drive, which runs at around 150€ right now, which is not a bad price. The hardware is more than capable of playing blu-ray discs in their full 1080p,  surround sound glory. And that’s cheaper than a Playstation 3, which has no games anyway 🙂

Next up, when i get the parts: Pictures and The Build. After that, it’s time for The Install and then The Conclusion.

What’s the deal with the iPad?

Clever readers will notice the Seinfeld reference. Anyway, on to the topic.

Everyone is writing about the iPad, so as not to arouse suspicion, so will I. The iPad was released a while (a week? two?) back by Apple. Using the standard hypewords “awesome”, “fantastic”, “amazing”, “fabulous” etc. Jobs hailed the device as a whole new class of devices (which it is, more on this later), and quote: “The best web browsing experience you’ve ever had!”.

Let’s first look at the specs. The device has an Apple designed A4 processor (though rumors are, they bought the silicon from some other company), 9.7″ multi touch screen (with IPS panel), 16 -> 64 gigs SSD storage. What it does not have is:

  • Exchangeable battery
  • No expandable memory (no sd slot, no usb slot, no nothing)
  • No usb ports (use apples propietary 30 pin cable, with adapters)
  • No multitasking in the OS
  • No phone functionality
  • No 3g in the standard version (pay $130 extra for that in any size class)
  • No camera
  • No flash!

That seems like a long list. Which is probably because it is. There are a number of shortcomings in the iPad, and with a 499 pricetag, that’s pretty unacceptable. To my eyes, this is a total fucking rip-off product, with no real killer app or usage scenarios. I’m thinking this could be used by say, medical institutions or perhaps, as a device for visitors to a museum or something. But multitasking becomes an issue here as well.

Who is going to use an office suite, without multitasking? Enjoy writing your diary, without surfing or doing anything else at the same time. Enjoy not being able to surf the web while taking notes.

This is a deliberately defective product. According to sources, the parts in the iPad cost apple 300 dollars. Which means, for the cheapest shit-ass model, they are raking in a huge 200 dollar profit. Even if they just sell one for each apple fanatic, they’ll still make enough money to be happy.

Again, this isn’t that they couldn’t have included all of those things, they did so because they decided. This way, they can make the 2nd generation iPad, which has all of the clearly missing features, and everyone will go fucking apeshit about their genious device. But let’s get real here. A device with more features existed 7 years ago, in the form of an HP tablet computer. This is just highway robbery on Apple’s part, and i don’t like it.

Why did Jobs call this the best web browsing experience you’ve ever had? I wonder why their product pages had blatant lies on them at the time of the release? They showed video and images of iPads visiting Flash based websites, until some keen-eyed humans found the lie, and Apple had to quietly take it down. The fact of the matter is, it does not run flash, and probably never will. Jobs says it’s because “Adobe could be making an awesome product, but they choose not to.”

Why not stop lying and tell them the real reason, huh? The real reason is: through flash, people could be watching online video and skipping quicktime. Through flash, people could start creating and distributing games and applications that would circumvent the Apple store, which they want to keep strictly controlled. We all remember the dictionary app that wasn’t allowed because it allowed translation of naughty words. Sure, flash is not perfect, but devices since Symbian S60 have had flash. This is the year 2010 and Apple comes out with a product without Flash? Get with the program! Through process separation, flash could be made perfectly safe, so i’m not seeing the problem. Jobs keeps talking about HTML5 which brings video support (can be tried out on youtube, with certain browsers), but let’s get real. 70% of all online video and most modern sites and portals use Flash. Without it, you’ll get a lesser experience, or miss out on some content altogether.

What is the use for this thing, seriously? What could you possibly want to do with this iPhone XL? Give me some suggestions. Meanwhile, i’ll keep thinking, and i’d rather spend my money on the 58 tons of sand i could buy with the 499 i saved by not getting the maxiPad.

Don’t buy the iPad. It’s a complete fucking ripoff, and you’ll regret it in a year when they come out with a revolutionary product that has a camera *and* 3G built in!!!1one.

Sheep

Today’s blogpost is inspired by the problem with our dear Finnish people. Or maybe it’s a global thing, humanity itself.

I’m talking about a) tolerance b) being a fucking sheep. Let me present to you a problem that i’ve been having lately.

VR is the state operated railway here in Finland. It operates all trains, and is responsible for collecting ticket fees, operating the stations, platforms etc. They have steadily been increasing prices of train tickets, due to uh.. inflation and rises in operating costs. However, trains don’t seem to go on time during the winter, which makes me a bit angry. My problem is, that i’m constantly paying my ticket, and yet, the trains i count on to get to work and back are never on time when there is a little snow on the ground.

Granted, this winter has been exceptionally bad, with more snow than in any previous year since the 1960’s, but none the less. Where is my money going? It sure as hell isn’t going to improving the reliability of trains in “extreme” weather

Winter is not a new concept in Finland, and many places operate trains far more north than Helsinki, in southern Finland. We get snow, which starts gathering in the machinery of the train, the wheels, the gears and whatnot, which is preventing trains from moving. At least this is according to VR. Also we are having problems with tracks freezing so badly, trains can’t switch tracks as they have to to reach the correct places.

This to me seems like an engineering problem. If you throw enough money at a problem it usually goes away. Increase the amount of plows on the tracks. Put heaters in places where icing is a problem. But this isn’t happening. Why?

Traditionally, when consumers (that’s you and me) have a problem with something, they start complaining. This is happening now with the trains. Inneccent complaining results in either a) the company shutting down because they can’t or can’t afford to fix the issues that the complaints are about, b) the company fixing the problem c) company lowering prices or offering compensation due to lost revenue/time or whatever or the consumers. This isn’t happening either.

VR could shut down their customer support, and stop notifying people of late trains, and what would we do? We’d keep complaining, and keep traveling, because that’s what we do. That’s all we do. We have no other option but to keep traveling. They could just lay off 90% of all their staff, send them to Bermuda or where ever, and there isn’t a damn thing we can do about it. We either accept the problems, or we stop using trains. Which isn’t happening. So we make like sheep.

Why i keep paying for tickets during winter, i don’t know. There should be no ticket fees at all. But they just keep raising the prices, and we keep paying. If a ticket inspector came on any of these late trains (i waited 45 minutes this morning), i would probably punch him the fuck out. But there’s a problem with those guys too. Inspectors get paid from the inspection fees (80 euro, or.. what, 120 dollars?) from everyone traveling without a valid ticket. When they increase the inspection cost, it doesn’t go toward anything else, except paying for more inspectors.

It’s like traffic cameras in Helsinki. The fines sent out by traffic camera pictures, are used to invest in new cameras, so more fines can be had, so more cameras can be bought…

So how is this organisation still operating? Because we are sheep and we don’t really care. We just accept what the news is telling us, what VR is telling us and accep that there is nothing anyone can do. This is 2010. We are a nothern country. We have had winter here since the planet was created, oh, 4.6 billion years ago. This is not a new thing. This is an engineering problem that isn’t being dealt with, because frankly, they don’t need to.