IDE Status display problem with Linux

Any idea why compiling ESP32 code on Linux gives this, where on Windows 11 the display is fine.

Additional information...

Arduino IDE 1.8.19 on both systems

Dual boot Intel I3-10100 (4 core 8 thread) 16GB memory

XUbuntu 22.04.5 LTS (Ubuntu with xfce window manager)

It may have something to do with the compile speed.
Windows 11 takes 4 minutes (one of the reasons I don't use Windows)
Linux takes 51 seconds

No - the Linux time is not for a second compile. After the initial compile Linux takes 11 seconds.

That's not an IDE problem; that's a problem somewhere deep in the Linux box. I'd be checking syslog and dmesg and kern.log for things that are broken.

Nothing related in the logs.

Use the mouse to select some text to copy. Does it paint the highlighted text correctly? If you then hit Ctrl-C and paste elsewhere, did the copy work?

If you scroll down and back up, does it repaint correctly?

My guess is not deep kernel-level internals, but the implementation of the window, which for IDE 1.x is Java, I believe. Maybe it's the graphics driver. With ESP32, there are many suuuuuper long commands.

And it shouldn't be the speed either. BTW, I also see Windows taking four times longer than Linux on a dual-boot box. I shaved 20% on Windows by putting everything on a Dev Drive, but that's nowhere near 75%.

2 Likes

That appears to be the problem. If I copy paste a few lines from the screen I get readable text but each line is ~24,000 characters long. The IDE display doesn't seem to handle that well.

Scrolling up and down doesn't make a difference.

1 Like

Just a stray thought... is this with verbose compilation turned on?

I only ask because with ESP32 if I turn on verbose compilation in my IDE (I use Geany), compile times go into the tank and the system grinds not to a halt, but slower, and slower... with no output happening until the compilation is just about finished and then poof, hundreds of incredibly long lines appear.

But if I turn verbose compilation off... no problems. Compile time shortens dramatically and the the system just hums along.

I wonder if what you're seeing and what I've seen are two symptoms of our respective systems not being able to handle 24K long lines.

(Interestingly, if I use arduino-cli just in a terminal, verbose compilation doesn't affect anything.)

Might be an issue with libvte, used by Geany. Which terminal do you normally use? If it's not a VTE-based one, you could try one that is; see if it exhibits the same flaw.

1 Like

Had to look that up; it was just whatever the default terminal was in Raspberry OS. LxTerminal, it seems.

And I believe you are correct. I turned off virtual terminal support in Geany and it did help with a verbose ESP32 compile. It sailed through the long lines of the compile stage, but still hung up after declaring "Using precompiled core..." While a long command line follows that, it's nowhere near as long as the preceding ESP32 compile command lines. Still, it's an improvement and I'll add that to my bag of tricks with thanks!

WOW, I never tried that and yes, compile times are super fast. Now a standard part of my kit.

Hi @oldcurmudgeon. In case it will be of interest, I'll add that the bug is tracked here:

One of Arduino's developer's did investigate the problem, however:

I tried to find a solution but didn't end up with acceptable results (maybe some java guru could help :slightly_smiling_face: ).

I would suggest trying Arduino IDE 2.x. Since it is a complete rewrite of the IDE, and uses the same technology as the incredibly popular VS Code for its Output panel, it is likely that it won't have the same problem with handling excessively long lines.

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