[Lazarus] Memory need on ARM

Mark Morgan Lloyd markMLl.lazarus at telemetry.co.uk
Thu Jul 14 15:39:02 CEST 2011


Michael Schnell wrote:
> Hi Experts,
> 
> We are designing a controller PCB using Linux on an ARM CPU.
> 
> We would like to run Lazarus generated programs with a GUI on this 
> hardware.
> 
> Now we would like to know how much RAM is necessary (besides the 
> "Business Logic" variables the program uses).
> 
> I suppose we will need to use some Widget Set (QT ?, GKT ?)

As determined by the distro you select. GTK2 is probably a safe choice 
due to its ubiquity, Qt has to have approximately the correct version 
libraries+shim+lazarus and in practice I've only got it working on x86 
Debian "Squeeze".

> and X11 
> Server, even though the GUI should only be visible via VNC via TCP/IP.

Watch out here: I believe that there's some form of bug in (at least 
some variants of) VNC which prevents it working on ARM. Remember that 
you can also tunnel X over SSH.

> The controller (TI AM1808) does have graphics hardware, but I don't 
> suppose that this makes much difference.
> 
> What (free) Widget set should be used ?
> 
> How much RAM is necessary ?

Depends. As I've mentioned before, I find I can run programs on an NSLU2 
"Slug" with only 32Mb, but I suspect that the issue here is how much 
"important" stuff (daemons etc.) gets swapped out and how long it would 
take to swap it back in if needed in a hurry. If there's a five-second 
hiatus every time somebody touches SSH with a port-scanner it's going to 
be a very effective DoS.

Compiling Lazarus itself is /right/ out in 32Mb, see 
http://wiki.lazarus.freepascal.org/Qemu_and_other_emulators#Relative_Performance 
and note the relative speeds of compiling FPC and Lazarus on a Slug and 
on an emulated processor with much more RAM.

As a general point, note Ludo's recent patches.

-- 
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]




More information about the Lazarus mailing list