14

I installed Dwarf Fortress on my Linux VPS to use with dfterm. It's running Ubuntu 10.04. 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 their a dependency I missed? Is there something else I should have changed in the config?

EDIT: This has been asked and answered on the Ubuntu StackExchange.

9

2 Answers 2

10

This question was answered on the Ubuntu Stack Exchange. I've coppied Bryce's answer below and marked this answer as CW. If you'd like to award him Rep please head over there and upvote his answer.

I was able to recreate the segfaulting by running df on a regular Ubuntu install with X turned off.

...
(Dwarf_Fortress:5346): Gdk-CRITICAL **: gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed
Segmentation fault

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:

$ Xvfb :1 -screen 0 1024x768x16 &

Then make sure your DISPLAY variable is pointed to it:

$ export DISPLAY=:1
$ ./df

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.

1
  • @Macha I didn't mean for you silly ;) , just anyone else finding this answer.
    – tzenes
    Dec 7, 2010 at 17:16
2

You need to change df_linux/data/init/init.txt and set [PRINT_MODE:TEXT] and [SOUND:NO] and you should be able to run in a terminal, and via SSH, etc. at a fixed size of 80x24.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .