Undroidwish on the Raspberry Pi 3

Difference between version 7 and 8 - Previous - Next
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 [http://www.androwish.org/download/index.html] 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 https://www.androwish.org/home/dir?name=assets/touchcal0.1%|%touchcal package%|% and its use in the https://www.androwish.org/home/artifact/8c4639b2aea261b4%|%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

<<categories>> AndroWish