Hi, it's me again, I'm now using Linux Ubuntu 5.10. My goal is to have my SDL-based engine at nearly the speed as in Windows (well, 30 FPS are the minimum; the basic examples of my engine ran at over 120 FPS on my machine).
My computer:
- 1000 MHz
- 128 MB RAM
- NVidia GeForce 2 GTS (32 MB)

I've installed the nvidia-glx-legacy driver from the Ubuntu repository and it seems to work: I get a NVidia-logo at startup and the glxgears application is working at over 1200 FPS. This Frozen-Bubble game (from KDE) is also running at high speed.

But the compiled examples from my engine only show 8 to 13 FPS. I compiled it with Kylix 3 Open Edition and emulated a few examples with WINE 0.9.12. Both resulted in these low FPS.

Logger says:
*** ERROR *** : @ 12:04:58 MSG : Initialization IN : No video modes available!

STATUS INFO : @ 12:04:58 MSG : Information IN : Video memory: 0 KB

STATUS INFO : @ 12:04:58 MSG : Information IN : Device: Software
My code:
Code:
[...]
  if SDL_Init&#40;SDL_INIT_VIDEO&#41; <> 0 then
  begin
    if Log <> nil then LogError&#40;'Initialization', 'Could not initialize SDL&#58; ' + SDL_GetError&#41;;
    Finalize;
  end;

  If Log <> Nil Then
  Begin
    Modes &#58;= SDL_ListModes&#40;nil, SDL_FULLSCREEN or SDL_HWSURFACE or SDL_SWSURFACE or SDL_ANYFORMAT&#41;;
    If Modes = PPSDL_Rect&#40;0&#41; Then
    Begin
      LogError&#40;'Initialization', 'No video modes available!'&#41;;
    End Else
    Begin
      &#123;TMP_X &#58;= @Modes;
      for i &#58;= 0 to Modes&#91;i&#93; - 1 do  LogStatus&#40; Format&#40; ' %d x %d', &#91; Modes&#91;i&#93;.w, Modes&#91;i&#93;.h &#93; &#41; &#41;; &#125; //This is commented, because it hadn't worked
    End;
  End;

  if VideoInfo = nil then
  begin
    if Log <> nil then LogError&#40;'Initialization', 'Could not collect system info -> Application terminated. Error&#58; ' + SDL_GetError&#41;;
    Finalize;
  end;

  if VideoInfo.hw_available <> 0  then FFlags &#58;= FFlags or SDL_HWSURFACE
                                  else FFlags &#58;= FFlags or SDL_SWSURFACE;

  if Log <> nil then LogStatus&#40;'Information', 'Video memory&#58; '+IntToStr&#40;VideoInfo.video_mem&#41;+ ' KB'&#41;;
  if VideoInfo.blit_hw <> 0  then
  begin
    FFlags &#58;= FFlags or SDL_HWACCEL;
    if Log <> nil then LogStatus&#40;'Information', 'Device&#58; Hardware accelerated'&#41;;
  end else
  begin
    if Log <> nil then LogStatus&#40;'Information', 'Device&#58; Software'&#41;;
  end;

&#91;...&#93;

Is there a special way of getting SDL working with some more FPS? Or have I made something wrong?