Anelok: towards KiCad 4

Bas Wijnen wijnen at
Sat Jan 16 02:30:11 UTC 2016

On Fri, Jan 15, 2016 at 12:00:19PM -0300, Werner Almesberger wrote:
> This is a somewhat long story about the journey towards KiCad 4.

Ah, this is interesting.  Perhaps you have some tips for me as well.

> The first thing I tried was to see how pcbnew performed. When I had
> poked at newer KiCad versions before, I had always experienced
> extreme slowness in the "legacy" canvas. The OpenGL canvas was snappy
> but lacked (and still lacks) some of the functions available in
> "legacy", so one has to switch back and forth between the two.

My main problem with OpenGL is that for some reason it doesn't draw any
circles.  So the traces look like a collection of rectangles, round pads are
completely missing, and oval pads are thin rectangles.  My guess is that my
graphics card is too old, but it also uses the radeon driver, so you may know
something I don't.

The card has two outputs and shows up in lspci as:
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV370 [Radeon X600/X600 SE]
01:00.1 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] RV380 [Radeon X300/X550/X1050 Series] (Secondary)

> To my dismay I found that "legacy" was still slow. Worse, I found
> that eeschema had adopted the new zeitgeist, and had become
> unbearably slow as well.

I've never seen slowness of the legacy mode.  I do agree that I switch between
them (legacy and cairo; not seeing circles is unacceptable), for deleting
entire traces (cairo defaults to deleting only a segment).

> After a bit of searching I found this bug report
> Lo and behold, disabling EXAPixmaps did the trick, and both eeschema
> and pcbnew's "legacy" canvas both returned to decent performance.

I just tried this, and I don't notice any difference.  Is there any reason to
keep it disabled, or to enable it?  A search for exapixmaps suggests that I may
want to keep it disabled; there are a lot of problems with it on radeon.

> At the end of this, I could delete anelok.cmp. All the information
> in it now seems to be contained in the netlist.

Yes.  In the old version that was also possible (or at least pcbnew had a
switch for getting the info from the netlist; that switch is now gone), but now
it's the only option.

> I have high hopes for the push router.

It is indeed nice (although cairo mode is slow, which is especially annoying
with the push router, which doesn't work in legacy mode).  However, for some
reason they didn't enable it by default.  So you need to go to
Preferences->Interactive Routing, and set Mode to "Shove".

> And the scripting may give us back the automation for which Wolfgang had
> added command-line options so many years ago, but that was lost after
> incompatible changes to the internals of KiCad.

Oh, I didn't know they added scripting support.  That could be useful.


More information about the discussion mailing list