Undroidwish on the Raspberry Pi 3

I recently bought a Raspberry Pi 3 with Raspbian NOOB preconfigured on an SD card. I had the need to install the TLS extension. It was suggested in comp.lang.tcl to use Undroidwish. Below are the steps I took to build Undroidwish (there was a bit of trial and error but I hope I remembered correctly and didn't miss something!). First upgrade your Raspbian NOOB with

 sudo apt-get install upgrade
 sudo apt-get install dist-upgrade

With advice from chw, I installed the following packages with sudo apt-get install <package>

 bc
 libx11-dev
 libusb-dev
 libudev-dev
 freeglut3-dev
 librsvg2-dev
 libdbus-1-dev
 libaugeas-dev
 libasound2-dev
 zip

Download the latest Source code (tarball) from the AndroWish Downloads page [1 ] and place it in say /usr/local/src.

Then uncompress and untar the file:

 tar -xvzf androwish-a05b615f58.tar.gz

Created a directory outside the source tree, I named mine undroid

 mkdir /usr/local/src/undroid

Change directory to undroid

 cd  /usr/local/src/undroid 

Enter the following command and hopefully everything builds without an issue:

 /usr/local/src/androwish-a05b615f58/undroid/build-vanilla-generic.sh

So hopefully all the packages build and two files are created with all the packages wrapped up and placed in the current directory. The files are vanillatclsh and vanillawish. The directory should look like this :

 raspberrypi:/usr/local/src/undroid# ls
 3dcanvas    curl       libdmtx   sdl2tk       tbcload     tclkit  tclx    tkpath      tkvnc  v4l2          zint
 assets      dbus-intf  libressl  snack        tcl         tcludp  tdom    tktable     tls    vanillatclsh  zlib
 assets.zip  dbus-tcl   Memchan   tassets      tcl-augeas  tcluvc  tkhtml  tktray      trf    vanillawish
 build.log   itk        opt       tassets.zip  TclCurl     tclvfs  tkimg   tktreectrl  trofs  ZBar

Now test it out

 raspberrypi:/usr/local/src/undroid# ./vanillatclsh
 % info patchlevel
 8.6.6
 % package require tls
 1.6.7

A similar approach can be used to generate undroidwish which has the added benefit to not require an X server and X11 runtime environment on the Raspberry due to support of the Raspberry frame buffer.

 /usr/local/src/androwish..../undroid/build-undroidwish-generic.sh

Current releases of the AndroWish source tree (>= 2019) turn on the "RPI" SDL2 video driver which uses the VideoCore libraries below /opt/vc for driving the frame buffer. This allows to run it with the minimal Raspbian images for Debian versions 8 (jessie), 9 (stretch), and 10 (buster) without requiring installation of additional packages.

There's a ready made undroidwish for Raspbian as of 2020-01-20 in http://www.ch-werner.de/AndroWish/undroidwish-raspi which has been successfully tested with an HDMI monitor and with the official Raspberry 7" touch display. Support for /dev/input (evdev based) capacitive and resistive touch screens is built into the SDL2 layer. While capacitive touch screens work OOTB, resistive ones require calibration, see the touchcal package and its use in the vncviewer demo .


lai - 2020-02-05 02:42:39

I've installed tls 1.6.7 on the RasPi 3 this way:

- sudo apt-get install tcl-dev libssl-dev - download tls 1.6.7 from sourceforge - to install tls 1.6.7: ./configure; sudo make; sudo make install