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 1 of 2)
  • Kjow

    Kjow - 2010-04-20
    • priority: 5 --> 6
    • summary: [Lazarus] TGLFreeForm doesn't run on Linux and old ATI cards --> [Lazarus] TGLFreeForm doesn't run on Linux OR old ATI (win)
     
  • YarUnderoaker

    YarUnderoaker - 2010-04-20

    Thanks. I will try to remove this bug soon.

     
  • YarUnderoaker

    YarUnderoaker - 2010-04-20
    • status: open --> open-accepted
     
  • Kjow

    Kjow - 2010-04-27

    Is there any news about this bug? :)

     
  • YarUnderoaker

    YarUnderoaker - 2010-04-27

    I finished a state machine to working condition.
    But this has caused a change in all units.
    By the end of the week to make its, I think.
    A reasons causing this bug, I removed, but will need tests.
    So you have to wait a little.

     
  • Kjow

    Kjow - 2010-04-28

    Ok, Thank you!
    I was simply curious.

     
  • YarUnderoaker

    YarUnderoaker - 2010-04-29

    I finished the changes related with the machine states (Source & Demos). There remained a small bug with multitexturing, but I'll try to fix quickly.
    So request to test :)

     
  • YarUnderoaker

    YarUnderoaker - 2010-04-29
    • status: open-accepted --> open-remind
     
  • Kjow

    Kjow - 2010-04-29

    Great!
    So, if I update cvs now, can I test if this bug is fixed?

     
  • Kjow

    Kjow - 2010-04-29

    with both Linux (virtualized and real) I can't install latest glscene CVS:

    Free Pascal Compiler version 2.4.0 [2010/04/09] for i386
    Copyright (c) 1993-2009 by Florian Klaempfl
    Note: Switching assembler to default source writing assembler
    Target OS: Linux for i386
    Compiling glscene_runtime.pas
    ...
    ...
    ...
    /home/kjow/lazarus/components/glscene/Source/PropertyEditors/FRColorEditorLCL.pas(43,29) Hint: Parameter "Shift" not used
    /home/kjow/lazarus/components/glscene/Source/PropertyEditors/FRColorEditorLCL.pas(43,49) Hint: Parameter "X" not used
    /home/kjow/lazarus/components/glscene/Source/PropertyEditors/FRColorEditorLCL.pas(43,52) Hint: Parameter "Y" not used
    FRColorEditorLCL.pas(44,29) Hint: Parameter "Sender" not used
    FRColorEditorLCL.pas(45,31) Hint: Parameter "Sender" not used
    FRColorEditorLCL.pas(46,30) Hint: Parameter "Sender" not used
    FRColorEditorLCL.pas(47,31) Hint: Parameter "Sender" not used
    Assembling frcoloreditorlcl
    Compiling /home/kjow/lazarus/components/glscene/Source/PropertyEditors/FRFaceEditorLCL.pas
    FRFaceEditorLCL.pas(46,29) Hint: Parameter "Sender" not used
    /home/kjow/lazarus/components/glscene/Source/PropertyEditors/FRFaceEditorLCL.pas(132,23) Error: identifier idents no member "PolygonMode"
    /home/kjow/lazarus/components/glscene/Source/PropertyEditors/FRFaceEditorLCL.pas(148,44) Error: identifier idents no member "PolygonMode"
    /home/kjow/lazarus/components/glscene/Source/PropertyEditors/FRFaceEditorLCL.pas(149,23) Error: identifier idents no member "PolygonMode"
    /home/kjow/lazarus/components/glscene/Source/PropertyEditors/FRFaceEditorLCL.pas(149,40) Error: identifier idents no member "PolygonMode"
    /home/kjow/lazarus/components/glscene/Source/PropertyEditors/FRFaceEditorLCL.pas(168) Fatal: There were 4 errors compiling module, stopping

    the cursor point to row number 132 of FRFaceEditorLCL.pas

    FFaceProperties.PolygonMode:=TPolygonMode(CBPolygonMode.ItemIndex);

     
  • YarUnderoaker

    YarUnderoaker - 2010-04-29

    O_o, sorry. I forgot to make changes to Lazarus.

     
  • YarUnderoaker

    YarUnderoaker - 2010-04-29

    Ok, done. Kjow try to once again.

     
  • Kjow

    Kjow - 2010-04-29

    On Virtual Linux:

    Format error
    Unable to convert text from data of file
    "/home/kjow/lazarus/components/glscene/Source/PropertyEditors/FRFaceEditorLCL.lfm"
    into binary stream. (Wrong token type: Symbol expected but EOF found (at 71,21, stream offset 000005DF))

    So, GLScene_DesignTime 1.0 failed to compile and the cursor point to row 132 of FRFaceEditorLCL.pas

    On "real" Linux:
    it seems to install, but when I open a prject I have a white window without words. If I hit "enter key" and however I try to compile, it crash and the cursor point to row 2811 of GLScene unit.

     
  • Kjow

    Kjow - 2010-04-29

    On "real Linux" If a made a simply rolling cube it works!
    But I can open only few projects... most of these crash at load in lazarus.

    It seems that all prjects that don't crash at load can compile and run.

     
  • Kjow

    Kjow - 2010-05-05

    It seems that on "real" linux, now it works, but:

    1) TGLWindowsBitmapFonts doesn't works (on "real" Linux)

    2) RayCastIntersect slow down a lot with a little bit more complex objects and however when in the scene there are many triangles (this appens principally on Linux [nvidia] and ATI [Windows])

    3) On Windows, the binary that works well on ATI HD4870, with an ATI X1250 xpress works well until I load (FromFile) a TGLFreeFrom, then the app freezes and then again it crashes. The same binary on Windows with a nvidia 7600go seems to work well (there are some little "slow downs" with RayCastIntersect + TGLFreeFrom, so with enough triangles in the scene).

     
  • Kjow

    Kjow - 2010-05-05

    I'm sorry I made a mistake about point "2)":

    it is slow only on linux - nvidia: on windows with ATI hd4870 is very fast. I was in fault (I'm using Ati Tray Tools to underclock my ATI and I forgot to re-enable 3D mode (750/900) instead 2D mode (160/300).

    So RayCastIntersect is OK on Windows (ATI or nVidia), but slow on Linux (nVidia).
    As soon as possible I'll try it on Linux-ATI

    This NOTE is only about point "2)"

     
  • YarUnderoaker

    YarUnderoaker - 2010-05-05

    Sorry, I don't have ATI X1250 (lower then HD 2600 series), only HD 5450 so can't find the cause of error.
    Everything else will try to fix.

     
  • PREDATOR

    PREDATOR - 2010-05-05

    1) Check
    2) GLScene is not stable in Lazarus, about Linux I am silent. According to this if you want to help you to participate not only in the test and programming:)

    1)Проверю
    2)глсцена еще не стабильна в лазарусе, про линух я молчу. По этому если есть желание помогать можешь поучаствовать не только в тесте но и программировании :)

     
  • Kjow

    Kjow - 2010-05-05

    1) It doesn't seem to work. However, if I start Lazarus from termial I get some errors from GLColor.pas (I don't know if the problem is here...)

    2) Unfortunately my experience is not enough to know where e what to do in the source code of GLScene or Lazarus... I'm a simply "final developer" :(

    @yarunderoaker: Is there any test that I can do on the machine with X1250? (But I can't install Lazarus/GLScene on there)

     
  • YarUnderoaker

    YarUnderoaker - 2010-05-05

    Only install gDebugger and check where error occurs.

     
  • Kjow

    Kjow - 2010-05-05

    But... it costs:
    1-2 licenses --- US $790 US $2,450

    O_O

    I can't afford this price for now... :(

     
  • Nobody/Anonymous

    1) Do not pay any attention to it

     
  • Nobody/Anonymous

    I changed InfoLCL(double click on the GLSceenViewer)
    There are now more detailed information and slightly changed interface can welcome Linux with high resolution screen, where can you find out which version GLX (information taken from the server GLX)

    Я изменил InfoLCL (два раза кликни по GLSceenViewer)
    там теперь более детальная информация и немного изменен интерфейс расчитанный на линукс с большым разрешением экрана, Там же ты можешь узнать версию GLX (информация взята с GLX Сервер)

    Predator2010.

     
  • Kjow

    Kjow - 2010-05-05

    @Predator2010:

    On the nvidia 7600go pc, I'm running Ubuntu 10.04 x86:

    Version Info: GLX 1.4, OpenGL 2.1.2 NVIDIA 195.36.15

     
  • PREDATOR

    PREDATOR - 2010-05-06

    This is a virtual machine or you miraculously found himself ubuntu?
    I checked GLWindowsBitmapFonts, yes indeed, there are problems earlier module worked!

    Это на виртуальной машине или ты чудом установил себе убунту?
    Я проверил GLWindowsBitmapFonts , да действительно есть проблемы, раньше модуль работал!

     
1 2 > >> (Page 1 of 2)