✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more
Andrii Bidochko
  • Updated: March 28, 2026
  • 7 min read

Undroidwish Project: Cross‑Platform Open‑Source Build System Overview

undroidwish Not logged in Home Downloads Timeline Branches Tags Tickets Wiki Login Help undroidwish AndroWish sans the borg, a project just for pun. Experimental. This is a single-file Tcl/Tk binary for Windows (32 bit, optional 64 bit) and Linux using parts of the AndroWish source tree, in particular the ZIP virtual file system and the SDL/AGG/freetype based X11 emulation for rendering.So far it is a proof of concept which eventually can be extended to run on another fruity smartphone platform. It is built by executing platform dependent shell scripts which are available for Windows, Linux, and other platforms. Ready-made binaries for 32 and 64 bit Windows and Intel Linux are listed on the Downloads page. It is possible to build undroidwish on Debian platforms with ARM processors like the Raspberry Pi or the Beaglebone. Warning! undroidwish.exe is a Windows 32 bit binary which like other nicely playing portable apps does not write to the registry or otherwise modifies the system. But running it on your Windows PC is at your own risk. It is believed to be a CAREFUL (Click And Run Executable For Unplanned Leisure) thing. Although in the first place it might look like Tk in an X11 server, it provides all the benefits of the underlying AGG/SDL2/freetype based X11 emulation, i.e. anti-aliased rendering of lines, circles, and fonts.It even allows to smoothly zoom the Tk root window by using the mouse wheel combined with the control key. Wayland. Another build script is provided which allows building undroidwish with the SDL2 Wayland video driver. This is partially tested on the GNOME based Fedora 26-29 Workstation, Debian 9 “Stretch”, and CentOS 7.5.As of 2018-02-16 this variant is built with the KMSDRM SDL2 video driver enabled, which allows to run from a console without requiring any display manager infrastructure, provided that the Linux system has decent graphics hardware allowing for kernel mode setting and direct render mode. FreeBSD and OpenBSD. These are very similar to the Linux version (including almost all extensions) but only partially tested on FreeBSD-11 on x86 processors and OpenBSD-6.2 on amd64 processors.OpenIndiana Hipster (based on illumos, based on SunOS 5.11). As for FreeBSD with many extensions but only partially tested in a 32 bit enviroment. MacOS. Alpha versions are available since 2017-09-01, but are only partially tested on MacOS 10.11 (El Capitan) and 10.13 (High Sierra). Haiku. Partial support for the Haiku operating system is now available thanks to SDL2’s video driver architecture. This is still highly experimental.There are Tk ports one of them is undroidwish which runs on Haiku Termux. Termux is an Android terminal emulator and Linux environment app that works directly with no rooting or setup required. It even has a decent X11 server. Thus, most infrastructure is available to run Tcl and undroidwish on decent smartphones or tablets. Raspberry Pi. A Raspberry specific video driver called RPI is available in SDL2 which provides a similar feature set as the KMSDRM driver, i.e.allows to run undroidwish in frame buffer mode. When built for/on the Raspberry this driver is turned on by default, provided a recent Debian 9 (Raspbian) is used as build environment. jsmpeg Video Driver. This is a special video driver which is described further in jsmpeg SDL Video Driver. It allows to direct the undroidwish display to a page in a modern web browswer, e.g. Firefox, Safari, or Chrome.The feature is available starting with the “Eppur si muove (2019-06-22)” release in most Linux, Windows, and MacOSX variants of undroidwish. All undroidwish variants have many of the advanced Tcl/Tk extensions from Batteries Included built in: tkpath, tktreectrl, tkimg, and Canvas3D (which requires the display driver to support OpenGL 2.x or better). Tcl-only extensions (without machine specific libraries) like tcllib, tksqlite, and bwidgets are included, too.Some SDL specific command line options described in Beyond AndroWish can be used to control the size of the Tk root window or its resizability. Other SDL specific things can be controlled at runtime using the sdltk command. In order to start built in scripts directly (which were baked into the ZIP file system), the script to be executed must be specified on the command line with its path within the embedded ZIP file system. Here are some examples. The widget demo undroidwish.exe builtin:sdl2tk8.6/demos/widget TkSQLite, a graphical frontend to SQLite databases undroidwish.exe builtin:tksqlite0.5.13/tksqlite.tcl The PostScript tiger, a tkpath demo undroidwish.exe builtin:tkpath0.3.3/demos/tiger.tcl Canvas3D demo, multiple threads undroidwish.exe builtin:Canvas3d1.2.4/demo/threads.tcl Canvas3D demo of VR rendering undroidwish.exe builtin:Canvas3d1.2.4/demo/vr_chick.tcl Some shortcuts are provided as shown in the table below.On POSIX platforms these can be further abbreviated to form a single shell command when a symbolic link to e.g. vanillawish is created with the name after builtin:. If the name part contains a forward slash use a dash instead in the symbolic link, e.g. TDK-xref for builtin:TDK/xref.Script URL Description builtin:widget The widget demo builtin:tksqlite Graphical frontend to SQLite databases builtin:imgdemo Supported image formats builtin:tkpdemo TkPath demo builtin:3ddemo Canvas3D demo builtin:tkcon Tk console builtin:treectrl Tree control widget demo builtin:tktable Table widget demo builtin:bugz See Tk_Bugz in Tcl’ers Wiki, playable with a game pad builtin:tkchat TkChat instant messaging application builtin:zint Demo for ZINT barcode generator builtin:sdx SDX utility builtin:dungfork Read-only /etc browser demo using tcl-augeas builtin:vncviewer Simple VNC viewer using tkvnc builtin:notebook Will Duquette’s Notebook App builtin:tkmc Simple clone of Midnight Commander from Tcl’ers wiki builtin:zinc-widget Tkzinc demo builtin:tkinspect Tool to inspect other running Tk applications builtin:stardom Small XML browser/editor builtin:helpviewer tkhtml based help file viewer builtin:mpksc mpexpr based calculator builtin:tixtour Demo of tix widgets builtin:tixwidgets Another demo of tix widgets builtin:TDK/checker vanillawish only: Tcl Dev Kit checker builtin:TDK/compiler vanillawish only: Tcl Dev Kit compiler builtin:TDK/debugger vanillawish only: Tcl Dev Kit debugger builtin:TDK/inspector vanillawish only: Tcl Dev Kit inspector builtin:TDK/tape vanillawish only: Tcl Dev Kit tape builtin:TDK/tclapp vanillawish only: Tcl Dev Kit tclapp builtin:TDK/tclsvc vanillawish only: Tcl Dev Kit tclsvc builtin:TDK/vfse vanillawish only: Tcl Dev Kit vfse builtin:TDK/xref vanillawish only: Tcl Dev Kit xref builtin:tclline vanillawish only: pure Tcl readline builtin:ased vanillawish only (linux/windows): ASED Tcl/Tk IDE builtin:vtcl vanillawish only (linux/windows): Visual Tcl builtin:cwsh vanillatclsh only: Curses like Tk wish builtin:mktclsh vanillawish only (windows): extract a vanillatclsh builtin:critcl vanillawish (linux): stripped down version of critcl builtin:ckua vanillatclsh only: text mode OPC/UA server/browser builtin:tdbcsh vanillatclsh only: text mode TDBC frontend builtin:LUCK vanillawish: LUCK build system builtin:lucktui vanillatclsh only: text mode LUCK build system/frontend builtin:tcled vanillatclsh only: text mode editor builtin:TSB vanillawish: Taygete Scrap Book, see Tcl’ers wiki builtin:fuse Export the ZIP content of the binary per FUSE mount builtin:nagelfar vanillawish only: static syntax checker builtin:dtplite vanillatclsh only: document processor builtin:odbcsh vanillatclsh only: similar to tdbcsh but using tclodbc builtin:calc Andy Goth’s calculator builtin:sockspy vanillawish only: socket spy builtin:TclDebugger vanillawish only: debugger component from TclPro builtin:sqawk vanillawish only: D.Bohdan’s awk-like program using SQLite builtin:scotty vanillawish (linux): network management with SNMP support builtin:tkined vanillawish (linux): Tk frontend to scotty builtin:dbg vanillawish (linux): GDB frontend builtin:tkpsql PostgreSQL frontend Fossil version [a10f931ba1] 2026-03-26 23:08:16 []


Andrii Bidochko

CTO UBOS

Andrii Bidochko is an AI entrepreneur and researcher focused on AI agents, reinforcement learning, and autonomous systems. He writes about the technologies shaping the future of machine intelligence, from frontier models and agent architectures to real-world AI applications.

Sign up for our newsletter

Stay up to date with the roadmap progress, announcements and exclusive discounts feel free to sign up with your email.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.