# goodtft/LCD-show: Driver Scripts for Small TFT Panels on Raspberry Pi

> LCD-show is a collection of per-panel shell scripts that install device tree overlays, kernel modules and X11 input packages so a 2.4 to 7 inch TFT screen works on a Raspberry Pi under Raspbian. It is narrow, versioned against specific Raspbian releases, and only useful if you own one of the panels it lists.

**goodtft/LCD-show** —   2.4" 2.8"3.2" 3.5" 5.0" 7.0" TFT LCD driver for the Raspberry PI 3B+/A/A+/B/B+/PI2/ PI3/ZERO/ZERO W

- Repository: https://github.com/goodtft/LCD-show
- Stars: 2,724 · Forks: 902
- Language: C++
- License: not declared
- Published: 2026-09-28 · Updated: 2026-09-28 · Language: en
- Canonical page: https://hysenlabs.com/projects/goodtft-lcd-show

## The problem LCD-show solves: a panel that shows nothing after boot

A Raspberry Pi boots to HDMI by default. A small SPI or GPIO-attached TFT panel connected to the 40-pin header is invisible to the firmware until something tells it the display exists, which resolution it has, and which pins carry the data. On a desktop Linux machine that is a device tree overlay plus a kernel module plus, for touch, an input driver. On a Pi it is the same work, and LCD-show packages it as one script per panel model. The target user is someone holding a 3.5 inch MPI3501 or an MHS3528 who wants the console and X to appear on it without writing an overlay by hand. The repository is a delivery mechanism for configuration files, not a driver written from scratch: the top level holds boot/, etc/ and usr/ directories alongside the scripts, which is the layout of files that get copied onto the running system.

## How the per-model scripts work

There is no single installer. The repository root contains one executable per panel, and the README maps each to a product code: LCD24-show for the 2.4 inch MPI2401, LCD35-show for the 3.5 inch MPI3501, MHS35-show for the MHS3528, LCD7C-show for the 7 inch MPI7002 at 1024x600, and roughly thirty more, including DPI5_7_800_480-show and DPI7_1024_600-show for DPI-connected panels. Running one of these as root is what installs the driver. The supporting directories boot/, etc/ and usr/ supply the files the script places, and the root also ships .deb packages for X input: xserver-xorg-input-evdev in armhf and arm64 builds, xinput-calibrator in armhf and arm64 builds, and python-xlib_0.23-2_all.deb with PyMouse-1.0.tar.gz for pointer emulation. The changelog shows the maintenance pattern clearly: v1.2-20170302 added xserver-xorg-input-evdev_1%3a2.10.3-1_armhf.deb specifically to support Raspbian-2017-03-02, and v1.6-20170824 updated xserver to support Raspbian-2017-08-16. Each entry ties a script revision to a Raspbian release date, which tells you the project tracks distribution changes rather than abstract kernel versions.

## Installing LCD-show on Raspbian and running the first script

The README assumes a Pi already flashed with Raspbian, connected to the network over SSH. The first step removes any previous copy, clones the repository, makes the scripts executable and enters the directory. Run these four commands in order; the rm -rf is deliberate so a stale checkout cannot shadow the new one.

```bash
sudo rm -rf LCD-show
git clone https://github.com/goodtft/LCD-show.git
chmod -R 755 LCD-show
cd LCD-show/
```

The second step is the one that matters. Pick the script that matches the panel, not the screen size you measured. A 3.5 inch MPI3501 uses LCD35-show, while a 3.5 inch MHS3528 uses MHS35-show and an MHS35XX uses MHS35B-show. The README gives this example for the 3.5 inch MPI3501:

```bash
sudo ./LCD35-show
```

After the command returns, the README says to wait a moment and the LCD becomes usable. Expect the system to reconfigure the display output, so a monitor on HDMI may stop showing the desktop. Rotation is passed as an argument at install time. The README documents 0, 90, 180 and 270:

```bash
sudo ./LCD35-show 90
```

The README states the system restarts automatically after this and both display and touch come up rotated. If the driver is already installed and you only want to change orientation, the repository ships rotate.sh at the root:

```bash
cd LCD-show/
sudo ./rotate.sh 90
```

The README notes that if rotate.sh cannot be found, you should reinstall with the method above to get the latest driver files.

## Where LCD-show stops being the right tool

The README opens by sending Ubuntu, Kali and RetroPie users to three other repositories: lcdwiki/LCD-show-ubuntu, lcdwiki/LCD-show-kali and lcdwiki/LCD-show-retropie. That is an explicit boundary. If your Pi runs anything other than Raspbian, this repository's scripts are not the documented path, and the README does not describe what they do on those systems. The second limitation is release coupling. The changelog's newest entry is v2.1-20191106, and the entries before it are dated against Raspbian images from 2017 and 2018. Nothing in the README states which Raspbian releases after 2019 were validated, so a current image is an untested combination from the documentation's point of view. The third is that installation is destructive to the existing display configuration: the scripts write into boot/, etc/ and usr/, and the README describes a reboot as part of normal operation. The repository does ship system_backup.sh and system_restore.sh at the root, which suggests the authors expected installs to need undoing, but the README does not document what those scripts back up or how to invoke them, so treat that as an unverified escape hatch rather than a documented rollback. Finally, the README states no licence for the repository, which matters if you plan to redistribute the scripts or the bundled .deb files.

## LCD-show against Waveshare's equivalent scripts

Waveshare publishes its own per-panel setup scripts for its Raspberry Pi displays, and the search data shows people looking for them alongside this project. The difference in approach is scope. LCD-show is bound to a fixed catalogue: each script name corresponds to a specific goodtft or lcdwiki panel, and the README pairs every one with a wiki page on lcdwiki.com. Waveshare's scripts ship with Waveshare panels and cover that vendor's line. If you own a Waveshare panel, the vendor's own script is the one written for your hardware, and LCD-show's script list will not contain a matching entry. If you own an MPI or MHS panel, the reverse holds. Neither project is a general display configuration layer; both are catalogues, and the catalogue you should use is the one that contains your model number. A generic alternative exists in the sense that you can write a device tree overlay yourself, but that is not a drop-in replacement and the README does not attempt it.

## Maintenance status, licence and upgrade cost

The repository is not archived, and the last push was on 2026-08-28, so commits are still landing. That is not the same as the scripts being current: the most recent changelog entry in the README is v2.1-20191106, which added MHS35B support, and the README does not describe what changed between that release and the 2026 push. Upgrading therefore carries an unknown. If you reflash Raspbian and rerun your script, you are combining a driver set documented against older images with a newer distribution, and the README gives no compatibility table for the gap. The practical upgrade cost is a reinstall and a reboot per panel, plus re-running rotate.sh if you had a non-zero orientation, because the README's rotation method 1 installs the driver and rotation together. On licensing: the README states no licence for this repository, and it bundles third-party .deb packages (xserver-xorg-input-evdev, xinput-calibrator, python-xlib) that carry their own terms. If you plan to ship an image built with these scripts, check the licence of each bundled package yourself; the README does not settle that question.

## Conclusion

Adopt LCD-show if you have a Raspberry Pi running Raspbian and a panel whose model number appears in the repository's script list, because the per-model scripts are the whole point and there is no generic fallback. Do not adopt it if you run Ubuntu, Kali or RetroPie on the same hardware and expect this repository to help: the README points those three systems at separate repositories maintained elsewhere. Before running anything, verify that the script name matches the model printed on your board and that your Raspbian release is one the changelog mentions, because the newest entry in the README is v2.1-20191106 and nothing in the README states which later Raspbian releases were validated.

## FAQ

### How do I install LCD-show on a Raspberry Pi running Raspbian?

Clone the repository, make it executable, enter the directory, then run the script matching your panel model as root. The README's sequence is sudo rm -rf LCD-show, git clone https://github.com/goodtft/LCD-show.git, chmod -R 755 LCD-show, cd LCD-show/, then something like sudo ./LCD35-show.

### Does LCD-show work on Kali, RetroPie or Ubuntu?

The README directs those systems elsewhere, to lcdwiki/LCD-show-kali, lcdwiki/LCD-show-retropie and lcdwiki/LCD-show-ubuntu respectively. This repository's instructions are written for Raspbian.

### How do I rotate the LCD-show display by 90 degrees?

Pass the angle to the install script, for example sudo ./LCD35-show 90, where 90 can be 0, 90, 180 or 270. If the driver is already installed, the README gives sudo ./rotate.sh 90 from inside the LCD-show directory instead.

### Which LCD-show script matches my screen?

Match the panel's model code, not its diagonal size. A 3.5 inch MPI3501 uses LCD35-show, an MHS3528 uses MHS35-show, and an MHS35XX uses MHS35B-show, per the README's list.

### Is the goodtft/LCD-show repository still maintained?

It is not archived and the last push was on 2026-08-28, so commits are still being made. The README's changelog, however, stops at v2.1-20191106, and it does not state which Raspbian releases after that were validated.

## Sources

- [goodtft/LCD-show on GitHub](https://github.com/goodtft/LCD-show)
- [Issues](https://github.com/goodtft/LCD-show/issues)
- [README](https://github.com/goodtft/LCD-show/blob/master/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/goodtft-lcd-show
