This information was current when LinuxCNC was called EMC2 and when Ubuntu 8.04 was new.
ie some time around 2008. It should be viewed as currently unreliable
Hardware Requirements (for current versions of EMC2)
The performance requirements for running EMC are relatively modest, by todays standards.
Hardware that has been tested and recorded
Here are the recorded latency numbers of some good, bad, and ugly systems-Please add yours. Remember hardware component detail as well as what needed to be changed is very important.
[Latency-Test]
Ubuntu base system requirements
If you wish to install the precompiled version of EMC2 for Ubuntu 8.04 or 6.06, refer to Ubuntu's base system requirements:
[System requirements for Ubuntu 8.04] [System requirements for Ubuntu 6.06]
Architecture
Currently an x86 PC is required.
Memory
To allow for both EMC and its host Ubuntu Linux installation to coexist comfortably, you should have at least 256MB of RAM, though 512MB is preferable. [The remainder of this paragraph is current as of late-May 2008] All RTAI versions prior to the not-yet-released vulcano CVS version misbehave in physical memory configurations larger than 1GB. Consequently, the kernel on the Ubuntu 6.06-based Live-CD available through www.linuxcnc.org was configured intentionally to recognize only the first 1GB of RAM (of which 896MB is available). This large-memory problem should go away Real Soon Now when a new version of RTAI is released and integrated into the EMC distribution. The kernel on the Ubuntu 8.04-based Live-CD has been configured to recognize more than 1GB of RAM in anticipation of this new version of RTAI which then wasn't released in time, so proceed with caution.
128MB of RAM is not enough to run the suggested Ubuntu distribution. However, a user in Brazil recently (2008) reported installing emc2 on a computer with 32MB of RAM by using a stripped down Debian distribution. The older frontends such as mini or keystick require much less memory and processing power than the Axis frontend.
256MB is adequate for the Ubuntu 6.06-based Live-CD to boot and run in Live mode. According to the notes for the new Ubuntu 8.04-based Live-CD, at least 384MB RAM is needed to boot in Live mode if no swap partition is accessible. If a swap partition is accessible, less physical memory is needed (case in point, the new Live-CD booted and ran fine on a machine with 256MB of RAM and an existing 400MB swap partition).
Processor
The processor should be at least a later Pentium II or III, 400MHz or higher. Slower computers will work, but performance will suffer with stepper motors or high speed servos. Current AMD processors like Athlon and Sempron work. Faster or newer processors will not necessarily work better, and may in fact perform worse. It is possible to install the 32 bit Ubuntu on an Athlon64 and EMC2 will run properly. It will not run using the 64 bit version of Ubuntu.
Hard Drive
Diskspace requirements are low: 4GB is plenty---over 1.2GB is still free after installing dapper, emc2, and the software needed to rebuild emc2. The (currently unsupported) "puppy emc2" will install in a small (128MB or less?) hard drive; it will even run totally in ram, but you still need somewhere to put your configuration files. (TylerColbert
?: My attempts to install from the livecd on to a 4GB compact flash ran out of space, 800MB used for swap, so it was about 3.2GB available)
Problematic Hardware
Laptops
Laptops have a terrible reputation for realtime performance. One list member reported having a PII laptop that would cause a realtime "hiccup" (which would stall the steppers) every time the processor's fan would turn on or off. There was no fix except using a different machine. Fortunately EMC2 will now let you know when it detects a problem like this.
Video
Many onboard video chips cause bad realtime performance. The ones that use some of the system RAM for video ("shared memory") are the worst. If you have realtime problems with a system using onboard video, the first thing to do is disable it and plug in a video card. The closed-source NVidia driver is known to break realtime, so if you have an NVidia card you should try the "nv" or "vesa" drivers.
By installing the package 'libgl1-mesa-swx11' you can get software OpenGL? rendering even if your video card has buggy direct rendering. For more information, [see this mailing list post].
Power Management
For running a realtime OS, you should disable all power management options in the system BIOS.
Computer issues
The Real Time Kernel that ships with Ubuntu, called "Magma", is compiled without ACPI support (ACPI includes power management functionality). This creates minor problems on newish machines and motherboards which rely on ACPI to configure peripherals (integrated sound, wi-fi, etc.) (See also the comments above about large memory problems.)
- P4R800-V Deluxe motherboard which includes onboard AC'97 audio
- Lenovo 3000 series laptop
- Either the audio chip needs to be diabled from the BIOS, or the sound driver must not be loaded at bootup - otherwise Ubuntu 6.06 with the Magma kernel will not boot. There are at least three workarounds:
- Disable integrated sound from the BIOS (this has the unwanted effect of diabling sound for all other OSs also)
- Disable the sound driver from loading with a 'nosound' file in /etc/modprobe.d
- nosound should be a text file containing the single line 'install snd /bin/true'
- Disable the sound driver by passing an argument to the kernel at bootup:
- When booting, press "e" (for edit) while the 'Magma" line is selected. The screen will change.
- Use the down arrow to select the second line, and press "e" again.
- The cursor should be at the end of the line. Hit space, and type in nosound then press enter.
- Press "b" to boot.
Real Time Performance Database
Results from a survey of realtime latency tests are available at
[1] - we are interested in the "tUP max latency" column; the smaller the number, the better. There are only 350 entries in the database so far, and many are lacking in details as far as exactly what model of motherboard, processor, bios version etc, were used. Please submit an entry to the survey by downloading and running the cd image on issaris.org !
Optiplex2 and pentium 3 are high on the list.. Probably more interesting than what models give the best performance is what models give the worst performance; the difference between a system that works well and something that works OK is miniscule compared to the latency of a system that has an actual problem.
The best way to benchmark RT performance is to
[run the RT latency test provided with the RT kernel.]
While it is running, try to stress the system - move windows around, do a ping flood, copy some huge files around, play quake, and compile a kernel, all at the same time. A compilation of results from this test has been started at
[2].
Which motherboard/cpu combinations are recommended for EMC2?
Which motherboard/cpu combinations are _not_ recommended for EMC2?
Some recent conversations on the mailing list revealed some motherboards
Just for future reference here is what I found out
about the part numbers:
J7F2WEIG-OC-LF
OC organic capacitor
LF time stamp
I asked an engineer at Jetway
how long they would be making this board and he indicated about 5 more years. They
do have a version without the tv interface but they seem to be really scarce.
The parport is a 26 pin header behind the plugs so I was able to modify the NEMA box
with a small cutout for mouse, kbd, and display connectors without fighting the
parallel port cable. Went to a local used computer store and found a few dozen cables
with the right ends.
J7F2WEIG 1GHz VIA C7 processor
J7F2WEIG5 1.5GHz VIA C7 processor 12 watts
J7F2WEIG5D 1.5GHz VIA C7 processor 25 watts
J7F2WEIG2E 1.2GHz VIA C7 processor fan less
I used something like this. I believe there are 90 watt ones out there as well. Without much moving in the box there is no need for a great deal of power.
http://www.idotpc.com/thestore/pc/viewPrd.asp?idcategory=10&idproduct=262
JetWay? Model JAD12VB 80W DC-DC 12V power supply
http://www.newegg.com/Product/Product.aspx?Item=N82E16813998007
http://www.newegg.com/Product/Product.aspx?Item=N82E16813153092