Skip to content

Display artifact/noise on the right edge of a 9.2-inch display (1920 x 462) #1090

Open

Description

@FasteryXD

Describe the bug
When I load a specific custom theme, the right edge of the display shows some random colored pixel noise. It seems the image does not fully overwrite the background on the far right edge, even though the dimensions are perfectly fine.

Image

To Reproduce
Steps to reproduce the behavior:

  1. Create a custom theme folder or use an existing project (such as AMD or Cyberpunk).
  2. Use the existing YAML file that has already been uploaded as a template.
  3. Use the attached background.png as the background.
  4. Run the python script to load the theme.
  5. Look at the right edge of the smart screen to see the colored noise.

Expected behavior
The screen should be perfectly filled with the background image from left to right without any noise, just like it does with other themes.

Logs

The script runs normally and does not output any crash logs or errors. It just renders the artifact on the screen.

Screenshots / photos of the Turing screen
The strange thing is that all the included themes exhibit this defect, except for one project: the Blue Technology theme. I have absolutely no idea why, but with this one, the image is perfectly aligned on the screen, unlike with Cyberpunk, the AMD theme, or my own attempts to copy the Blue themes.

BLUE:

Image Image [theme.txt](https://github.com/user-attachments/files/32065608/theme.txt) Image Image Image

AMD:

Image [theme.txt](https://github.com/user-attachments/files/32065575/theme.txt)

My:

Image

Environment:

  • Smart screen model: TURZX 1920x462 LCD
  • Revision of this project: main branch
  • OS with version: Ubuntu 26.04
  • Python version: Python 3.14.4
  • Hardware: Intel CPU and Nvidia GPU

Additional context
I tried to troubleshoot this myself to ensure it's not a hardware or YAML issue:

  1. If I take the Blue image (background.png) and put it into the AMD theme folder (without changing a single line of YAML code or x/y offsets), the display is 100% seamless and perfect.

  2. I checked both images with the Ubuntu file command to see if the dimensions differ. Both output the exact same specs: 1920 x 480, 8-bit/color RGBA, non-interlaced.

Since both images share the exact same resolution and RGBA format, but only the AMD one causes the noise, could it be related to some invisible/transparent pixels on the edge of the AMD image that are not being rendered with a solid color? I am not an expert with image decoding, so this is just a wild guess.

Any help is greatly appreciated!

Activity

  1. crtormo commented on Sep 19, 2026

    @crtormo

    Same panel family here (COUGAR CFV235, 9.16" 1920×462, see https://github.com/crtormo/cougar-panel-lcd-cfv-235) — I hit the same class of edge artifacts and the fix that worked for me may help you:

    These panels are very picky about the exact uploaded dimensions. On the CFV235 the panel does not scale and does not accept partial-row padding: an image that is not exactly the panel resolution produces tiling/misalignment, and images whose width differs even slightly leave stale pixels on the right edge because the panel's framebuffer is not cleared between uploads — the leftover columns from the previous frame stay lit.

    Two things to check on the Blue-vs-others difference:

    1. Exact resolution of the source PNGs (not just what the YAML says): open the actual background.png files and confirm they are exactly the panel's native size. My bet: Blue Technology's PNG is natively 1920×462 and the others are 1920×480 (as in your screenshot) and get cropped/scaled on the way out.
    2. Upload a full-screen black PNG first at exact native resolution — if the noise disappears after that and then reappears on the next theme, it confirms the framebuffer is not being cleared between frames, and the real fix is to make sure every rendered frame is exactly native resolution before upload (pad/crop server-side).

    On my panel I also measured that the practical safe area has a few pixels of asymmetry on the right edge (probably bezel calibration), so rendering themes with a couple of px of margin on the right makes artifacts invisible in practice.

    Measured protocol data for the CFV235 (in case it's useful for cross-reference, since these generic "9.2 inch 1920x462" panels share firmware lineage): docs/CANAL.md in my repo.

  2. FasteryXD commented on Sep 19, 2026

    @FasteryXD
    Author

    Let's go through this step-by-step again, just to be sure. Right now, only the default "Blue Technologies" background works; all the other backgrounds exhibit this glitch, which is why I uploaded it earlier. According to my output, the working background PNG has dimensions of 1920 × 480 and uses the following YAML:

    author: "@mathoudebine"
    
    display:
      DISPLAY_SIZE: 8.8"
      DISPLAY_ORIENTATION: landscape
      DISPLAY_RGB_LED: 0, 0, 255
    
    static_images:
      BACKGROUND:
        PATH: background.png
        X: 0
        Y: 0
        WIDTH: 1920
        HEIGHT: 480
    

    To test the framebuffer theory, I’ve now created four purely black images, using both Canva and GIMP just to be safe: one set at 1920 × 480 (like the working "Blue Technologies" one) and another at 1920 × 462 (matching the true display size).

    In every single attempt with these pure black images, the noisy border appeared. I also adjusted the HEIGHT in the YAML to match those sizes (462 and 480 respectively), but without success.

    Am I overlooking something? Could the script be dropping the final pixel column for this specific screen model during the USB transfer?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions