Usability problems by dropping legacy toolset (v5.1.2)

I just tried KiCad v5.1.2 from the PPA and am quite disappointed with the lack of Legacy canvas/toolset.
Aside from never upgrading past v5.0.2 - what options do I have to fix the issues this presents me?
I normally use Legacy 80% of the time and OpenGL 20% only when I want push/shove routing.

There are several problems with the OpenGL canvas/tools which I do not like;

  1. Top-side silkscreen and component outlines no longer appear above back-copper layer. I find this annoying as I want to be able to see everything when laying out a board - it makes it easier visually. I can only get these to show if I select a top layer - but of course this is no help if I want to edit the bottom layer at the same time. Is there any way to change this?

  2. The track/via clearance display shows a solid grey fill when routing or editing. I much prefer the wire-frame style of Legacy - again - it makes it easier to see what one is doing.

  3. Certain editing functionality seems lost in OpenGL mode. I cannot delete track segments with delete key just by hovering over them. I canā€™t drag components and have the tracks auto-extend or shrink to follow.

  4. I often like to route tracks that slightly violate DRC or come very close to it (I fabricate my own boards and prefer minimum 0.5mm clearance but donā€™t mind pushing it if things get tight)

This is very easy in Legacy mode. I disable DRC with the toolbar button, and can cram things in wherever I like. The wireframe track clearance display makes it very easy to see what Iā€™m doing and just how close Iā€™m getting to something

Howeverā€¦ In OpenGL mode, this is basically impossible. Not just that having an opaque track-clearance display hides my ability to eyeball how close I am to another track etc, but the worst part is that the routing engine in OpenGL mode refuses to let me route tracks too close even with DRC turned off. It will let me violate DRC but not in a ā€œfineā€ or ā€œpreciseā€ way. The router tries to snap the track here and there and refuse to let me put it where Iā€™m clicking, even when choosing ā€œHighlight Collisionsā€ only. Itā€™s infuriating.

Iā€™m hoping someone can suggest ways to deal with these issues, but on the other hand, I have no real problem with never upgrading past v5.0.2 eitherā€¦

2 Likes

Are you sure that you donā€™t have Legacy toolset?
I think it is only scheduled to be dropped in V6

The legacy canvas had no layer ordering! It used a special deprecated render engine called xor rendering which means all layers got displayed at the same time and any layers that overlapped got bitwise xorded in the framebuffer. Such a rendering is not supported by hardware and therefore quite CPU intensive. (Not a problem in the past as kicad was quite basic. But not compatible with the increasing complexity of the interactive router.)

The new canvases use opengl (or cairo) rendering engines which both offer transparency for layers. The default setup does however not make use of it so you need to change the layer colors manually to get transparency.


And a sidenode: I personally never diplay silk on design time as that layer has too many restrictions from a manufacturing point of view. I use the fab layers exclusively to tell me the component size and references. (i disable visibility of values as well as i do not care about them at design time.)

Yes you can. Unless you changed the hotkey or are still in track mode. The interactive router is quite powerful so there is seldom the need for manual deletion while routing. It automatically deletes old segments if you replace them with new ones.

Then allow drc violations and use the highlight collision mode.

Or the proper way: setup DRC correctly as what you are doing is quite dangerous.

2 Likes

Some platforms that do not supply some libs needed a decision made. (with the 5.1.0 release.) Support python or keep the legacy canvas.

1 Like

I see, I was originally a Linux user as the V4 Linux versions seemed far more stable than on Windows, but since V5 I mainly use Windows as most forum questions are for this OS and I find both are nice and stable these days

1 Like

I have got used to OpenGL and seldom go back to Legacy. The problem you point out can be avoided with transparency.

Click on the colour selector square box of a layer and set the Opacity and Colour to match your preferences. In my case, I set opacity to 45% for most layers, but it is a personal liking.

See also:

Most of the thread handles the layer visibility issue.

1). Totally agree here. the way transparency is handled sucks. I like to see some silk screen (or fab) layer while drawing tracks to keep orientation, but those layers always get pushed to the ā€œbottomā€. I have been fiddling with transparency settings Which you have to do manually! (NO transparency if you donā€™t change the settings yourself !!!), but if you set transparency, everything gets a bit vague and greyish and blend into each other. This can be partly remedied by upping the brightness / saturation at the same time, but it is a lot of fiddling with settings I do not want to fiddle with. Transparency can (and should!) be handled much better, but Iā€™m not exactly sure how.
At the moment the ā€œactiveā€ copper layer gets pulled to the front. I think it would be much better if the active copper layer is pushed to the bottom (or at least below itā€™s corresponding copper layer) and always be 100% opaque, and other layers painted over it with a high transparency. I would also like to be able to pin layers (such as silk screen or fab) to the front to have more reference points while laying tracks.

2). Gosh, clearance is grey now, had not noticed this before. Get used to it. I did notice that the grey clearance has no transparency. I think this is a bug / oversight.

3). I have KiCad V5.1.0 at the moment, and when I hover over a track and press [Del], it deletes several track segments, upto the nearest T-junction. If I click on a segment and then pres [Del] it deletes only the highlighted single segment. With ā€˜uā€™ and ā€˜iā€™ you can change the currently highlighted section (before deleting). This works pretty good for me.

4). Allowing DRC violations is something I do not feel comfortable with, but I understand the wish to be able to do it for simple homebrew PCBā€™s. A partial solution is to use: ā€œPcbnew / File / Board Setup / Design Rules / Tracks & Viasā€ and then add a few track widhts there. You can then increment or decrement from that list while laying tracks. This can only change the track width, not the clearance setting. Another partial solution is to edit the clearance settins of individual pads. I think it is a good idea if it were possible to change clearance settings (or ignore clearance) for individual track segments of a track. The clearance would then be set to whatever object the track bumps into. If you like this idea, then feel free to post a bug report/ feature request on launchpad.
Yet another solution is to edit indivividual pad settings. You can simply clik on a pad, press ā€˜eā€™ for edit and then move it a tiny bit (change X or Y position), make the pad narrower, make it oval or whatever is needed to satisfy DRC.

3 Likes

Add your vote here: https://bugs.launchpad.net/kicad/+bug/1743099

1 Like

I also agree that this opaque grey may be distracting. I filed a new bug report, you can add your vote there: https://bugs.launchpad.net/kicad/+bug/1826719.

1 Like

I my last projects this is the only reason I have found to switch to legacy.

Wrong action :slight_smile:
Follow eelikā€™s link above and click on ā€œThis also affects meā€. (If you have a Launchpad account).
Itā€™s a very new think in Pcbnew, I had not even seen the grey clearances before, and it very likely is a simple oversight and easily fixable by a developer.

Embrace progress!

1 Like

Is it this problem: https://bugs.launchpad.net/kicad/+bug/1826723 ?

2 Likes

In general i also think having transparency without the background darkening (and possibly desaturating) layer colours might also help. So i reported it here: https://bugs.launchpad.net/kicad/+bug/1826722

And the topic linked above also spawned this report which would definitely help: https://bugs.launchpad.net/kicad/+bug/1776369 (TlDr: requests being able to reorder layer drawing order especially between copper and documentation layers.)

1 Like

If you had read my previos post youā€™d know I seldom go back to legacy :wink:
There are some cases that setting track clearance to always show is not enough.
Usually I set the track clearance to show when creating tracks. But these settings are there to match everyoneā€™s taste, so no one can say which option is good for others.

I clicked!

Yup - i why I cannot not get away from 4.0.7 yet! Some how, I feel the mental of EE designer flow not quite smooth. Event some of improved features does sometime make the work little easier.

I think being able to re-order the layers display as in a graphics editor like GIMP would be really useful, and also to pin a certain layer(s) always above the rest.
I donā€™t use the silkscreen layer for mechanical clearance checking so much, but more of a guideline to where components are, and which ones, such as the RefDes codes/values. Itā€™s so much easier to think about the design when I can just see all those things at once in a glance.

Maybe some people donā€™t care, or they can visualise it easier, but for me, not being able to see all the component outlines and values when adding tracks makes things a lot harder.

Yes, thatā€™s it. Although itā€™s even worse when the clearance is defined larger. The cursor will just arbitrarily jump where it thinks it should go, ignoring many grid points, even though DRC is turned off, which in my mind, should mean that it will allow the track to go anywhere I like.

And, disabling DRC in this case actually makes things worse in a way, because in addition to not fixing the general grid snapping issue, it then WONā€™T snap to the center of the pad youā€™re trying to route to, either.

Iā€™ve discovered that it does function how I expect, when I select ā€œfree angle modeā€ but that of course is not a solution as I donā€™t want free angle (I still want 90/45 degree constraints), just free placement, as in legacy with DRC off.

Iā€™m not so worried about the colour, but the fact that itā€™s got a colour at all. I would rather the clearance be a wireframe outline as in Legacy, or at least have the option to adjust the transparency, preferably with the option to enabled/disable an edge outline display.

I have added my vote to the link above, for changing clearance display properties.

I could change the clearance down but this then removes my visual indication of that 0.5mm clearance that I want to be as close as possible to, for homebrew PCBs. If I change clearance to, say, 0.1mm, I can route tracks fine, but it will be easier to accidentally route them too close and Iā€™m maybe going to get resist printing/etch issues. Being able to see the boundary of that 0.5mm clearance but at the same time slightly violate it, is the easiest way to do what I want.

If (1) the solid grey clearance outline was transparent or wireframe, AND (2) the track routing actually let me freely position the cursor over ALL grid points with DRC off (which it currently doesnā€™t), then it would work just like in legacy, no need to change any clearances per segment etc, which sounds like a lot of mucking around.

It would also be very useful if the bright green highlights of violated pads/tracks could be tamed down a bit, that is a big distraction. I think they should stay the same colours but just brighten up a bit, not change completely into a solid neon block that detracts from the task at hand.

Allowing DRC violations and using highlight collisions mode doesnā€™t work sufficiently, because the opaque grey clearance outline stops me seeing what Iā€™m doing, and as eelik already showed in his linked video, the cursor just jumps all over the place and wonā€™t let you violate the DRC properly anyway.

It is hardly dangerous to slightly violate DRC (sometimes by a few pixels) on a home-etched board. Especially when the clearances are 0.5mm to begin with.
None of my boards done this way would fail the much smaller allowable DRC clearances at commercial grade board houses, and if I was designing for commercial manufacture in mind, I would of course set the clearance to whatever the board house requires and be sure NOT to violate it.

For prototypes/one-offs/DIY boards, it really doesnā€™t matter. In that situation I treat DRC as a guideline/soft-limit, rather than a rule. Thatā€™s worked for me perfectly for 10+ years. Why stop now?