The original graphical touchscreen restaurant point of sale, rebuilt for today.
Download · User manual (PDF) · Developer README · Website
ViewTouch is a registered trademark in the USA
ViewTouch has been built from the ground up in C++23 and Qt 6. It keeps ViewTouch's best idea, that every screen is a page of buttons you design yourself, and adds what a restaurant needs today: floor plans, handhelds at the table, a kitchen display, a self-order kiosk, reports and a standby computer. It runs entirely on site, on Linux PCs, touch screens, Raspberry Pi and Android tablets and phones. There are no monthly fees, and your data stays in the store.
![]() Classic. Raised buttons and textures, as ViewTouch has always looked. |
![]() Modern. Flat buttons, calm colors, the categories in a column, and Void, Send and Pay together. |
The same order, the same buttons. Pick the look in Store Settings → Screens → Style and switch back any time.
One line sets up a fresh Raspberry Pi, Debian 13, Ubuntu 26.04 or Fedora machine. It installs ViewTouch, locks the computer down for the store and starts on the ViewTouch home screen:
curl -fsSL https://raw.githubusercontent.com/ViewTouch/viewtouch/main/modern/packaging/install-viewtouch.sh | sudo shNo curl on a clean install? Use wget -qO- https://raw.githubusercontent.com/ViewTouch/viewtouch/main/modern/packaging/install-viewtouch.sh | sudo sh. No sudo (Debian installed with a root password)? Run su - first and leave out sudo.
Every other screen is an Android tablet or phone (Android 9 or newer) running the ViewTouch app, or another Linux computer. Pair each one with a code from Manager → Terminals. After that, ViewTouch keeps itself up to date:
- the store computer checks for signed updates and installs them when you touch Install;
- phones and tablets get the new app from the store computer by themselves, while nobody is logged in on them.
The packages and the Android app are on the latest release.
You need Linux with Qt 6.8 or newer: Fedora 42+, Debian 13 (and Raspberry Pi OS based on it) or Ubuntu 25.04+.
# 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-sqlitegit 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: about 640 tests
./modern/build/vtmodern --windowed # a demo café opens
./modern/build/vtmodern --demo-data # optional, once: two months of sales to look atTo update it later, run these in the viewtouch folder: git pull, then the two cmake lines again. Press F11 to switch between full screen and a window. The demo store's data lives in ~/.local/share/ViewTouch/ViewTouch/.
| Demo PIN | Who |
|---|---|
| 1234 | Morgan, manager (everything) |
| 1111 | Sam, server |
| 2222 | Casey, cashier |
| 5555 | Rosa, server whose screens are in Spanish |
When you're ready for real, Manager → Factory Reset → An empty store starts over with no menu, tables or sample staff, and Menu Builder → Import brings in the menu you already have.
- Orders: tables and seats, courses with hold and fire, modifier choices, notes, rush and VIP. Transfer, move, merge, split and reopen checks.
- At the table on a handheld:
- seat chips across the check, with a buzz and a flash for every item;
- allergies by seat: only that guest's items are marked, and the kitchen ticket says whose;
- each server's own usual items, and the tables as a list showing what hasn't been sent;
- pages fitted to the phone's screen, with every key a finger tall;
- taps kept through a Wi-Fi dead spot and sent once it's back.
- Payments:
- cash, gift cards, house accounts, discounts, party gratuity, and tips asked on the customer display;
- server banks or a drawer per screen;
- Stripe card readers (optional; see below), with a credit card surcharge that debit cards never pay, or a cash discount with both prices shown.
- 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 and printers. Rush Radar says each station's next half hour ("Grill backs up to 27 min at 7:42") from what's on the line, the tables just seated and the store's usual nights.
- Back office: reports by day or any range against last year (sales, items, labor, tips, kitchen times, food cost, audit), schedule and overtime by your state's rules, tip-outs and tip pools, inventory with recipes and automatic 86, and CSV and PDF export.
- Switching over: import the menu you already have from Square, Clover or Toast, or from any spreadsheet (Excel or CSV), with its categories, sizes, modifier groups, barcodes and photos.
- Your look: Classic or Modern for the whole store. Ready-made Looks, or colors taken from your logo, and every page and button editable on the screen.
- Staff: PIN login, clock in and 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 find the store on the network and update themselves from it. A standby server keeps running if the main computer fails.
- Keeps selling when the network drops: a screen cut off from the store's computer works on its own (new checks, kitchen tickets, cash) and hands its checks in when it's back.
- 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.
- Easy to read for everyone: bigger text, high contrast, and colors that color-blind eyes tell apart, for each person or for one screen.
Build your own installable packages (.rpm / .deb) with modern/packaging/build-packages.sh, or use the ready-made ones from the latest release. Install one on each computer and pick its 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. Printers, backups, the standby server, the self-order kiosk and everything else are in the user manual. How it's built is in the developer README.
Card payments. ViewTouch can take cards through Stripe card readers, but this is optional and off to start. It hasn't been tried yet on a real Stripe reader. Until it has, take cards on your processor's own terminal and ring them up in ViewTouch as Credit Card. Card numbers then never touch ViewTouch.
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) |
| 2026 | Linux · Raspberry Pi · Android | Rebuilt in C++23 and Qt 6 (QML) |
The original's stack (the legacy branch):
- OS: Debian Linux with the XFCE desktop, and Ubuntu 24.04
- Display: X Window System (network-transparent)
- Default hardware: the Raspberry Pi family
- Auto-update: a desktop icon compiled and installed the latest code from GitHub
Today's ViewTouch (main): C++23 and Qt 6 (QML) on Debian 13, Raspberry Pi OS, Ubuntu 26.04 and Fedora, with Android tablets and phones as screens, signed packages and updates, and the store computer locked down for the store.
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 can take cards through Stripe card readers, but this is optional and off to start (see Card payments under Running a real store). Please make your own decisions with regard to Electronic Funds Transfer functionality, with your processor.

















