Wednesday, May 19, 2010

HTPC Build Part 4 - Testing an Intel-based HTPC

This is the forth in a series of posts I’m writing about an HTPC (Home Theatre PC) build that I recently completed.  To see a list of all posts in this series, click here.

Before finalizing a parts list and placing an order for the parts for my new HTPC build, I was fortunate to be able to gain access to a "test machine": A newly-built, working HTPC that my friend Dave was kind enough to let me borrow for a few days.  Specs on this machine:

CPU Intel Core 2 Quad
Motherboard Intel BOXDG43GT LGA 775
Memory 2 GB Kingston DDR2-800
Onboard Video Intel GMA X4500 with HDMI
Add-on Video Card (None)
Operating System Windows 7 Home Premium 64-bit

I brought the Intel HTPC home and hooked it up to my TV, a Philips 3000 series LCD HDTV.  As with the old 2004 PC that I tested using as an HTPC, the Intel test PC had some pros and cons.  Pros first:

  • The PC ran very silently -- there was no noticeable fan noise at all while the machine was on.
  • It was easy to connect the PC to the TV via the built-in HDMI port, and both video and sound output were transmitted from the PC to the TV via a single HDMI cable.
  • No problems at all with HD video playback.

I ran into a significant problem, though: When rendering video output at the TV's native resolution (1920x1080), the rendered screen image was "too big" for the TV.  The edges of the Windows desktop, including the taskbar and Start button, were off the screen.  Those elements were still present -- I could move the mouse off the screen to where the Start button should be located, click, and (partially) see the Start menu appear -- I just couldn't see them.

After spending a while trying to research this problem online but running into problems getting quality Google search results when trying to search using terms like "htpc tv image too large" or "tv display edges not visible" (and multiple other variants), I finally came across an article where I learned that there is a specific word for this phenomenon: Overscan

Now, searching with search terms including the word "overscan," the quality of search results I was able to find markedly improved.  However, I was still unable to solve the problem; in several hours of trying, I was unable to correct for the overscan either from the PC side, or from the TV side.

Most PC monitors include geometry controls that allow the screen image size, but there were no such controls available in the my TV's built in software menu.  In further poking around online, I found an avsforum.com thread that described how to access a "secret" admin/service menu where additional TV controls could be accessed; I actually got this to work on my TV and accessed the TV menu (after bypassing a warning about possibly voiding my warranty -- the TV is out of warranty anyway), but on my TV, there were no geometry controls in the admin menu, either.  Finally, I tried to do a firmware update for the TV's software to see if a later version would have the geometry controls I was looking for, but the TV reported that it was already running the latest version of the software when I tried to apply the update via the TV's built-in USB port.

I also investigated correcting the overscan on the PC end of things.  The Intel video card comes with software that allows a lower screen resolution to be sent to the monitor/TV to correct for overscan; however, whenever I tried to apply a "non-standard" lower resolution, the Intel software itself complained that the target resolution was not supported by my display.  Setting the screen to the next-lowest standard widescreen resolution (1680x1050) resulted in wide areas of black around all four edges of the display, so that wasn't a good solution either.  I tried updating to the latest version of the Intel video driver and video software utility package, but that didn't help either.

So, I was left with the question of whether the overscan problem would be a deal-breaker for my intended uses of the HTPC.  My goals for the HTPC were as follows:

Primary goal:

  • Be able to automatically record and playback HDTV program broadcasts.  (Tivo-like DVR functionality)

Secondary goals:

  • Be able to use the HTPC as a secondary home PC, i.e. to do things like browse the Web, check email, and view photos and videos.
  • Be able to play DVD movies (and later, Blu-Ray movies, once the price of Blu-Ray optical drives drops).
  • Be able to play old NES, SNES, and N64 games that I own the cartridges for (via emulation).
  • Be able to play newer games while sitting on the couch and using my XBox 360 controller for PC -- have the HTPC act as a "poor man's XBox 360." (Ironically, though, an actual XBox 360 now retails for significantly less than my overall budget for the HTPC!)

With respect to the primary goal of playing back HDTV content, I needed to be able to use the Windows Media Center (WMC) interface in order to accomplish this.  With the overscan problem, several of the key UI elements of Windows Media Center appeared off the screen.  However, I found a post on Aaron Stebner's WebLog detailing a series of registry keys that can control advanced options in Windows Media Center.  Using these registry tweaks, I was able to get WMC to "pull in" from the screen edges its various UI elements, such that everything was visible on my screen, even with the overscan.  Pretty cool.

However, I had no such luck with applications outside of Windows Media Center.  With the Windows taskbar, the Start button, and the edges of the Windows desktop being out of view, using the HTPC as a regular Windows PC wasn't a very nice experience. 

I also encountered one other problem: On the Windows desktop, thin black lines (such as "divider lines" in various applications) sometimes rendered on screen with quite a bit of "flicker".  This didn't make the display unusable, but it was pretty annoying to look at.

Between the overscan problem and the "flicker" problem, I made a decision not to go with an onboard Intel video card for my final HTPC build.  Having had good experiences with ATI video cards in the past, I decided I would instead go with an AMD-based build including an onboard ATI video card. (The processor company AMD acquired the video card company ATI back in 2006, so now AMD is presumably using the solid ATI technology in its onboard video cards.)

I did also do some testing with the Intel machine with my secondary goals in mind.  Old NES and SNES games ran just fine on the PC via emulation; I was worried there might be some lag time between controller button presses and the responsiveness of the games, but there was no noticeable lag at all, and the games I tested were very playable. 

WoW_OverscanCrop2 I also tested a couple of newer games: World of Warcraft, and Batman Arkham Asylum.  Warcraft (being a 5-year-old game at this point) ran quite acceptably when configured to use lower-end video settings.  However, the game was affected by the overscan issue, making the action button bar at the bottom of the game window partially invisible, resulting in the game being not very playable, at least in full-screen mode.  (The screen capture at right approximates what I was seeing on my HDTV in terms of the game image being clipped.)

Batman Arkham Asylum, a newer game, ran on the PC, but the game ran very slowly, even on minimum video settings.  Although the game ran, it wasn't really playable.  Somewhat interestingly, rather than drop frames and run at normal speed but with a poor framerate, the game just slowed down the overall gameplay to match the throughput that the video card was able to produce -- the end result was although the display was smooth, the game just ran at about 50% of normal speed (so it took Batman an unusually long time to walk from place to place, etc.). 

The poor performance of the Batman game was actually in line with my expectations: I didn't expect the onboard video card to be performant for high-end gaming.  My plan at this point is to run with only onboard video for the time being (sacrificing the goal of being able to use the HTPC as a "poor man's XBox 360"); at some point in the future, I'll purchase an add-on video card for the machine (or maybe, I'll purchase a new video card for my primary desktop PC, and do a hand-me-down of that PC's old video card to the HTPC).

The next post in this series will (finally!) cover my final HTPC parts list, and my experiences with the completed build.

Tuesday, May 18, 2010

HTPC Build part 3 – My attempt to turn a 2004 PC into an HTPC

This is the third in a series of posts I’m writing about an HTPC (Home Theatre PC) build that I recently completed.  To see a list of all posts in this series, click here.

Rather than ordering all of the parts to build a new HTPC at once, I decided to try turning my old (built in 2004) desktop PC into an HTPC.  The hard drive on that PC had died, but the remaining parts were still in good working order.  The pertinent specs on the machine were:

CPU AMD Athlon XP 2800+
Memory 1 GB DDR SDRAM
Video Radeon 9800 AGP 128 MB

Since the old hard drive on the machine had died, and I wanted a large enough disk to have sufficient room to record a good quantity of hours of HD video, I went ahead and ordered a new 640 GB SATA hard drive ($70 shipped from newegg.com).

One problem with this was that the old PC motherboard supported only IDE drives, not SATA.  (SATA is the current standard for desktop PC drives; IDE is an older standard that was still in wide use back in 2004.)   I did want a SATA hard drive, though, just in case the “refurbish the old PC” plan didn’t work out, and I ended up building a whole new PC.  I solved this problem by picking up a SATA-IDE converter for less than $3 shipped off eBay.

I also knew that I would need a method to get video and sound from the old PC to my HDTV.  The Radeon 9800 video card in the machine supported DVI video out, so I purchased a DVI-HDMI adapter for $2 shipped (on sale) from meritline.com.  For the sound, I bought a 3.5mm to RCA Y audio adapter cable off eBay for $1.28 shipped.  (I continue to be pleasantly surprised how inexpensively it’s possible to purchase and have shipped simple parts like cables and adapters via online merchants!)

In addition to holding off for the time being on further significant hardware purchases, I did not buy an additional copy of Windows 7 at this point.  Instead, the plan was to install Windows 7 without entering a license key; Windows will run on a time-limited basis with no key, so I planned to test my hardware configuration first, and then purchase the additional Windows 7 license once I had proved that everything worked.

I went ahead and put the new SATA hard drive into the old PC; the SATA-IDE adapter ended up working just fine.  I fired up the PC and installed Windows 7.  Windows 7 installed with no problems, even on the older hardware.  (I did have to install 32-bit Windows 7, since the older hardware didn’t support 64-bit.)

At this point, I disconnected the spare VGA monitor that I had been using for the Windows 7 install, and hooked up the PC to my HDTV via the adapter cables I had purchased.  I then spent a few hours testing the system – with decidedly mixed results. 

First, the positives:

  • Even on the old hardware, Windows 7 actually ran reasonably well. 
  • Audio and video output from the PC worked on the TV, and I was able to run the TV at its native video resolution of 1920x1080.
  • Playback of the short sample HD video clip that comes with Windows Media Center worked okay (although playback was a bit choppy for the first 2 or 3 seconds each time the clip started).

I ran into some significant problems, though:

  • Video playback: Occasionally the video output from the PC displayed on the TV screen would either “freeze” (stop updating), or simply go black.  Unplugging and re-plugging the HDMI cable would fix this, but the problem occurred fairly frequently – every 20-30 minutes or so – and I wasn’t about to settle for a solution where I’d need to be replugging the cable all the time.  Changing channels on the TV (away from the “HDMI 1” input and then back again), or turning the TV off and then back on, would not fix this problem.  (I didn’t make a clear determination whether it was the old video card, or the DVI-HDMI adapter, that was to blame for the issue.)
  • Video display: Text rendered by Windows applications running on the TV display was very “clipped” and difficult to read.  Increasing the system-wide font size to 150% and playing with the ClearType Tuner helped with this somewhat, but text shown on the display still wasn’t very nice-looking.
  • Sound input: The PC did not output sound over the DVI/HDMI cable; it was necessary to use the RCA audio cable that I had purchased to get sound to output via the TV.  Further, my TV doesn’t have dedicated RCA audio inputs that go with the HDMI input; I was able via the TV’s own menu software to “remap” the “AV 1” (component video) audio inputs to the “HDMI 1” channel, but this meant that I needed to disconnect the audio cables for the device that I had connected to the “AV 1” input (my Wii) – not a situation I was pleased with.
  • PC speed: Although HD video playback was possible, using the PC generally felt sluggish.  This was somewhat to be expected given the old hardware, but using Windows 7 on the old hardware wasn’t really a great experience.  One example is that it took several seconds to Alt+Tab (switch programs) between Windows Media Center and the Windows desktop.

After several hours of playing with the machine, based on the multiple problems I encountered, I made the call to abort the idea of using the old hardware for my HTPC.  Even though the idea of refurbishing my old PC didn’t work out, it had still been an interesting experiment; I had proven that I could get a Windows desktop to display on my TV, and gained an idea of what I could expect as a minimum baseline for an HTPC’s performance. 

The next step would be to go ahead and invest in a set of new parts, and build a new machine.  The new HTPC would be built with the new SATA hard drive I had already bought, and a new motherboard and processor that I would purchase.

The next post in this series will cover the results some testing I did with a loaner Intel-based HTPC that I borrowed from a friend of mine, as a last step towards a final determination on the parts list for my new HTPC build.

Monday, May 17, 2010

HTPC Build Part 2 – Testing a PC TV Tuner and Windows Media Center

This is the second in a series of posts I’m writing about an HTPC (Home Theatre PC) build that I recently completed.  To see a list of all posts in this series, click here.

Having gotten free HDTV via my DIY antenna working nicely, I decided to purchase a TV tuner and try it out with my existing PC running Windows 7 (and therefore also Windows Media Center), before making the full investment in a complete set of parts for a new HTPC.

I found a a pretty good overview video from Microsoft describing what it takes to hook a TV tuner card up to a PC.  Doing this on a PC running Windows 7 enables the ability to be able to watch live broadcast TV on the PC monitor.  It also enables Windows to record broadcast TV like a TiVo or similar DVR device – with no monthly fee!  (There are some free software packages for Linux that have similar functionality, but Windows is my preferred OS, so I decided to go with Microsoft’s software solution.)

HVR-850 After doing some research, I decided to purchase an HVR-850 USB-connection PC TV tuner by Hauppauge.  This tuner is compatible with over-the-air HDTV (ATSC) signals, and is certified to work with Windows 7.  I paid about US $55 for mine (and as of the time of this writing, it’s going for $55 shipped on Amazon).  (Note: This model isn’t compatible with some other types of TV signals such as “Clear QAM” from a set-top cable box; for that, you’d need a higher-end tuner part like the HVR-950.)

Unfortunately, the HVR-850 unit that I received was DOA. I plugged it in to my PC, and Windows 7 recognized the device right away, no driver install needed.  However, upon connecting the HVR-850 via the standard coax cable connection to my antenna and then scanning for over-the-air channels in Windows Media Center, the device wouldn’t find any channels.  I fiddled with the HVR-850 for quite a while, but just couldn’t get it to work.  Finally I had the idea to hook my old NES up to the HVR-850.  The output from the NES was just barely visible on the computer screen through heavy static/snow, and the music from the game was also just barely audible through heavy static/snow as well.  Therefore I concluded that the HVR-850 was “working” in that it was in fact sending some TV signal to the PC; it was just working very poorly!  Apparently I just had gotten a bad HVR-850 unit.

I contacted Hauppauge tech support, and they agreed based on my reported observed behavior that my HVR-850 was probably bad, and to RMA the unit under the warranty.  I got my replacement HVR-850 several days later, and this time, it worked like a charm!  Windows 7 once again recognized the part right away, and I was able to successfully watch live TV on my PC of the same TV channels that I could get on my regular TV.

I tested the DVR functionality of Windows Media Center (WMC) for a couple of weeks, and that worked great as well.  As with the TiVo I’d used previously, it was easy to select a set of shows to record, and have them record automatically.

A cool feature of Windows Media Center is that while watching a program, you can easily drag the current time index of the show back and forth using the mouse, and while doing so, WMC gives you a picture-in-picture indication of what is at the target location.  This makes it really easy to jump to a particular point of a show, and to quickly skip commercials.  It’s nice that Windows Media Center supports control of the software via either a mouse, or via a TV remote control.

At this point, I had effectively turned my primary PC into a fully-functional DVR, for just the $55 incremental purchase of the PC TV tuner above and beyond the cost of the PC hardware and software that I already owned.  Not bad!  However, while watching TV sitting in my office chair at my desk is okay, watching TV on my actual television while sitting on my couch in my living room would be much better!  So, having proven that the Windows 7 DVR software in Windows Media Center and the HVR-850 TV Tuner worked well, I decided to proceed with the next step of going ahead and actually assembling an HTPC for my living room.

Part 3 in this series will cover my attempt to save some money on parts by trying to turn my old 2004 desktop PC into an HTPC.

Sunday, May 16, 2010

HTPC Build Part 1 – Constructing and Installing a DIY Antenna

This is the first in a series of posts I’m writing about an HTPC (Home Theatre PC) build that I recently completed.  To see all posts in the series, click here.

As I’ve mentioned in a previous post on inexpensive home services, I’ve been getting High Definition (HD) TV at home for free via an over-the-air antenna for several months now.  (In most markets in the U.S., since the 2009 digital transition, the major network channels, and often several others, are available 100% legally for free, in HD, via over-the-air broadcast.)  This has been worked great for me, particularly for the price tag ($0/month!), but not perfectly: With my cheap $20 small store-bought antenna positioned next to my TV on the lower level of my home, I could not get the local PBS station, and I had to position the antenna just right to get several other stations (and reposition it whenever anything bumped the antenna).

I set for myself a goal of getting high-quality (strong signal / reliable), hi-def TV into my home, and recording that TV via a DVR (digital video recorder) of some kind, while still maintaining a monthly TV/DVR payment $0.  (If this turned out to be unachievable, I set a fallback plan of getting TV service through one of the satellite TV companies; but even a “cheap” price tag of $25/month ($300/year) was somewhat unpalatable to me compared to a potential payment of $0/year!)

My first step towards this goal was to fix the situation with the reception.  According to the Digital TV reception map at ftc.gov, I should be able to get a strong PBS signal at my location.  My wife and I were very interested in getting PBS due to the good amount of high-quality kids’ programming on that station.

I got several quotes from area companies to install a roof-mounted or in-attic antenna.  All of the quotes came back for north of $500, which was more than I was willing to pay, so I started looking into other antenna solutions.

Poking around online, I came across some interesting plans for a Do-It-Yourself (DIY) antenna on makezine.com.  The plans involved basically assembling a small vertical frame out of wood and a metal pipe, then using pieces from some old wire hangers that are already around the house to form the actual antenna.  When it comes to things other than computers, I’m not exactly a big do-it-yourself guy.  However, these plans seemed simple to do and inexpensive in terms of parts, and there were quite a few very positive comments/reviews on the makezine.com article on the design, so I decided to give it a shot.

Including a trip to the hardware store, the DIY antenna took about $30 in parts and about 4-5 hours of my time to construct.  (I suspect someone used to building this type of thing could have completed the project a lot faster.)  I set the antenna next to my TV and hooked it up, and it worked very nicely!  All of the stations that I already got (including HD signals from the major networks ABC, NBC, CBS, and FOX, as well as many other high-def and standard-def channels) came in better than before. 

However, at this point, I didn’t get PBS.  The next step was to try hooking the antenna up on the second floor of my two-story house, since antennas are supposed to work better when they are positioned higher up relative to ground level. 

Most of the rooms in my house are wired for cable; however, all of the cables in the basement were unlabeled.  Going around my house to one cable jack at a time, I used a little ball of aluminum foil to “short out” the end of a short piece of coax cable connected to the jack, and then I was able to use an ohmmeter to identify the corresponding end of the same cable in the basement utility room. 

Having identified and labeled all of the cables in the basement, I used a connector to directly connect my TV-room cable to my master bedroom cable down in the utility room in the basement.  Then I carried the DIY antenna up to the master bedroom, and tried the TV channels again.  Success – I was now able to get PBS, in great-looking HD!

The final step for the antenna was to install it up in the attic.  I extended the coax cable from my master bedroom (since I intentionally do not, and will not, have a TV in there) up into the attic.  Then I carried the antenna up into the attic, and hooked it up.  I positioned the antenna in the attic by having my wife watch TV and report on how the signal was doing, while I talked to her via our home wireless phones, and made adjustments according to her feedback.  Having found a position where all stations came in great, I left the antenna up in the attic, and closed the attic up again. 

End result: Great-looking and reliable high-definition TV, with my TV simply connected to the wall cable jack.  If you’re looking for a fun DIY project with the end result of getting free, totally legal HD network TV plus more stations, I can recommend giving the makezine.com DIY antenna plans a shot!

The next post in this series will cover my purchase of a PC TV tuner, and trying it out with the DVR software included out-of-the-box with Windows 7, called Windows Media Center.

Tuesday, April 13, 2010

Use your mp3 player to listen to podcasts instead of talk radio on your commute

I have a 15-minute commute by car to work – so that’s about 2.5 hours I spend in the car going to and from work on a typical week.  Occasionally I listen to music in the car, but most often I prefer listening to talk.  Historically, I would typically listen to AM radio on the commute: sports, news, or just whatever was on any station I could find that wasn’t on commercial.

For the past couple of years, though, I’ve listened to podcasts on the commute instead.  For anyone unfamiliar with the term, a typical podcast is essentially a talk radio show that you can download online for free, and listen to on an mp3 player.

Listening to podcasts have several significant advantages over AM radio:

  • Choice of Topic.  At any given time, there are only a few topics available to listen to on talk radio shows.  By contrast, there are a podcasts on a multitude of topics available for free download online.  I’ve replaced listening to general news and sports talk on my commute with topics that are specifically of interest to me, like software engineering, Christian apologetics, and video games. 
  • On-Demand / Pauseable.  With a podcast, the show starts exactly when I sit down in my car in the morning.  And when there’s something interesting being discussed as I arrive at work, instead of missing the end of the discussion, I can just pause my mp3 player, and pick up the show right where I left off when I begin my commute home in the afternoon.
  • Limited or No Commercials.  Whereas a typical radio station plays commercials as much as 15% of the time or more, many podcasts are produced on a volunteer basis and are totally commercial-free.  In my experience, in those podcasts that do run ads, the ads are fairly limited.  And as a last resort, you can always skip past any particularly intrusive commercials that do happen to be present using the fast-forward function on your mp3 player!

My current mp3 player is an Apple iPod, so I use Apple’s iTunes software to subscribe to podcasts, and have the latest episodes automatically download to my PC.  Then, when I sync my iPod with my PC (which I typically do once a week or so), I get several new episodes of my favorite podcasts to listen to on my commute over the next several days.  Easy!  (If you don’t have an iPod, there are several free RSS software packages out there that support audio files that you can use to subscribe to podcasts, and have the .mp3 files automatically download for you.)

The only remaining challenge, then, is how to get the mp3 player output to play through the car speakers (since it’s for obvious reasons dangerous, and apparently in many places illegal, to drive while wearing headphones).  With an older car, you can get an inexpensive device that converts an audio cassette player into a line-in jack for an mp3 player.  Many newer cars these days come with a line-in jack built directly into the stereo system.

However, I drive a model year 2005 car that has neither a line-in jack nor a cassette player.  The solution I landed on for listening to my iPod in my car was a Griffin iTrip FM Transmitter / Charger.  The device is essentially a short-range FM transmitter does a a short-range FM radio broadcast of whatever is playing on your iPod, using an FM frequency that is unused in your area (a frequency that you specify).  Then, you just tune your car radio to that same FM frequency, and you can hear your iPod podcast (or music) over your car’s stereo system! 

I’ve actually bought two copies of the iTrip device – one back in late 2007 for myself, and a second one a year ago for my wife.  Both devices are still in great working condition.  Although the iTrip has an MSRP of US $70, it’s currently going for about $34 shipped on Amazon.com as I write this.  Highly recommended, particularly at that reasonable price.

Finally, a brief plug for a specific podcast: If you’re into video games, check out the Gamers With Jobs podcast.  It’s a group of a few adult gamers that talk weekly about current games (across all of the major console platforms and the PC), and interesting gaming-related topics.  The group has great chemistry and the show is often pretty funny.  And it’s commercial-free!  It’s my favorite podcast.

So – try making your daily commute time more interesting and/or productive by listening to a podcast on a topic of interest to you while you’re driving back and forth to work, instead of just defaulting to whatever happens to be on the radio!