Zalman HD160XT

Incomplete, needs to be expanded. Please help to fill the gaps or discuss the issue on the talk page

Initial

This page is work in progress, and I try to keep it as alive as possible.

Introduction

For Rev3.0 cases look for details here: http://zalman.ostergaard.net/
The rest of this guide is focussed on the Rev2.0 case combined with an Ubuntu (8.04 64-bit) distribution, This guide is roughly based on the link as described above.

When there are inquiries I'm happy to replace the current pictures with my setup.

Previously this guide was based on a ubuntu 7.10 installation, so some content is not yet hardy-ready yet.

Installation

Execute a normal Ubuntu installation (including the updates). On a freshly installed system the touchscreen will already emulate a left mouse click. Test this by hovering a button with the mouse and tapping the touch screen.

After installation please:

remove the 'brltty' and 'brltty-x11' packages since these hampered the correct operation of the front-panel.

install 'libftdi-dev' package for correct usage of the front panel

When using NVIDIA Card install the libc6-dev package and install the latest NVIDIA driver (I used: http://www.nvidia.com/object/linux_display_ia32_169.09.html). Don't forget to stop the X when execiting the installation (/etc/init.d/gdm stop). Try to follow all default options, it worked for me.

Or use the Envy-gtk package now included to install the NVIDIA/ATI drivers.

prefix the command with 'gksu'. In this manner the setting can be saved.

Close -> Close -> Restart

Now start the NVIDIA X Server Settings

Enable the second screen, and make it a "seperate X screen"

Drag and drop the screen to match the setup (keep them adjacent)

Save the configuration, and ignore warnings.

Again restart.

Adapt the xorg.conf file in such a manner that primary login starts on the HD160XT's screen.

Touch screen setup

Setup

Now install the evtouch package (don't forget to remove the brltty package):

sudo apt-get install xserver-xorg-input-evtouch

As suggested by: http://zalman.ostergaard.net/, take the '69-touchscreen.rules' file, and copy this to /etc/udev/rules.d. Don't forget to chmod this file to match the others already present in this dir. Reboot the machine, and you should have the /dev/input/evtouch_event device available.

Now adapt the /etc/X11/xorg.conf file, and add the following to the file:

# Make sure both the mouse and touchscreen keep on working
InputDevice "touchpanel" "SendCoreEvents"

Hints on Calibrating the touchscreen

Using CTRL+ALT+BACKSPACE gives a quick way to restart the X-session (Edit /etc/X11/xorg.conf with ALT-F1 session, en switch back to X with ALT-F7). Keep in mind that since the display is rotated clock wise, MinX and MinY are swapped (same applies to MaxX and MaxY).
The following I found during the calibration:

Increasing MinY makes the cursor reach the left border earlier when moving from right to left

Decreasing MaxY makes the cursor reach the right border earlier when moving from left to right

Increasing MinX makes the cursor reach the bottom border earlier when moving from top to bottom

Decreasing MaxX makes the cursor reach the top border earlier when moving from bottom to top

Adapting Mythtv's menu structure

The current mythtv menus don't support a "touchable" back button. The button has to be added to the already existing structure.

Problem still lies in a number of applications that are only using the keyboard for input (Watch recordings for instance). I still need to figure out how to interact with these "applications"

Getting the frontpanel to work

NOTES:

These are my preliminary tests, so this is work in progress

This is not one of the easiest tasks done so far, therefore expect some time to pass until I got this figured out.

Henrik's page refers to a 'ZalmanRemote' application. Run this application as root.

Patch the ftdi_sio.c as described on the page of Henrik, and rebuild the kernel. See one of the links below on how to rebuild/install a (patched) kernel.

For testing the following was used

/bin/stty -F /dev/ttyUSB0 38400 raw cs8
cat /dev/ttyUSB0

With each press of the keys on the front you see a letter appear on the screen.
(eg: when pressing the volume button, the letter 'J' should appear)

As a sidenote: the circuitry is very noise sensitive. There are multiple occasions where the pressing of a key produces more than one response. I don't know if this is a result of bad de-boucing, mechanical mis-design of Zalman, my case or specific to my pressing technique.

Gestures usage, this will enable the <ESC>, <LEFT>, <RIGHT>, <UP>, <DOWN>, <ENTER> function in a number of menus that can not be adapted in mythtv (wayv works, but doesn't allow input of the touch-screen, go figure :-)

Hardware setup in more detail

CPU Cooling

From Zalman I planned to use the CNPS9500A LED to cool my overclocked CPU. However there is one big drawback with this cooler, it is using a 3-pin connection to the fan iso the 4-pin needed to have the q-fan option working. So reject or adapt? I choose to adapt. So I got myself the zalman cooler together with a nexus PWM 92 mm case fan. Now the rest is "simple": replace the zalman fan with a nexus fan (see picture).

Zalman/Nexus cooler

Case cooling

The case itself is cooled with Nexus fans only.
[TBD: More info]

References

The number of links I used during this search is staggering. Whenever I felt like it, I added a link to the list below. So in no way this is complete.