Gerber viewer not displaying correctly

I wonder what’s going on here. I’m displaying the top-copper layer (third one, in copper-ish color), the silkscreen, and the drill file.

If I select the copper layer to bring it to the top, then it shows as expected — see screen shot below:

If I click on either one of the other two (either the holes or silkscreen), the pads disappear — see screen shot:

I suspect that it is a bug, because the one “interesting” setting I specified was Subtract soldermask from silkscreen (which I think is a healthy thing to do). It would seem that that creates opaque black areas where the soldermask was subtracted.

Notice that the stacking is: drill, silkscreen, then top-copper; so, selecting either drill or silkscreen, the silkscreen is rendered above the copper. If I instead open the files with stacking: drill, top-copper, then silkscreen, then the copper shows fine if I select the drill, and it only displays without the pads when I select the silkscreen layer.

Is it a bug? Or is my interpretation incorrect?

[[ edit: BTW, on gEDA’s Gerber viewer, it shows ok no matter the order in which I stack them ]]

Thanks,
Cal-linux

First I would change the drill layer color, it’s a bad idea to have the same color as the background (black).

Can you give the files here?

Does this happen in all zoom levels? Some rendering bugs have appeared when zooming in/out.

Ok, interesting development. Based on the tests I’ve done, it would seem like it is a regression on the Gerber viewer version 5.0.1 (however, highly unconfirmed — see below)

  • The behaviour is present with both KiCAD projects I have at work (one is a tiny board with just a 4-line BOM, one is rather big — 10cm by 10cm, approx. 150 components)
  • I am pretty sure (say, 95% sure) that I had already generated Gerber files with the Subtract soldermask from silkscreen setting and had seen them on KiCAD’s Gerber viewer, alternating layers, and had not noticed the problem before today)
  • I can’t reproduce the behaviour on my PC at home (running 5.0.0 — I upgraded to 5.0.1 this morning at the office)
    • Strangely enough, I cannot seem to upgrade to 5.0.1 on my PC at home — very strange, actually: I did sudo apt-get upgrade kicad, and it did show that it upgraded; however, it seems to have upgraded all of the “auxiliary” packages, but not kicad itself (see transcript of my terminal at the end of this post).
      Notice, my PC at work runs Ubuntu 18.04; this one at home runs Ubuntu 14.04.
  • I copied the Gerber files from the computer at the office (the “defective” ones), and they do not exhibit the strange behaviour here on my PC at home (with the Gerber viewer showing version 5.0.0 in the Help→About dialog).

I guess I’ll retry tomorrow when I’m back at the office (or will retry the upgrade here) and will keep you posted.

Transcript of commands after having upgraded to 5.0.1:

[···]$ sudo dpkg -l kicad* | grep ^ii
ii  kicad                                                       5.0.0-stable-201808011508+fee4fd1~66~ubuntu14.04.1  amd64        Electronic schematic and PCB design software
ii  kicad-doc-en                                                5.0.1-stable-201810121504+1515~17~ubuntu14.04.1     all          Kicad help files (English)
ii  kicad-footprints                                            5.0.1-stable-201810121501+1ee0310~9~ubuntu14.04.1   all          Kicad footprints (modules)
ii  kicad-libraries                                             5.0.1-stable-201810121500+7~ubuntu14.04.1           all          meta-package for dep to all KiCad libraries (symbols, footprints, templates and 3D models)
ii  kicad-packages3d                                            5.0.1-stable-201810121514+ce0b330~7~ubuntu14.04.1   all          Kicad packages3d (3d models for footprints)
ii  kicad-symbols                                               5.0.1-stable-201810121501+45feae0~6~ubuntu14.04.1   all          Kicad symbols (schematic)
ii  kicad-templates                                             5.0.1-stable-201810121503+6fa65ca~8~ubuntu14.04.1   all          Kicad templates
[···]$ sudo apt-get upgrade kicad
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
kicad is already the newest version.

Maybe this: https://lists.launchpad.net/kicad-developers/msg37943.html

I’m confirming the buggy behaviour now on my computer at the office (running KiCAD 5.0.1).

The problem is trivially reproducible, and the behaviour is present at all zoom levels (I just rolled the mouse wheel like crazy, and the display still misses the pads).

This is what I did:

  • Create a new project (called kicad-2 under $HOME/tmp)
  • Go straight to pcbnew (no schematic needed)
  • Menu Place → Footprint — placed some randomly chosen QFP footprint
  • Draw a trace between two randomly chosen pins (probably not necessary, but still)
  • Menu File → Plot... to create Gerbers; left everything default except for checking the box Subtract soldermask from silkscreen (I didn’t even create the drill file — there are no holes on the board anyway)
  • Open Gerber viewer; load silkscreen on Graphic layer 2, load F.Cu layer on Graphic layer 3 (2 and 3 because I already had the colors configured like that)

Voilà — click on Graphic layer 2, and the pads disappear. Click on Graphic layer 3, and the pads do show.

[[ EDIT: Oh, and I forgot to mention: if I generate the files without the Subtract soldermask from silkscreen setting, then the Gerbers display correctly ]]

Here’s the Zip file with the entire project’s directory (and the generated Gerber files):

kicad-2–presumably-showing-5.0.1-Gerber-viewer-bug.zip (9.0 KB)

And here’s the version info:

Application: kicad
Version: 5.0.1-33cea8e~66~ubuntu18.04.1, release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.58.0 OpenSSL/1.1.0g zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Platform: Linux 4.15.0-34-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
    Boost: 1.65.1
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.58.0
    Compiler: GCC 7.3.0 with C++ ABI 1011

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=OFF
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_WXPYTHON=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON

@cal-linux

This appears to be an issue in the “Fallback” (i.e. Cairo) draw mode. Please try with “Modern Toolset (Accelerated)” under Preferences.

Also, please file this as a bug report and we’ll fix it.

1 Like

Yes, when selecting Modern Toolset (Accelerated), the display is correct; selecting the fallback again brings back the buggy behaviour in the display.

Strange detail, though: there is always the “bullet” mark on the left of the item Legacy Toolset (as I understand, this “bullet” mark indicates the current selection — however, in here it always looks as if Legacy Tools is the currently selected mechanism; am I misunderstanding something?)

I have not filed before a bug at the launchpad site (I already signed up over there, though); I hope there isn’t much of a learning curve with that system! :slight_smile:

Thanks,
Cal-linux

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.