FAQ — Frequently Asked Questions
A list of a few common questions and problems.
Why Ocelot Desktop?
Indeed, there is a plenty of other emulators. The tables below demonstrate how Ocelot Desktop fares against them. (If you spot a mistake here, please tell us!)
Feature | Ocelot | OCEmu | OCVM |
---|---|---|---|
Customizable setups | ✔ | Partial | ❌ |
GUI | ✔ | ✔ | ❌ |
Workspaces | ✔ | ❌ | ❌ |
Persistence | ✔ | Filesystem only | Filesystem only |
Constrained memory | ✔ | ✔ | ❌ |
Original OC timings (CPU, GPU) | ✔ | ❌ | ❌ |
Changeable emulation speed | ✔ | ❌ | ❌ |
Configurable CPU architectures | ✔ | ✔ | ✔ |
Networking | ✔ | ✔ | ✔ |
Non-graphical configuration (for automation) | ❌ | ✔ | ✔ |
Custom machine.lua | ❌ | ✔ | ✔ |
Emulator Lua API | ❌ | ✔ | ✔ |
GPU buffers (OC 1.7.6) | ✔ | ✔ | ❌ |
Custom OpenComputers config | ✔ | ❌ | ❌ |
Component support:
Component | Ocelot | OCEmu | OCVM |
---|---|---|---|
GPU (All 3 tiers)
|
✔ | T3 only | T3 only |
CPU (All 3 tiers)
|
✔ | Partial | Partial |
APU
|
✔ | ❌ | ❌ |
Network card
|
✔ | ✔ | ✔ |
Wireless network card
|
✔ | ✔ | ✔ |
Linked card
|
✔ | ❌ | ❌ |
Redstone (All tiers)
|
✔ | ❌ | ❌ |
Data cards (All 3 tiers)
|
✔ | ❌ | T1 Only |
Hard disks
|
✔ | ✔ | ✔ |
Internet card
|
✔ | ✔ | ✔ |
Floppy disks
|
✔ | ✔ | ✔ |
Relay
|
✔ | ❌ | ❌ |
Holographic projector (All tiers)
|
✔ | ❌ | ❌ |
RAID
|
✔ | ❌ | ❌ |
Microcontroller
|
T2 Only | ❌ | ❌ |
Rack & Servers
|
✔ | ❌ | ❌ |
Vanilla Minecraft, external mods:
(Components that are available through Adapter block, robot upgrades or provided by external mods/addons)
Component | Ocelot | OCEmu | OCVM |
---|---|---|---|
Note Block (Vanilla)
|
✔ | ❌ | ❌ |
Iron Note Block (Computronics)
|
✔ | ❌ | ❌ |
Sound card (Computronics)
|
✔ | ✔ | ❌ |
Camera (Computronics)
|
✔ | ❌ | ❌ |
Colorful lamp (Computronics)
|
✔ | ❌ | ❌ |
Self-Destructing card (Computronics)
|
✔ | ❌ | ❌ |
Radio (OpenFM)
|
✔ | ❌ | ❌ |
Tape drive & tapes (Computronics)
|
✔ | ❌ | ❌ |
I found a bug! How I can report it?
Please create an issue on our issue
tracker.
Or just tell us on IRC: #cc.ru at irc.esper.net.
Or leave a message in our Discord (for example in the #main text channel, or "Ocelot Dev" forum).
Ocelot is taking a lot of memory. Is it leaking?
You can try to limit the memory usage with this command line option:
java -Xmx1G -jar ocelot.jar
Set the memory amount to any appropriate in your case (here it is set to 1 gigabyte of RAM).
The reasonable lower threshold could be -Xmx256M
.
The reason why Ocelot Desktop may be taking more memory than it needs lies in how JVM approaches garbage collection.
Every GC call lowers overall application performance, so JVM constantly balances between calling the GC or taking a bit more RAM when it is available and free.
What are the emulator's hotkeys?
The help bar at the bottom shows actions you can perform on the hovered element.
In addition, there are a few "hidden" hotkeys:
F1 Toggle a UI layout debug view
F2 Toggle a FPS counter
F3 Reload the workspace
F4 Show a profiler window
F5 Quick save
F9 Quick load
F11 Toggle fullscreen mode (can also be toggled from Settings dialog)
How do I resize a screen window?
Just drag the bottom-right corner of the window. It will be scaled in discrete steps: 1:1 (100%); 1:2 (50%); 1:4 (25%)... To enlarge the window beyond 1:1, press Shift while dragging.
Can I change TPS / emulation speed?
Yes, you can. Use the right mouse button on the TPS counter in the bottom right corner of the screen.
You will be presented with an option to change either the duration of one tick (Milliseconds per tick)
or the number of ticks per seconds (TPS).
(These numbers are synced, if you will edit one of them another will recalculate automatically.)
NOTE: stability and reliability are not guaranteed on high emulation speeds.
Is it possible to apply custom OpenComputers configuration?
Yes. You can point Ocelot to the opencomputers.cfg
file location.
(Usually it is in Minecraft config
folder.).
The corresponding setting can be found in the Settings > System tab (you will need Ocelot Desktop 1.10+).
Alternatively, you can take your opencomputers.cfg
and copy it to the Ocelot folder (where ocelot.jar
is located).
Then rename it to brain.conf
.
In both cases restart Ocelot if it was running.
Ocelot should read the configuration and apply all parameters that are applicable in the emulator.
I get a weird error saying something about an inconsistency detected by ld.so
$ java -jar ocelot.jar
12:52:23.759 [main] INFO ocelot.desktop.util.Ticker - Setting tick interval to 50000.0 us (20.0 s^-1)
12:52:23.798 [main] INFO ocelot.desktop.OcelotDesktop$ - Starting up Ocelot Desktop
12:52:23.800 [main] INFO totoro.ocelot.brain.Ocelot$ - Brain initialization...
12:52:23.800 [main] INFO totoro.ocelot.brain.Ocelot$ - Version: 0.6.8
12:52:23.800 [main] INFO totoro.ocelot.brain.Ocelot$ - Loading configuration...
...
12:52:24.196 [main] INFO totoro.ocelot.brain.Ocelot$ - Initialization finished.
12:52:24.209 [main] INFO ocelot.desktop.Settings$ - Loaded Ocelot Desktop configuration from:
/home/user/.config/ocelot/ocelot.conf
12:52:24.210 [main] INFO ocelot.desktop.ColorScheme$ - Loading color scheme
12:52:24.224 [main] INFO ocelot.desktop.ColorScheme$ - Loaded 66 colors
12:52:24.280 [main] INFO ocelot.desktop.util.Ticker - Setting tick interval to 50000.0 us (20.0 s^-1)
12:52:24.281 [main] INFO ocelot.desktop.util.Ticker - Setting tick interval to 16.666666 us (60000.004 s^-1)
Inconsistency detected by ld.so: dl-lookup.c: 106: check_match: Assertion `version->filename == NULL || !
_dl_name_match_p (version->filename, map)' failed!
That's a known problem with our dependency, LWJGL2, on Java 9 and newer. As a workaround, try to launch Ocelot Desktop on Java 8.
I get java.lang.ExceptionInInitializerError while launching Ocelot on Linux
$ java -jar ocelot.jar
11:07:55.744 [main] DEBUG ocelot.desktop.ui.UiHandler$ - Unpacking native libraries to: /tmp/ocelot-desktop3012137764779182488
Exception in thread "main" java.lang.ExceptionInInitializerError
at ocelot.desktop.ui.UiHandler$.isFullScreen_$eq(UiHandler.scala:95)
at ocelot.desktop.ui.UiHandler$.init(UiHandler.scala:140)
at ocelot.desktop.OcelotDesktop$.mainInner(OcelotDesktop.scala:72)
at ocelot.desktop.OcelotDesktop$.main(OcelotDesktop.scala:139)
at ocelot.desktop.OcelotDesktop.main(OcelotDesktop.scala)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
at org.lwjgl.opengl.LinuxDisplay.getAvailableDisplayModes(LinuxDisplay.java:951)
at org.lwjgl.opengl.LinuxDisplay.init(LinuxDisplay.java:738)
at org.lwjgl.opengl.Display.<clinit>(Display.java:138)
... 5 more
LWJGL2 relies on xrandr
to detect screen modes, therefore requires installation of
xrandr
.
What are Ocelot Desktop's system requirements?
Ocelot Desktop requires Java 8 or higher.
It should work on Windows XP (in theory) and higher, majority of Linux distributions, and reasonably recent macOS versions, except ARM based (M-series CPUs like M1, M2 are not yet supported).
Ocelot Desktop uses OpenGL 3.0+ for rendering.