Digesteroids

Miscellaneous Forums/Linux Discussion/Digesteroids

Anyone know what's going on here?
When I run digesteroids.bmx no window appears but the menu sound plays.

Building digesteroids
Compiling:simplephysics.bmx
flat assembler  version 1.67.28  (32768 kilobytes memory)
3 passes, 24922 bytes.
Compiling:minitimer.bmx
flat assembler  version 1.67.28  (32768 kilobytes memory)
3 passes, 3561 bytes.
Compiling:dynamicgame.bmx
flat assembler  version 1.67.28  (32768 kilobytes memory)
3 passes, 5056 bytes.
Compiling:MathUtil.bmx
flat assembler  version 1.67.28  (32768 kilobytes memory)
3 passes, 3907 bytes.
Compiling:digesteroids.bmx
flat assembler  version 1.67.28  (32768 kilobytes memory)
3 passes, 61036 bytes.
Linking:digesteroids
Executing:digesteroids
/usr/bin/ld: warning: libstdc++.so.6, needed by /usr/lib/libGLU.so, may conflict with libstdc++.so.5
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  134 (XFree86-VidModeExtension)
  Minor opcode of failed request:  10 (XF86VidModeSwitchToMode)
  Value in failed request:  0x5c
  Serial number of failed request:  40
  Current serial number in output stream:  43
Locking assertion failure.  Backtrace:
#0 /usr/lib/libxcb-xlib.so.0 [0xb7b58767]
#1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_lock+0x2e) [0xb7b5881e]
#2 /usr/lib/libX11.so.6 [0xb7ece518]
#3 /usr/lib/libGL.so.1 [0xb7e47f9a]
#4 /usr/lib/libGL.so.1(glXMakeCurrentReadSGI+0x130) [0xb7e48420]
#5 /usr/lib/libGL.so.1(glXMakeCurrent+0x23) [0xb7e486e3]
#6 /home/mark/BlitzMax/samples/digesteroids/digesteroids [0x80c1929]
#7 /home/mark/BlitzMax/samples/digesteroids/digesteroids [0x80c19e6]
#8 /lib/tls/i686/cmov/libc.so.6(exit+0xd4) [0xb7b8c084]
#9 /usr/lib/libX11.so.6 [0xb7ec763e]
#10 /usr/lib/libX11.so.6(_XError+0xfe) [0xb7ec773e]
#11 /usr/lib/libX11.so.6 [0xb7ecee5c]
#12 /usr/lib/libX11.so.6(_XReply+0x15a) [0xb7ecf21a]
#13 /usr/lib/libGL.so.1(XF86DRICreateContextWithConfig+0xb1) [0xb7e67a31]
#14 /usr/lib/dri/radeon_dri.so [0xb77fff0a]
#15 /usr/lib/libGL.so.1 [0xb7e44cdc]
#16 /usr/lib/libGL.so.1(glXCreateContext+0x38) [0xb7e45128]
#17 /home/mark/BlitzMax/samples/digesteroids/digesteroids [0x80c175b]
#18 /home/mark/BlitzMax/samples/digesteroids/digesteroids [0x80dfc0f]
#19 /home/mark/BlitzMax/samples/digesteroids/digesteroids [0x80cf882]

Process terminated


I'm guessing the game tried to get a lock on the screen, and didn't.

Does it run in windowed mode?

Is your Linux running one of those new GL-based window managers?

Could be issues with your gfx card driver, a bad X configuration, and many more...

Hey Mark

Sounds like we have opposite troubles, hehe. I can run digesteroids fine, but still no sound :)

I go with Brucey on this one. Came across something like this last year. Silly me forgot to write down the how I solved it, but I remember it happened when the application went into full screen mode and had something to do with the screen number in the device/serverlayout sections. So I would start by looking at your xorg.conf in /etc/X11 and do a bit of googling.
With xorg 7.x your hardware is re-detected every time you boot/re-boot the machine. It sometimes gets it wrong so you have to modify the xorg.conf file (this gets re-written if the x server is updated I do believe)

Well, digesteroids.bmx works fine in my new Mandriva partition, so since I remember I installed Envy on manual (bad idea) because it didn't recognize my videocard and then had to restore my X system settings that must be the problem, will have a look in xorg.conf. Thanks for the help.

This is what's in my xorg.conf file.

# xorg.conf (X.Org X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
#   sudo dpkg-reconfigure -phigh xserver-xorg

Section "InputDevice"
	Identifier	"Generic Keyboard"
	Driver		"kbd"
	Option		"XkbRules"	"xorg"
	Option		"XkbModel"	"pc105"
	Option		"XkbLayout"	"gb"
EndSection

Section "InputDevice"
	Identifier	"Configured Mouse"
	Driver		"mouse"
	Option		"CorePointer"
EndSection

Section "Device"
	Identifier	"Configured Video Device"
EndSection

Section "Monitor"
	Identifier	"Configured Monitor"
EndSection

Section "Screen"
	Identifier	"Default Screen"
	Monitor		"Configured Monitor"
	Device		"Configured Video Device"
EndSection

Section "ServerLayout"
	Identifier	"Default Layout"
	Screen		"Default Screen"
EndSection


What Graphics card is installed?
See if you have accelerated drivers enabled.
In a command terminal type
glxinfo | grep render


I don't think I have accelerated drivers. Maybe I'll just reinstall ubuntu, or something else.
direct rendering: Yes
OpenGL renderer string: Mesa DRI Radeon 20061018 AGP 4x x86/MMX+/3DNow!+/SSE NO-TCL


For Ubuntu:In the menu at the top Click System->Administration->Hardware and see if it says your hardware is detected and that Hardware Acceleration is Enabled.
Looks like acceleration is enabled "direct rendering: Yes" but its using the open source Mesa DRI driver which could mean that you card is an old one (7000 series?).
Do a bit of googleing on the latest fglrx driver and see if you graphics card is supported.

If it is, enabling it in the Hardware menu should change your xorg.conf to over ride the default driver and use the restricted driver (ATI/AMD's).

This bit in xorg.conf should change
Section "Device"
	Identifier	"Configured Video Device"
EndSection

to
Section "Device"
	Identifier	"Configured Video Device"
       Driver          "fglrx"
EndSection


and a new section called Module (You could try and add this to your current xorg.conf file and see what happens)
Section "Module"
	Load       "glx"
EndSection


If your card is an old one not supported by fglrx then you may have to digg around in the ubuntu forums for a solution or upgrade your graphics card.

In System>Administration>Hardware Drivers it just says "No proprietary drivers are in use on this system". It always said that. My card is Radeon VE/7000/rv100 and is supported by DRI (see here) and I have the relevant package xserver-xorg-video-ati installed.

Ati can get stupidly picky between 24 and 32 bit modes, i added a fix to gridwars that I think ended up testing for both.

Although looking at your config, your xorg server doesn't actually support ANY display settings for it's screen, and then there is your monitor:

http://www.gamedev.net/community/forums/topic.asp?topic_id=441765

Well I edited my xorg.conf to this. Which didn't make any difference.
# xorg.conf (X.Org X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
#   sudo dpkg-reconfigure -phigh xserver-xorg

Section "InputDevice"
	Identifier	"Generic Keyboard"
	Driver		"kbd"
	Option		"XkbRules"	"xorg"
	Option		"XkbModel"	"pc105"
	Option		"XkbLayout"	"gb"
EndSection

Section "InputDevice"
	Identifier	"Configured Mouse"
	Driver		"mouse"
	Option		"CorePointer"
EndSection

Section "Device"
        Identifier      "Radeon 7000"
        Driver          "ati"
        BusID           "PCI:1:0:0"
        Option          "XAANoOffscreenPixmaps" "1"
EndSection

Section "Monitor"
        Identifier      "Generic Monitor"
        Option          "DPMS"
        DisplaySize     269 202
        HorizSync       30-71
        VertRefresh     50-160

    # TV fullscreen mode or DVD fullscreen output.
    # 768x576 @ 79 Hz, 50 kHz hsync
    ModeLine "768x576"     50.00  768  832  846 1000   576  590  595  630
    
    # 768x576 @ 100 Hz, 61.6 kHz hsync
    ModeLine "768x576"     63.07  768  800  960 1024   576  578  590  616
EndSection

Section "Screen"
	Identifier	"Default Screen"
        Device          "Radeon 7000"
        Monitor         "Generic Monitor"
        DefaultDepth    16

    Subsection "Display"
        Depth 8
        Modes "1280x1024" "1024x768" "800x600" "640x480" "320x240"
    EndSubsection
    Subsection "Display"
        Depth 15
        Modes "1280x1024" "1024x768" "800x600" "640x480" "320x240"
    EndSubsection
    Subsection "Display"
        Depth 16
        Modes "1280x1024" "1024x768" "800x600" "640x480" "320x240"
    EndSubsection
    Subsection "Display"
        Depth 24
        Modes "1280x1024" "1024x768" "800x600" "640x480" "320x240"
    EndSubsection
    Subsection "Display"
        Depth 32
        Modes "1280x1024" "1024x768" "800x600" "640x480" "320x240"
    EndSubsection
EndSection

Section "ServerLayout"
        Option          "AIGLX"         "false"
        Identifier      "Default Layout"
        Screen          "Default Screen"
        InputDevice     "Generic Keyboard"
        InputDevice     "Configured Mouse"
EndSection

Section "DRI"
        Mode 0666
EndSection

Section "Extensions"
        Option "Composite" "Enable"
EndSection

I've just noticed I'm having similar problems in Mandriva which is just installed. I can't run anything bigger than my current screen res. Also, I seem to get the same X Error message when I switch screen res and then run something in fullscreen, like firepaint.bmx which is 640x480.

you're being a little minimal there markcw, why did you edit the .conf manually when it explicitly tells you not to, did you do it as sudo then restart x? what exactly is your problem with ubuntu? what monitor do you actually have plugged into your linux machine? why would you run the desktop at anything but it's highest res?

what happens when you do this?

sudo dpkg-reconfigure -phigh xserver-xorg

Ok, I'm pretty sure that xorg.conf was different before I installed Envy on manual (which I was warned about), then I had to boot into recovery and restore X system settings as I was stuck in 640x480-only after I uninstalled Envy. This resulted in the default stuff in xorg.conf. I actually just tried "sudo dpkg-reconfigure -phigh xserver-xorg" and it just went back to the default stuff. I used this guide to edit xorg.conf plus some things in my Mandriva xorg.conf and also ran xdpyinfo from this guide to add DisplaySize. None of which made any difference. I'm not using the xorg-driver-fglrx package as my ATI card isn't supported there, so I'm using xserver-xorg-video-ati. Where does it say not to edit xorg.conf? I used "sudo gedit /etc/X11/xorg.conf" and then rebooted. My monitor is Samsung SyncMaster 753s which has support up to 1280x1024 and 32-bit but it's 17" so I prefer 800x600 mode.

as a rule I kind of agree that games shouldn't be able to up-res the display although it would be nice if biltzmax wasn't forcing glx to do what it doesn't want to do. maybe it isn't,

what output do you get when you run the graphicsmodes example?

IMHO the only thing less advisable for blitzmax linux use than not embracing ubuntu is not using nvidia

in free-speak: if you have money for 6 beers you probably have enough for an nvidia upgrade

I should have tried graphicsmodes.bmx. Strange that I only get 24-bit. In 1024x768 I get.
Available graphics modes:
1024,768,24,85
1280,1024,24,60
1024,768,24,85
800,600,24,85
640,480,24,85
640,480,24,75
640,480,24,60
640,480,24,59
720,400,24,70

Edit: In 800x600 res after a reboot I get.
800,600,24,85
640,480,24,85
640,480,24,75
640,480,24,60
640,480,24,59
720,400,24,70
1024,768,24,85
1280,1024,24,60
1024,768,24,85


Does it work okay if you use one of those?

No, I still get the same X Error message if I run anything above my current screen res.

Edit: I get the same error if I run setgraphicsdriver.bmx in fullscreen mode but windowed mode always works ie. if depth=0 but that's because it's clipped to the current screen res. I suppose I'll get a nvidia card then.