Failed to set screen modeterminate called without an active&

Technical support for all issues relating to Defcon Linux

Moderator: Defcon moderators

badmofo666
level0
Posts: 3
Joined: Mon Nov 16, 2009 7:19 pm

Failed to set screen modeterminate called without an active&

Postby badmofo666 » Mon Nov 16, 2009 7:43 pm

Hello, I am thinking about buying Defcon, so I downloaded the demo to make sure it worked on my system, but it doesn't. When I try to run it I get this:

Code: Select all

$ ./defcon
Failed to set screen modeterminate called without an active exception
./defcon: line 46: 13077 Aborted                 $here/lib/defcon.bin.x86 "$@"


I'm using Fedora 11 (x86_64), fully updated, and using the AKMOD Nvidia RPM package from the RPM Fusion repository. Here are some of my system's specs:

Code: Select all

$ uname -r
2.6.30.9-96.fc11.x86_64

$ glxinfo | grep render
direct rendering: Yes
OpenGL renderer string: GeForce 8500 GT/PCI/SSE2
    GL_NV_conditional_render, GL_NV_copy_depth_to_color, GL_NV_copy_image,
    GL_NVX_conditional_render, GL_SGIS_generate_mipmap, GL_SGIS_texture_lod,


I know hardware acceleration is working on my system because Warsow runs fine. Anyone have any idea what's wrong or how to get Defcon working?
User avatar
bert_the_turtle
level5
level5
Posts: 4795
Joined: Fri Oct 13, 2006 6:11 pm
Location: Cologne
Contact:

Postby bert_the_turtle » Mon Nov 16, 2009 9:41 pm

Maybe you have an odd screen resolution that is unsupported by Defcon. Try making the directory ~/.defcon if it doesn't exist yet, edit the file ~/.defcon/preferences.txt and make it contain just this:

Code: Select all

ScreenWidth = 800
ScreenHeight = 600
ScreenWindowed = 1
ScreenColourDepth = 32
ScreenRefresh = 60
ScreenZDepth = 24

If the file already exists, just edit the first few lines. Adapt it to your desktop colour depth. You can also try to directly set ScreenWindowed to 0 and Width and Height to your desktop dimensions.
badmofo666
level0
Posts: 3
Joined: Mon Nov 16, 2009 7:19 pm

Postby badmofo666 » Tue Nov 17, 2009 3:13 am

bert_the_turtle wrote:Maybe you have an odd screen resolution that is unsupported by Defcon. Try making the directory ~/.defcon if it doesn't exist yet, edit the file ~/.defcon/preferences.txt and make it contain just this:

Code: Select all

ScreenWidth = 800
ScreenHeight = 600
ScreenWindowed = 1
ScreenColourDepth = 32
ScreenRefresh = 60
ScreenZDepth = 24

If the file already exists, just edit the first few lines. Adapt it to your desktop colour depth. You can also try to directly set ScreenWindowed to 0 and Width and Height to your desktop dimensions.


I did that, played around with the values a bit, and still got the same error. Which is strange, considering that it is windowed. What 32bit libraries does Defcon need? Could that be the problem?
User avatar
trickser
level5
level5
Posts: 1826
Joined: Thu Mar 06, 2008 2:15 pm
Location: The Senate ; GMT+1
Contact:

Postby trickser » Tue Nov 17, 2009 4:08 am

Think it depends (just) on SDL. On my gentoo box, its in the package list and i can install it linked against the system wide lib or with its own SDL lib.
Maybe you have that option too on Fedora.
If you just download it from the webside, it should come with its own lib. In this case deleting the sdl lib from the Defcon dir might make it using the system lib, but dont quote me on that.
User avatar
bert_the_turtle
level5
level5
Posts: 4795
Joined: Fri Oct 13, 2006 6:11 pm
Location: Cologne
Contact:

Postby bert_the_turtle » Tue Nov 17, 2009 10:24 am

I don't think missing/wrong libraries can be the problem; that would usually result in a dynamic linker failure and not even get to the screen initialization. Have you tried toying with ScreenColourDepth and ScreenZDepth? I think on Linux, it's best to match them to the desktop color depth.
badmofo666
level0
Posts: 3
Joined: Mon Nov 16, 2009 7:19 pm

Postby badmofo666 » Sat Nov 21, 2009 3:20 am

I give up. I tried every reasonable combination in preferences.txt. I've changed my system resolution, refresh rate, and color depth. I've removed the libraries that are shipped with defcon and ran defcon.bin.x86 directly. And I still get the same message. Perhaps Introversion will release the source code so it could be debugged? :)
User avatar
bert_the_turtle
level5
level5
Posts: 4795
Joined: Fri Oct 13, 2006 6:11 pm
Location: Cologne
Contact:

Postby bert_the_turtle » Sat Nov 21, 2009 11:45 am

It can already be partly debugged :) If you make it so that it links with a debug SDL you built yourself, you can set breakpoints in the relevant screen initialization routines to at least see what it's trying to do and why it fails. Maybe you're even able to correct the problem by hacking the relevant SDL code to do different things that do work. I have a custom SDL here that forces calls to glFinish every frame, for example, which Defcon doesn't do on its own, but should.

Return to “Linux Troubleshooting”

Who is online

Users browsing this forum: No registered users and 7 guests