[EMB-486] add detection for new touchscreen touch driver in vnc server - #3
Merged
Robin den Hertog (robinmdh) merged 1 commit intoJul 31, 2026
Conversation
The vnc server wasn't finding the event class object to send touch events to. So we have to add the address for the goodIX device to the startup script. Signed-off-by: Robin den Hertog <r.denhertog@ultimaker.com>
Bryan Foley (bryanfoley)
approved these changes
Jul 31, 2026
Robin den Hertog (robinmdh)
deleted the
EMB-486-fix-vncserver-for-new-screen
branch
July 31, 2026 13:45
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The VNC server was not finding the touch input device on printers fitted with the new GoodIX touchscreen. The startup script hard-coded only the EDT touch controller I²C address (
0038) and iterated over a fixedevent0–event5range, which didn't cover the GoodIX device at address005d.Changes:
TOUCHSCREEN_ADDR→TOUCHSCREEN_ADDR_EDTand addedTOUCHSCREEN_ADDR_GOODIX="005d"for the new screen's touch driver.{0..5}loop with a glob over/sys/class/input/event*, making it robust against the input event index varying between hardware revisions.grepnow uses-qEwith an alternation pattern so either controller is matched.Known limitation — this PR is a partial fix:
The touch input is now correctly wired up, but the VNC server binary itself has a screen-update regression on the new display: it sends one full initial frame correctly, but subsequent frame updates are not transmitted. The result is that you can click and control the printer blind (touches work, control responds) but you cannot see what you are controlling. This is a separate issue with the
framebuffer-vncserverbinary and/or its interaction with the new framebuffer device; it is out of scope for this PR.Workaround used in the meantime:
A patched Debian package was built manually with this script change applied directly, and deployed to the affected printer for local testing. That package confirmed that the touch-detection fix itself is correct — the
/dev/input/eventXpath is now resolved properly — but exposed the frame-update issue described above.Out of scope: fixing the frame-update/screen-refresh regression; that likely requires changes to the
framebuffer-vncserverbinary or its framebuffer polling logic.So for testing use
apt install framebuffer-vncserver=2026.07.31-merge-masterHow has this been tested
Manually deployed a patched Debian package containing this script to an NGP 2POC6 running the new GoodIX touchscreen. Verified:
Could not find touchscreen device...) because the GoodIX address was not recognised./dev/input/eventXis passed as the-targument, and touch input events are received by the server.The EDT (old screen) path was not regression-tested on hardware; the address and matching logic for
0038are unchanged.Ready for Review Checklist
#TODOcomments mention a Jira ticket number