I installed Dwarf Fortress on my Linux VPS to use with dfterm. It's running Ubuntu 10.04 Server x86-32. I'm fairly certain I have all the dependencies:
I've installed:
- ncurses
- ncursesw
- libsdl
- libsdl-image
- libgtk
- libglu
- libopenal1
I had to turn sound off or it will instantly segfault, and I set the display mode to text. I've made no other changes to the config.
However, even before I go near dfterm, it won't run properly. It just displays a blank screen. What could be causing this? Is there a dependency I missed? Is there something else I should have changed in the config?
Given that it is a server, there is a good chance that if there is a missing dependency, it's something that the devs went "Sure, everyone has that" and didn't bother to list.
Other ncurses applications (vim, irssi use it, I think?) work fine.
I was able to recreate the segfaulting by running df on a regular Ubuntu install with X turned off.
I suspect the problem is that this game expects to have a functioning GL driver available. And for that you need X running. But a VPS doesn't have X!
Instead, use Xvfb, which is a "fake" virtual X. You'll need to install xvfb and whatever dependencies it wants (probably xorg-server-core and a bunch of other stuff that may not be installed on Ubuntu Server).
Start the fake xserver up like this:
Then make sure your DISPLAY variable is pointed to it:
I also needed to disable sound and run in TEXT mode, but it worked this way, with no X running. I hope it works for you.
You could try to use
ldd
to see if there is a shared object missing.For example, something like:
Everything that ldd lists as "not found" is missing.
You should also try to look at all the *.so files (with ldd) if any in the game folder. You can find the *.so files by using this command:
find . -iname '*.so' -type f
Have you seen this DFTerm article on the DF Wiki? It lists some dependencies that you don't seem to have listed above....
You need to edit your init.txt. Look for a setting for
[PRINT_MODE:2D]
and change it to[PRINT_MODE:TEXT]
You probably want to change to
[SOUND:NO]
as well.You'll only run at 80x24 unless you run inside of screen or tmux though.