For those that are having problems running Leo (crashes, errors, etc...) I highly recommend running on Raspberry Pi. I’ve been up and running constantly for two and a half weeks with no problems whatsoever. It’s a great little machine and pretty simple to setup. If ya got an extra $40 and a little time to set it up it’s kind of a no brainer. Just a thought for those having issues constantly. Several of us on here are using it and we’d be more than happy to help anyone that wants to give it a go.
I have to say, that your statement only makes half way sense.
While it is true, that a clean and otherwise unused linux setup on a raspberry might work somewhat better in the first place, you are still way more limited with what you can do overall.
So, yeah, i too recommend to have leonArdo running on a dedicated installation/computer which has _as few background tasks running as possible_, because that's more or less the key to give it as much CPU and spare I/O for networking and disk access (writing logs and saving stats as well as access it's own local database).
But even on a raspberry 3 you have some problems because of the not optimal performance of your micro SD card, the Ethernet going over your USB and maybe even having your additional storage on the same USB bus.
Let me explain a bit with my actual machine where i run leonArdo as an example.
I have a Asrock q1900-itx board, which is a based on bay fail Intel® Quad-Core Processor J1900 (a celeron class cpu), including intels very own 7th generation (Gen 7) graphics. On this board are 2x Kingston 8GB DDR3L S0DIMM so this machine has plenty of ram to run leonArdo.
Sadly, i'm not able to have this machine running exclusively only for leonArdo and that is where a part of my problems begin.
I actually "just" use it as a media watching/listening device which is a bit ... lets say sloppy at all because the onboard GPU eats up a lot of I/O bandwith because of some bugs preventing it from using powersaving safely at all and some other (bay fail related) problems, which is sad but, meh.
(see
https://bugzilla.kernel.org/show_bug.cgi?id=109051 for explanation).
On this machine is an actual and steadily updated Ubuntu Artful Aardvark (17.10) installation running with a lubuntu "lighter desktop" (using LXDE and such).
As long as i have _ONLY_ leonArdo running on this machine - using remote display on my primary workstation - everything is _very fine_ and running smoothly.
As soon as i have VLC or chromium with youtube running, things change drastically.
leonArdo _and the GPU usage_ eat up so much I/O, that i get a jump-around mouse cursor when using X11vnc and x2vnc to remotely control this machine from my workstation (which is anyways a very cool trick to use one keyboard and mouse for more than one machine).
Just recently, i had to find out that it is not (just) leonArdo (alone) which creates this behavior but really my usage of the GPU on that machine. As i said, as soon as i have VLC or Chromium whith youtube running, everything is no longer fine.
It actually goes up to the point that, when i re-start leonArdo for some reason, having 4 open exchanges with avg 10, 6, 6, 4 pairs (on bitfinex, binance, hitbtc and poloniex in exactly that order;)), it actually thinks it looses network connectivity for a brief moment _whilst still starting up and connect to the exchange APIs_.
But, as i said, that's _not_ leonArdos fault but the fault of the not so performant I/O on that machine at all.....
To get back to your raspberry recommendation. Imagine to scale _that_ setup down to a arm based machine which has a comparable but a bit less CPU performance on the CPU side ... and on top of that truly really _less I/O performance_ on the connection to storage and the outside world (remember, SDcard - ethernet via USB, maybe even additional storage on the same usb bus..).
So ... for a "power user" like me, this raspberry variant will never work at all with the amount of stuff (exchanges/pairs) i have running usually.
BUT!
Things might actually change in the near future regarding that case.
There are some upcoming new SBCs (based on Rockchips RK3399) which provide - on some planned boards - _native SATA_ via PCI express and native ethernet w/o having USB in between. Additionally they have up to 8 cores and (again up to) 4gig of ram. Which really make them a probably good choice for a dedicated leonArdo box. On some you can even find an M.2 SSD socket, which makes the whole thing even more performant than any sd-card or usb-storage solution ever can be. (And let's not forget, they will have mostly USB3, which will additionally boost performance a bit, even if you use USB3 based storage.)
In the end, it's all about free (I/O) resources and timings.
Having faster storage means that every transfer from or to the storage takes less time and so blocks your I/O for a less amount of time. Which goes nearly for all components of your SBC.
So ... to come back to the main point. Yes, if you only use one exchange and very few open pairs, a fresh, clean and otherwise unused linux on a raspberry, it _will help_ to have it better running. But as soon as you have more than one exchange open and overall more than, let's say and average of 6 to 8 pairs, this advantage will actually be eaten up completely and make things worse. Sadly. - at least, for now.
On top of that, you have to consider which Raspberry you use for this task. An older Raspi 1 will surely fail on you, even a Pi Zero W might not make you happy.
Starting on a Raspi 2 or 3, things get better but you will still be limited due to poor I/O on that machine.
As you can see above, even having a nice and cool running celeron quadcore will not make things so much better, but again, that's not leonArdos fault at all.
Let's not forget, we talk about a truly professional tool here which _needs_ some amount of resources to be able to work at all, and most of that is network traffic and low latencies for the inet uplink.. And sadly, there is no way to cheat physics to get more out of a small machine at all.....
Well .. HTH even for other users which think about buying/building a dedicated leonArdo machine.
So, now i'm going to install another ubuntu on an (otherwise) unused HP laptop to have _it_ running exclusively leonArdo whilst still scripting some weird debugging wrapper because i'm still not happy with what i actually have now (well, around 600 lines of bash but well documented and very verbose at all.
)
Greetings,
Hacky