The Original Graphical Touchscreen Restaurant Point of Sale Interface
ViewTouch is a registered trademark in the USA
ViewTouch is now a ground-up rewrite of ViewTouch in C++23 and Qt 6 (QML). It keeps ViewTouch's best idea, that every screen is a page of buttons you design yourself, and adds what a restaurant needs today. It runs on Linux PCs, touch screens, Raspberry Pi and Android tablets, entirely on site.
📖 User manual (PDF) · 🛠️ Developer README · 🗺️ Plan
- Orders: tables and seats, courses with hold and fire, modifier choices, notes, rush and VIP, transfer, move, merge, split and reopen checks.
- Payments: cash, cards, gift cards, house accounts, discounts, party gratuity, tips asked on the customer display, server banks or a drawer per screen.
- Guests: a customer display, a self-order kiosk, customer records, loyalty points and rewards, promotions such as happy hour, and a waitlist and reservations with "your table is ready" texts.
- Kitchen: kitchen, bar and expo touchscreens with ticket times, kitchen names and colors, and printers.
- Back office: reports by day or any range against last year (sales, items, labor, tips, kitchen times, food cost, audit), schedule and overtime, tip-outs, inventory with recipes and automatic 86, and CSV/PDF export.
- Staff: PIN login and clock in/out, breaks, roles with per-person permissions, manager approval on the spot, practice mode for training, and messages between screens.
- Many screens, one store: paired, encrypted connections. Tablets and phones join by scanning the network. A standby server keeps running if the main computer fails.
- Safe: every sale is saved at once, with automatic and optionally encrypted backups, a second copy on USB, and a damaged-database check at start.
- English and Spanish: each person's screens are in their own language.
![]() The self-order kiosk on a tall 21.5" stand, buttons within reach. |
![]() Phones get their own pages, with the floor plan. |
ViewTouch Modern needs Linux with Qt 6.8 or newer: Fedora 42+, Debian 13 (and Raspberry Pi OS based on it) or Ubuntu 25.04+.
1. Install what it needs to build
# Fedora
sudo dnf install git gcc-c++ cmake ninja-build qt6-qtbase-devel qt6-qtdeclarative-devel
# Debian / Ubuntu / Raspberry Pi OS
sudo apt install git g++ cmake ninja-build qt6-base-dev qt6-declarative-dev qt6-declarative-dev-tools libgl-dev \
qml6-module-qtquick qml6-module-qtquick-controls qml6-module-qtquick-layouts qml6-module-qtquick-shapes \
qml6-module-qtquick-dialogs qml6-module-qtquick-window qml6-module-qtqml-workerscript libqt6sql6-sqlite2. Get the code and build it
git clone https://github.com/ViewTouch/viewtouch.git
cd viewtouch
cmake -S modern -B modern/build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build modern/build
ctest --test-dir modern/build -j4 # optional: 250 tests, under a minute3. Run it
./modern/build/vtmodern --windowed # a demo café opens; manager PIN 1234, server PIN 1111
./modern/build/vtmodern --demo-data # optional, once: fill the demo store with two months of salesViewTouch starts with a demo store (menu, floor plan, staff), so you can try everything right away. Its data lives in ~/.local/share/ViewTouch/ViewTouch/. Press F11 to switch between full screen and a window.
| Demo PIN | Who |
|---|---|
| 1234 | Morgan, manager (everything) |
| 1111 | Sam, server |
| 2222 | Casey, cashier |
| 5555 | Rosa, server whose screens are in Spanish |
Build installable packages (.rpm / .deb) with modern/packaging/build-packages.sh, install them on each computer, and pick each computer's part:
sudo vtmodern-setup store # this computer keeps the data and has a screen
sudo vtmodern-setup server # keeps the data, no screen (back office)
sudo vtmodern-setup terminal # a screen that joins the store (pair it with a code from Manager → Terminals)Screens start full screen at boot with no way out for staff. Everything else (several screens, Android tablets, printers, backups, the standby server, the self-order kiosk) is in the user manual and the developer README.
Card readers and other hardware come later; the user interface is finished first.
The original ViewTouch (X11/Motif, 1995–2025) is on the legacy branch, unchanged, and its releases (v25.03.1 and earlier) stay on the Releases page. New work happens here on main.
Gene Mosher began writing Point of Sale code on an Apple ][ in 1979. ViewTouch© as we know it today was first created by restaurateur Gene Mosher and C programmer Nick Colley in 1986, making it the ORIGINAL Graphical Touchscreen Restaurant Point of Sale Interface.
First Public Demonstration: ComDex, Las Vegas, November 1986
See historical photo
Early Platform: Atari ST computers (1986-1993/4 under Jack Tramiel)
Initial Funding & Support:
- Ed Ramsay (1986 - code development funding)
- Barbara Mosher (1986 - present, ongoing financial support)
- John King, M.D., Chicago (early funding)
The current version of ViewTouch was created by Gene Mosher and C programmer Richard Bradley, transitioning to:
- UNIX (AIX) on Motorola PowerPC (1995)
- MIT's X Window System for network-transparent graphical interface (1995)
- Linux on Intel x86 (1997)
Major Funding: Billy Foster (1995-1998)
- C to C++ transition (2000-present day)
- Extensive code enhancement by Bruce King (2000-2004) Ariel Brambila Pelayo (2025)
- Major Funding: Doug DeLeeuw
ViewTouch released under GNU Public License (GPL v3) with code hosted on GitHub. Significant modernization and refinement by the open-source community:
Key Contributors:
- Jack Morrison - Amazing debugging skills
- NeroBurner (Reinhold Gschweicher) - Major refactoring and standardization
- NoOne558 (Ariel Brambila Pelayo) - Upgraded to Xft scalable fonts, mobile integration, AI-empowered refactoring of the entire ViewTouch code base.
- Gene and Barbara Mosher - Lifetime support and funding
- Ariel Brambila Pelayo - awarded co-ownership status of ViewTouch code and documentation at GitHub
| Year | Platform | Key Technology |
|---|---|---|
| 1979 | Apple ][ | Initial POS code |
| 1986 | Atari ST | First GUI touchscreen POS |
| 1995 | AIX/PowerPC | UNIX + X Window System |
| 1997 | Linux/x86 | Intel architecture |
| 2000 | Linux/x86 | C++ transition |
| 2016+ | Raspberry Pi | Default platform (Pi 4/5) |
Current Stack:
- OS: Debian Linux with XFCE desktop, And Ubuntu 24.04 Support
- Display: X Window System (network-transparent)
- Default Hardware: Raspberry Pi family
- Auto-update: Desktop icon compiles and installs latest code from GitHub
Gene Mosher's passion and vision has overseen the development, management, and maintenance of ViewTouch code across six decades, spanning a wide array of computers and point of sale equipment. Gene owns the ViewTouch copyright and remains active in ViewTouch in 2025. A personal note to everyone from Gene: I am getting on in years and everyone has always wanted me to tell them what will happen to ViewTouch if/when something happens to me. In 2025 I can reassure that I will be participating in the development of ViewTouch until my last breath, which could easily be 2050 (I'll be 101 then), and with Ariel, who is about half a century younger than I am, being awarded co-ownership of the ViewTouch code and documentation at ViewTouch/GitHub, nothing bad can happen, is going to happen, to ViewTouch. I myself used to wonder about the future of ViewTouch, but I no longer do wonder about the future of ViewTouch. It's going to be alive, healthy, vibrant and dynamic for a long, long time. A new chapter has been opened for ViewTouch in 2025 and I could not be happier about it. Anyone can be a part of the future of ViewTouch - I welcome all who will join us.
ViewTouch Official
- Website: www.viewtouch.com
- Email: gene@viewtouch.com
- Phone: 541-515-5913
- Discord: Join our server
- GitHub Issues: Bug reports and feature requests
- Gitter Chat: Join the conversation
- Wiki: Documentation and guides
The availability of ViewTouch source code and documentation at GitHub benefits clients, customers, and associates of Gene Mosher, facilitating the enhancement and extension of ViewTouch source code.
ViewTouch is released under the GNU General Public License, version 3 (GPL v3).
See LICENSE for full details.
ViewTouch does not manage electronic payment processing. Please make your own decisions with regard to Electronic Funds Transfer functionality.











