Puppy 5.4

This board posts about running linux on your webdt366
Post Reply
Posts: 569
Joined: Tue Mar 24, 2009 9:11 pm

Puppy 5.4

Post by quotaholic » Sun Nov 11, 2012 9:30 am

It seems that a lot of newer linux distributions are shipping with pae kernels. These kernels are not compatible with the WebDT and make it harder to source an operating system.

If one searches http://distro.ibiblio.org/ we can find a image called retroprecise.iso in the puppylinux folder.

Simply install this as any iso file. Unetbootin works well.

Do a frugal install and run xorgwizard once rebooted and with a 2fs save file in place. This will format the xorg.conf file for the amd hardware.

Once the xorg.conf file is written by the wizard add
Section "InputDevice"
Identifier "Penmount"
Driver "penmount"
Option "Device" "/dev/ttyS0"
Option "Protocol" "PM9000"
Option "BaudRate" "19200"
Option "ADBit" "10"
Option "ConfigFile" "/etc/penmount.dat"
Option "Button2" "3" # 1=left, 2=middle, 3=right
Option "PenDownMode" "0" # 0=stream mode, 1=point mode
Option "HoldTime" "325" # how long ms to launch the 2nd button
Option "ScreenScale" "0" # screen scale enable/disable
Option "LockWindowRange" "32" # range for press and hold
Option "CalibHoldTime" "750" # hold time for calibration
Option "XMinOffset" "10" # edge compensation
Option "XMaxOffset" "10"
Option "YMinOffset" "10"
Option "YMaxOffset" "10"
Option "StdXMin" "30" # standard calibration
Option "StdXMax" "990"
Option "StdYMin" "30"
Option "StdYMax" "990"
Option "Beep" "1" # 0=off, 1=down, 2=up, 3=down+up
Option "PressVol" "100" # 0 = slience
Option "PressPitch" "880" # freq. (Hz)
Option "PressDur" "15" # duration (1~255)
Option "ReleaseVol" "0" # 0 = slience
Option "ReleasePitch" "1200" # freq. (Hz)
Option "ReleaseDur" "10" # duration (1~255)
Option "AveragePoint" "0" # average point (0,4,8)
Option "Rotation" "1" # rotation (1,2,4,8)
Option "DebugLevel" "0" # debug
After the last input device

and add:
InputDevice "Penmount" "SendCoreEvents"
To the Server Layout section.

Now download the ubuntu 12.04 drivers from penmount.com. Open the install.sh document and edit all instances of "root" out of there.

so if the line read
$SUDO $ROOT_INSTALL $SRC/pm-setup /usr/sbin
the corrected version would be :
$INSTALL $SRC/pm-setup /usr/sbin
In fact here is a corrected version of the install.sh for puppy linux. Credit to Penmount for original authoring.

filetime="$(date +%m%d%H%M%S)"
SUDO=`which sudo`
INSTALL=`which install`
ROOT_INSTALL=$INSTALL' -o root -g root'
ARCH=`uname -m`

if [ $ARCH == "x86_64" ]; then

echo "========================================"
echo " PenMount X Installation "
echo "========================================"

if [ "$(id -u)" != "0" ]; then
echo "[Installer] Please run with root permission !"
exit 1

echo "[Installer] Stopping PenMount Utilities ..."
killall gDraw gCal gPen

echo "[Installer] Copying PenMount Utilities ..."
$INSTALL $SRC/pm-setup /usr/sbin
$INSTALL $SRC/gCal /usr/sbin
$INSTALL $SRC/gDraw /usr/sbin
$INSTALL $SRC/xCal /usr/sbin
$INSTALL $SRC/xDraw /usr/sbin
$INSTALL $SRC/gPen /usr/sbin
$INSTALL -m 4755 $SRC/gPen-wrapper /usr/sbin
$INSTALL -m 4755 $SRC/gCal-wrapper /usr/sbin

echo "[Installer] Copying PenMount Resource Files..."
mkdir /usr/share/penmount
$INSTALL penmount.png /usr/share/penmount
$INSTALL README /usr/share/penmount

if [ -t ./penmount.dat ]; then
$INSTALL penmount.dat /etc
$INSTALL penmount48.png /usr/share/pixmaps/penmount.png
$INSTALL penmount48.png /usr/share/icons/gnome/48x48/apps/penmount.png
$INSTALL penmount32.png /usr/share/icons/gnome/32x32/apps/penmount.png
$INSTALL penmount24.png /usr/share/icons/gnome/24x24/apps/penmount.png
$INSTALL penmount22.png /usr/share/icons/gnome/22x22/apps/penmount.png
$INSTALL penmount16.png /usr/share/icons/gnome/16x16/apps/penmount.png
$INSTALL penmount.desktop /usr/share/applications

if [ -f /usr/share/gnome-menus/update-gnome-menus-cache ]; then
/usr/share/gnome-menus/update-gnome-menus-cache /usr/share/applications > ~/desktop.en_US.utf8.cache
mv ~/desktop.en_US.utf8.cache /usr/share/applications/desktop.en_US.utf8.cache

if [ ! -d ~/.config/autostart ]; then
mkdir -p ~/.config/autostart
$INSTALL penmount_autostart.desktop ~/.config/autostart/penmount.desktop

echo "[Installer] Setting up X Server ..."
if [ -d /usr/share/X11/xorg.conf.d ]; then
rm /usr/share/X11/xorg.conf.d/*penmount*
/usr/sbin/pm-setup -s
udevadm trigger

echo "[Installer] Copying PenMount X Input module file"
if [ -d /usr/$LIB/xorg/modules/input ] ; then
find /usr/$LIB/xorg/modules/input -name penmount_drv.so -type f -delete
$INSTALL $SRC/$XINPUTABI/penmount_drv.so /usr/$LIB/xorg/modules/input
elif [ -d /usr/lib/xorg/modules/input ] ; then
find /usr/lib/xorg/modules/input -name penmount_drv.so -type f -delete
$INSTALL $SRC/$XINPUTABI/penmount_drv.so /usr/lib/xorg/modules/input
echo "[Installer] Cannot find a proper X Input module directory !"

echo "========================================"
echo " PenMount Installation Finished ! "
echo "========================================"
echo "[Installer] Please restart X to make changes take effect !"
Run the installer. Double check the xorg.conf to make sure it still looks the same and if so restart your xserver.

Once back on line you should have screen action on touch. Open a terminal and type "gCal 9" for a simple calibration.

Look at Matts original puppy post forum/viewtopic.php?f=3&t=300 forinstructions on setting up the rest.

Dave7341 discovered that by moving the .sfs files from Matts version to other versions settings and webdt specific configs carried over. Only because xorg drivers have changed since Matts image I dont know if that will work with retroprecise. Matt was using NSC xorg drivers and Puppy5.4 utilizes Geode drivers.

Rather than supply an image I figured I would provide some steps on getting past the hardest part, touchscreen. Let me know if anyone has any questions.


Post Reply