README.QNX
changeset 692 04dd6c6d7c30
parent 663 8bedd6d61642
child 701 aaf3b8af6616
equal deleted inserted replaced
691:609543e2b3a1 692:04dd6c6d7c30
     1 README by Mike Gorchak <mike@malva.ua>, <lestat@i.com.ua>
     1 README by Mike Gorchak <mike@malva.ua>, <lestat@i.com.ua>
     2 Last changed at 29 Jul 2003.
     2 Last changed at 12 Aug 2003.
     3 
     3 
     4 =========================================================================
     4 ======================================================================
     5 OpenGL:
     5 OpenGL:
     6 
     6 
     7     OpenGL in window mode  works well  and  stable, in fullscreen
     7     OpenGL works well and is stable, but fullscreen mode has not  been
     8 mode too, but fullscreen mode has not been heavily tested yet.
     8 heavily tested yet.
     9     If you have QNX RtP version 6.1.0 and above you must download
     9     If you have QNX RtP version 6.1.0 or above you must  download  the
    10 new Photon3D runtime from http://developers.qnx.com or install it
    10 Photon3D runtime from http://developers.qnx.com or install it from the
    11 from public repository or from public CD, available with QNX. The
    11 public repository or the  public CD, available  with  QNX. OS versions
    12 versions of OS before 6.1.0 are not supported.
    12 below 6.1.0 are not supported.
    13     While  creating  OpenGL  context  software  renderer  mode is
    13     When creating an OpenGL context, software renderer mode is artifi-
    14 artificially selected (QSSL  made  acceleration  only for  Voodoo
    14 cially selected (QSSL made acceleration  only  for  Voodoo  boards  in
    15 boards in fullscreen mode, sorry but I  don't have  this board to
    15 fullscreen mode, sorry but I don't have this board  to  test  OpenGL -
    16 test OpenGL - maybe it work or maybe not :)). If you want accele-
    16 maybe it works or maybe not :)). If you  want  acceleration - you  can
    17 ration - you may remove some line in source code: find  the  file
    17 remove one line in the source code: find the  file SDL_ph_video.c  and
    18 SDL_ph_video.c and remove the following
    18 remove the following
    19 
    19 
    20     OGLAttrib[OGLargc++]=PHOGL_ATTRIB_FORCE_SW;
    20     OGLAttrib[OGLargc++]=PHOGL_ATTRIB_FORCE_SW;
    21      
    21      
    22 line in the ph_SetupOpenGLContext() function or  change  argument
    22 line in the ph_SetupOpenGLContext() function or change the argument to
    23 to the PHOGL_ATTRIB_FORCE_HW or PHOGL_ATTRIB_FAVOR_HW.
    23 PHOGL_ATTRIB_FORCE_HW or PHOGL_ATTRIB_FAVOR_HW.
    24 
    24 
    25 =========================================================================
    25 ======================================================================
    26 Wheel and multibutton mouses:
    26 Wheel and multi-button mouses:
    27 
    27 
    28     Photon emitting keyboard events (key up and down) when  moved
    28     Photon emits  keyboard  events (key up and down)  when  the  mouse
    29 mouse wheel. But key_scan field appears valid according to flags,
    29 wheel is moved. The key_scan field appears valid, and it contains zero.
    30 and it contain zero. It is base method of detecting  mouse  wheel
    30 That is a basic method of detecting  mouse  wheel events under Photon.
    31 events under photon. It looks like a hack, but it works for me :)
    31 It looks like a hack, but it works for me :) on various PC  configura-
    32 on different PC configurations.
    32 tions.
    33 
    33 
    34 I'm tested it on:
    34 I've tested it on:
    35 
    35 
    36 1. Genius Optical NetScroll/+ (1 wheel)
    36 1. Genius Optical NetScroll/+ (1 wheel)
    37 2. A4Tech Optical GreatEye WheelMouse, model: WOP-35. (2 wheels +
    37 2. A4Tech Optical  GreatEye  WheelMouse,  model: WOP-35. (2 wheels + 2
    38    2 additional buttons). Wheel for vertical scrolling  works  as
    38    additional buttons). The wheel for vertical scrolling works as usu-
    39    usual, but second wheel for horizontal scrolling emitting  two
    39    al, but the second wheel for horizontal scrolling emits two sequen-
    40    consequented events up or down, so it can  provide  more  fast
    40    tial events up or down, so it can provide faster scrolling than the
    41    scrolling then the  first  wheel. Additional  buttons  doesn't
    41    first wheel. Additional buttons don't emit any events, but it looks
    42    emitting any events, but its look like  handled by  photon  in
    42    like they're handled by photon in an unusual  way - like  click  to
    43    unusual way - like click to front, but works not with any win-
    43    front, but works not with any window, looks like bug-o-feature :).
    44    dow, looks like bug-o-feature :).
       
    45 
    44 
    46 =========================================================================
    45 ======================================================================
    47 CDROM handling issues:
    46 CDROM handling issues:
    48 
    47 
    49     Access to CDROM can be provided only with 'root'  previleges.
    48     Access to CDROM can only be  provided  with  'root'  privileges. I
    50 I can't do anything with this fact. /dev/cd0 have  the brw-------
    49 can't do anything about that, /dev/cd0 has brw------- permissions  and
    51 flags and root:root rights.
    50 root:root rights.
    52 
    51 
    53 =========================================================================
    52 ======================================================================
    54 Video Overlays:
    53 Video Overlays:
    55 
    54 
    56     Overlays can flickering during the window movement, resizing,
    55     Overlays can flicker  during  window  movement,  resizing, etc. It
    57 etc. It happens because photon driver  updates  the  real  window
    56 happens because the photon driver updates the real window contents be-
    58 contents behind the overlay, then draws the temporary  chroma key
    57 hind the overlay, then draws the temporary chroma key color  over  the
    59 color over window contents. It can be done without the chroma key
    58 window contents. It can be done without using the chroma key but  that
    60 using but it cause overlay will be  always  on top. So flickering
    59 causes the overlay to always be on top. So  flickering  during  window
    61 during the movement much better in that case.
    60 movement is preferred instead.
    62     Double buffering code temporary disabled in the photon driver
    61     Double buffering code is temporarily disabled in the photon driver
    63 code, beacuse on my GF2-MX it  cause  accidently  buffer  switch,
    62 code, because on my GF2-MX it can accidentally cause a buffer  switch,
    64 which going to the old frame showing. S3 Savage3D have  the  same
    63 which causes the old frame to show. S3 Savage4 has the  same  problem,
    65 problem, but ATI Rage 128 has not this problem. I think it can be
    64 but ATI Rage 128 doesn't. I think it can be fixed later. Current  code
    66 fixed later. Current code works very fine, so maybe double buffe-
    65 works very well, so maybe double buffering is not needed right now.
    67 ring is not needed right now.
    66     Something strange happens when you try to move the window with the
    68     Something strange appears when you tried to move window  with
    67 overlay beyond the left border  of the screen. The  overlay  tries  to
    69 overlay beyond the left border of the screen. Overlay  trying  to
    68 stay at position x=0, but when attempting to move it  a  bit  more  it
    70 stay at position x=0, but when tried to move  it  a  bit  more it
    69 jumps to position x=-60 (on GF2-MX, on ATI Rage128 this  value  a  bit
    71 jumps  at  posituin  x=-60. Really  strange, looks  like  overlay
    70 smaller). It's really strange, looks  like  the  overlay  doesn't like
    72 doesn't love the negotive coordinates.
    71 negative coordinates.
    73 
    72 
    74 =========================================================================
    73 =======================================================================
    75 Shared library building:
    74 Shared library building:
    76 
    75 
    77     Shared  library can be  built, but before  running autogen.sh
    76     A shared library can be built, but before running  the  autogen.sh
    78 script you  need  manually  delete  the  libtool  m4  stuff  from
    77 script you must manually delete the libtool.m4 stuff from the acinclu-
    79 the acinclude.m4 file (it comes after ESD  detection  code  up to
    78 de.m4 file (it comes after the ESD detection code up to the end of the
    80 end of the file). Because libtool stuff in the  acinclude.m4 file
    79 file), because the libtool stuff in the acinclude.m4 file is very  old
    81 very old and doesn't know anything about the QNX. Just  remove it
    80 and doesn't know anything about QNX. Just remove it and run autogen.sh.
    82 and run autogen.sh script.
       
    83 
    81 
    84 =========================================================================
    82 ======================================================================
    85 Some building issues:
    83 Some building issues:
    86 
    84 
    87     Feel free to not pass --disable-shared option  to  configure,
    85     Feel free to not use the --disable-shared configure option if you'
    88 if you read comment above about 'Shared library building'. Other-
    86 ve read the above comment about 'Shared  library  building'. Otherwise
    89 wise this option is strongly  recomended, because  the sdl-config
    87 this  option  is  strongly  recommended, as  without it the sdl-config
    90 script will be unfunctional.
    88 script will be broken.
    91 
    89 
    92     Run configure script without x11 support, e.g.:
    90     Run the configure script without x11 support, e.g.:
    93 
    91 
    94     a) for OpenGL support:
    92     a) for OpenGL support:
    95     ./configure --prefix=/usr/local \
    93     ./configure --prefix=/usr       \
    96                 --disable-video-x11 \
    94                 --disable-video-x11 \
    97                 --disable-shared
    95                 --disable-shared
    98 
    96 
    99     b) without OpenGL support:
    97     b) without OpenGL support:
   100     ./configure --prefix=/usr/local \
    98     ./configure --prefix=/usr       \
   101                 --disable-video-x11 \
    99                 --disable-video-x11 \
   102                 --disable-shared    \
   100                 --disable-shared    \
   103                 --disable-video-opengl
   101                 --disable-video-opengl
   104 
   102 
   105     In test directory  also run  ./configure  script  without x11
   103     In the test directory also run the ./configure script without
   106 support, e.g.:
   104 x11 support, e.g.:
   107 
   105 
   108     ./configure  --with-sdl-prefix=/usr/local      \
   106     ./configure  --with-sdl-prefix=/usr            \
   109                  --with-sdl-exec-prefix=/usr/local \
   107                  --with-sdl-exec-prefix=/usr       \
   110                  --prefix=/usr/local --without-x
   108                  --prefix=/usr --without-x
   111 
       
   112