Menu

#140 [Lazarus] TGLFreeForm doesn't run on Linux OR old ATI (win)

open-remind
nobody
None
6
2010-04-29
2010-04-20
Kjow
No

I have a project that uses TGLFreeForm, and on Windows there aren't problems with an ATI HD4870 (pc1) or a nvidia 7600go (pc2).
It doesn't work on Windows with an ATI x1200 xpress (pc3) (here, I can test executables only, I can't install Lazarus)
It doesn't work on the pc2 (with nvidia 7600go) with Linux Ubuntu x86 (Linux real, NOT virtualized).

On both pc2 (Linux) and pc3 (Windows) glscene's executables are working with all (GLHUDText, Cubes, etc...), but when I load (loadfromfile) an "obj" (complex meshes or simply a box) the executable crashes/freezes.

On pc2 (with Linux) this is the output:

Free Pascal Compiler version 2.4.0 [2010/04/20] for i386
Copyright (c) 1993-2009 by Florian Klaempfl
Note: Switching assembler to default source writing assembler
Target OS: Linux for i386
Compiling FFLnx.lpr
FFLnx.lpr(10,31) Hint: Unit "glscene_runtime" not used in FFLnx
Assembling fflnx
Compiling resource /home/kjow/Desktop/TestFreeForm/lib/i386-linux/FFLnx.or
Linking FFLnx
/usr/bin/ld: warning: link.res contains output sections; did you forget -T?
20 lines compiled, 2.7 sec
5 hint(s) issued
1 note(s) issued
[TCompiler.Compile] end
TMainIDE.DoInitProjectRun ProgramFilename=/home/kjow/Desktop/TestFreeForm/FFLnx
[TCmdLineDebugger] Debug PID: 1895
TGDBMIDebugger.ProcessResult Error: ,msg="No symbol table is loaded. Use the \"file\" command."
[Debugger] Running GDB version: GDB
[TDebugger.SetFileName] "/home/kjow/Desktop/TestFreeForm/FFLnx"
[TMainIDE.DoRunProject] B TGDBMIDebugger
[TMainIDE.DoRunProject] END
TGDBMIDebugger.StartDebugging WorkingDir="/home/kjow/Desktop/TestFreeForm/"
TGDBMIDebugger.ProcessResult Error: ,msg="No symbol \"FPC_THREADVAR_RELOCATE_PROC\" in current context."
[Debugger] Log output: &"info functions FPC_CPUINIT\n"
[Debugger] Log output: &"set width 50000\n"
[Debugger] Log output: &"info address main\n"
[Debugger] Log output: &"ptype TObject\n"
[Debugger] Log output: &"info address FPC_RAISEEXCEPTION\n"
[Debugger] Log output: &"info address FPC_BREAK_ERROR\n"
[Debugger] Log output: &"info address FPC_RUNERROR\n"
[Debugger] Log output: &"info file\n"
[Debugger] File type: elf32-i386
[Debugger] Entry point: 0x846dd10
[Debugger] Log output: &"Function \"foo\" not defined.\n"
[Debugger] Console output: ~"[Thread debugging using libthread_db enabled]\n"
[Debugger] Log output: &"info program\n"
[Debugger] Target PID: 1898
[DBGTGT] $081DFD8D TGTKWIDGETSET__GETSYSCOLOR, line 5869 of /home/kjow/lazarus/lcl/interfaces/gtk/gtkwinapi.inc
[DBGTGT] $080F736F GETSYSCOLOR, line 461 of ./include/winapi.inc
[DBGTGT] $080FB974 COLORTORGB, line 2325 of graphics.pp
[DBGTGT] $082F86C4 CONVERTWINCOLOR, line 405 of /home/kjow/lazarus/components/glscene/Source/Base/GLColor.pas
[DBGTGT] $082F87D6 INITGLSCENECOLORS, line 439 of /home/kjow/lazarus/components/glscene/Source/Base/GLColor.pas
[DBGTGT] $082FAC78 GLCOLOR_init, line 1081 of /home/kjow/lazarus/components/glscene/Source/Base/GLColor.pas
[DBGTGT] $08072514
[DBGTGT] $0846DD6D
[DBGTGT] ERROR: [TGtkWidgetSet.GetSysColor] Bad Value: 42. Valid Range between 0 and 31
[DBGTGT] $081DFD8D TGTKWIDGETSET__GETSYSCOLOR, line 5869 of /home/kjow/lazarus/lcl/interfaces/gtk/gtkwinapi.inc
[DBGTGT] $080F736F GETSYSCOLOR, line 461 of ./include/winapi.inc
[DBGTGT] $080FB974 COLORTORGB, line 2325 of graphics.pp
[DBGTGT] $082F86C4 CONVERTWINCOLOR, line 405 of /home/kjow/lazarus/components/glscene/Source/Base/GLColor.pas
[DBGTGT] $082F8992 INITGLSCENECOLORS, line 451 of /home/kjow/lazarus/components/glscene/Source/Base/GLColor.pas
[DBGTGT] $082FAC78 GLCOLOR_init, line 1081 of /home/kjow/lazarus/components/glscene/Source/Base/GLColor.pas
[DBGTGT] $08072514
[DBGTGT] $0846DD6D
[DBGTGT] ERROR: [TGtkWidgetSet.GetSysColor] Bad Value: 44. Valid Range between 0 and 31
[DBGTGT] [WARNING
[Debugger] Log output: &"kill\n"
[TDebugger.SetFileName] ""
[Debugger] Log output: &"info program\n"

Lazarus places the cursor on row number 5002 of GLVectorFileObjects.pas :

mrci.GLStates.ArrayBufferBinding := 0;

Discussion

<< < 1 2 (Page 2 of 2)
  • Kjow

    Kjow - 2010-05-06

    As I already wrote, I have one machine with ATI 4870 where I can't install a real, not virtualized, linux (due problems with raid) and then I have an other machine with nvidia 7600go where I have a linux installation. More than these pc I can test on a machine with ATI X1250 and Windows. :)

    However I always specified which Linux (real or virtualized) I refer :)
    (Like post: Date: 2010-05-05 10:33:29 CEST )

     
  • YarUnderoaker

    YarUnderoaker - 2010-06-08

    Requesting a test now :)
    On Ubutu 10.04 x64, GeForce 260GTX, Linux x86_64 Display Driver Version 256.25 Beta
    FreeForm is work.

     
  • Kjow

    Kjow - 2010-06-08

    unfortunatelly, my notebook with linux was killed by thunderbolt... I'm going to replace it as soon as possible.
    Meantime, maybe, I can get a desktop without raid to configure and try.

    Anyway, thank you for this big work :)

     
  • Kjow

    Kjow - 2010-06-08

    PS I will try on pc3 of first post.

     
  • Kjow

    Kjow - 2010-06-09

    It doesn't work on Windows 7 with an ATI x1200 xpress (pc3 of first post).

     
  • YarUnderoaker

    YarUnderoaker - 2010-06-09

    Please, activate in GLScene.inc
    {$DEFINE GLS_LOGGING}
    {$DEFINE GLS_OPENGL_DEBUG}
    and post log file.

     
  • Kjow

    Kjow - 2010-06-12

    I can confirm that on Linux (x86) it NOW works!

    I need to test on "pc3" with logs.

     
<< < 1 2 (Page 2 of 2)