README.QNX
changeset 692 04dd6c6d7c30
parent 663 8bedd6d61642
child 701 aaf3b8af6616
     1.1 --- a/README.QNX	Sat Aug 23 23:18:49 2003 +0000
     1.2 +++ b/README.QNX	Sat Aug 23 23:20:21 2003 +0000
     1.3 @@ -1,112 +1,108 @@
     1.4  README by Mike Gorchak <mike@malva.ua>, <lestat@i.com.ua>
     1.5 -Last changed at 29 Jul 2003.
     1.6 +Last changed at 12 Aug 2003.
     1.7  
     1.8 -=========================================================================
     1.9 +======================================================================
    1.10  OpenGL:
    1.11  
    1.12 -    OpenGL in window mode  works well  and  stable, in fullscreen
    1.13 -mode too, but fullscreen mode has not been heavily tested yet.
    1.14 -    If you have QNX RtP version 6.1.0 and above you must download
    1.15 -new Photon3D runtime from http://developers.qnx.com or install it
    1.16 -from public repository or from public CD, available with QNX. The
    1.17 -versions of OS before 6.1.0 are not supported.
    1.18 -    While  creating  OpenGL  context  software  renderer  mode is
    1.19 -artificially selected (QSSL  made  acceleration  only for  Voodoo
    1.20 -boards in fullscreen mode, sorry but I  don't have  this board to
    1.21 -test OpenGL - maybe it work or maybe not :)). If you want accele-
    1.22 -ration - you may remove some line in source code: find  the  file
    1.23 -SDL_ph_video.c and remove the following
    1.24 +    OpenGL works well and is stable, but fullscreen mode has not  been
    1.25 +heavily tested yet.
    1.26 +    If you have QNX RtP version 6.1.0 or above you must  download  the
    1.27 +Photon3D runtime from http://developers.qnx.com or install it from the
    1.28 +public repository or the  public CD, available  with  QNX. OS versions
    1.29 +below 6.1.0 are not supported.
    1.30 +    When creating an OpenGL context, software renderer mode is artifi-
    1.31 +cially selected (QSSL made acceleration  only  for  Voodoo  boards  in
    1.32 +fullscreen mode, sorry but I don't have this board  to  test  OpenGL -
    1.33 +maybe it works or maybe not :)). If you  want  acceleration - you  can
    1.34 +remove one line in the source code: find the  file SDL_ph_video.c  and
    1.35 +remove the following
    1.36  
    1.37      OGLAttrib[OGLargc++]=PHOGL_ATTRIB_FORCE_SW;
    1.38       
    1.39 -line in the ph_SetupOpenGLContext() function or  change  argument
    1.40 -to the PHOGL_ATTRIB_FORCE_HW or PHOGL_ATTRIB_FAVOR_HW.
    1.41 +line in the ph_SetupOpenGLContext() function or change the argument to
    1.42 +PHOGL_ATTRIB_FORCE_HW or PHOGL_ATTRIB_FAVOR_HW.
    1.43  
    1.44 -=========================================================================
    1.45 -Wheel and multibutton mouses:
    1.46 +======================================================================
    1.47 +Wheel and multi-button mouses:
    1.48  
    1.49 -    Photon emitting keyboard events (key up and down) when  moved
    1.50 -mouse wheel. But key_scan field appears valid according to flags,
    1.51 -and it contain zero. It is base method of detecting  mouse  wheel
    1.52 -events under photon. It looks like a hack, but it works for me :)
    1.53 -on different PC configurations.
    1.54 +    Photon emits  keyboard  events (key up and down)  when  the  mouse
    1.55 +wheel is moved. The key_scan field appears valid, and it contains zero.
    1.56 +That is a basic method of detecting  mouse  wheel events under Photon.
    1.57 +It looks like a hack, but it works for me :) on various PC  configura-
    1.58 +tions.
    1.59  
    1.60 -I'm tested it on:
    1.61 +I've tested it on:
    1.62  
    1.63  1. Genius Optical NetScroll/+ (1 wheel)
    1.64 -2. A4Tech Optical GreatEye WheelMouse, model: WOP-35. (2 wheels +
    1.65 -   2 additional buttons). Wheel for vertical scrolling  works  as
    1.66 -   usual, but second wheel for horizontal scrolling emitting  two
    1.67 -   consequented events up or down, so it can  provide  more  fast
    1.68 -   scrolling then the  first  wheel. Additional  buttons  doesn't
    1.69 -   emitting any events, but its look like  handled by  photon  in
    1.70 -   unusual way - like click to front, but works not with any win-
    1.71 -   dow, looks like bug-o-feature :).
    1.72 +2. A4Tech Optical  GreatEye  WheelMouse,  model: WOP-35. (2 wheels + 2
    1.73 +   additional buttons). The wheel for vertical scrolling works as usu-
    1.74 +   al, but the second wheel for horizontal scrolling emits two sequen-
    1.75 +   tial events up or down, so it can provide faster scrolling than the
    1.76 +   first wheel. Additional buttons don't emit any events, but it looks
    1.77 +   like they're handled by photon in an unusual  way - like  click  to
    1.78 +   front, but works not with any window, looks like bug-o-feature :).
    1.79  
    1.80 -=========================================================================
    1.81 +======================================================================
    1.82  CDROM handling issues:
    1.83  
    1.84 -    Access to CDROM can be provided only with 'root'  previleges.
    1.85 -I can't do anything with this fact. /dev/cd0 have  the brw-------
    1.86 -flags and root:root rights.
    1.87 +    Access to CDROM can only be  provided  with  'root'  privileges. I
    1.88 +can't do anything about that, /dev/cd0 has brw------- permissions  and
    1.89 +root:root rights.
    1.90  
    1.91 -=========================================================================
    1.92 +======================================================================
    1.93  Video Overlays:
    1.94  
    1.95 -    Overlays can flickering during the window movement, resizing,
    1.96 -etc. It happens because photon driver  updates  the  real  window
    1.97 -contents behind the overlay, then draws the temporary  chroma key
    1.98 -color over window contents. It can be done without the chroma key
    1.99 -using but it cause overlay will be  always  on top. So flickering
   1.100 -during the movement much better in that case.
   1.101 -    Double buffering code temporary disabled in the photon driver
   1.102 -code, beacuse on my GF2-MX it  cause  accidently  buffer  switch,
   1.103 -which going to the old frame showing. S3 Savage3D have  the  same
   1.104 -problem, but ATI Rage 128 has not this problem. I think it can be
   1.105 -fixed later. Current code works very fine, so maybe double buffe-
   1.106 -ring is not needed right now.
   1.107 -    Something strange appears when you tried to move window  with
   1.108 -overlay beyond the left border of the screen. Overlay  trying  to
   1.109 -stay at position x=0, but when tried to move  it  a  bit  more it
   1.110 -jumps  at  posituin  x=-60. Really  strange, looks  like  overlay
   1.111 -doesn't love the negotive coordinates.
   1.112 +    Overlays can flicker  during  window  movement,  resizing, etc. It
   1.113 +happens because the photon driver updates the real window contents be-
   1.114 +hind the overlay, then draws the temporary chroma key color  over  the
   1.115 +window contents. It can be done without using the chroma key but  that
   1.116 +causes the overlay to always be on top. So  flickering  during  window
   1.117 +movement is preferred instead.
   1.118 +    Double buffering code is temporarily disabled in the photon driver
   1.119 +code, because on my GF2-MX it can accidentally cause a buffer  switch,
   1.120 +which causes the old frame to show. S3 Savage4 has the  same  problem,
   1.121 +but ATI Rage 128 doesn't. I think it can be fixed later. Current  code
   1.122 +works very well, so maybe double buffering is not needed right now.
   1.123 +    Something strange happens when you try to move the window with the
   1.124 +overlay beyond the left border  of the screen. The  overlay  tries  to
   1.125 +stay at position x=0, but when attempting to move it  a  bit  more  it
   1.126 +jumps to position x=-60 (on GF2-MX, on ATI Rage128 this  value  a  bit
   1.127 +smaller). It's really strange, looks  like  the  overlay  doesn't like
   1.128 +negative coordinates.
   1.129  
   1.130 -=========================================================================
   1.131 +=======================================================================
   1.132  Shared library building:
   1.133  
   1.134 -    Shared  library can be  built, but before  running autogen.sh
   1.135 -script you  need  manually  delete  the  libtool  m4  stuff  from
   1.136 -the acinclude.m4 file (it comes after ESD  detection  code  up to
   1.137 -end of the file). Because libtool stuff in the  acinclude.m4 file
   1.138 -very old and doesn't know anything about the QNX. Just  remove it
   1.139 -and run autogen.sh script.
   1.140 +    A shared library can be built, but before running  the  autogen.sh
   1.141 +script you must manually delete the libtool.m4 stuff from the acinclu-
   1.142 +de.m4 file (it comes after the ESD detection code up to the end of the
   1.143 +file), because the libtool stuff in the acinclude.m4 file is very  old
   1.144 +and doesn't know anything about QNX. Just remove it and run autogen.sh.
   1.145  
   1.146 -=========================================================================
   1.147 +======================================================================
   1.148  Some building issues:
   1.149  
   1.150 -    Feel free to not pass --disable-shared option  to  configure,
   1.151 -if you read comment above about 'Shared library building'. Other-
   1.152 -wise this option is strongly  recomended, because  the sdl-config
   1.153 -script will be unfunctional.
   1.154 +    Feel free to not use the --disable-shared configure option if you'
   1.155 +ve read the above comment about 'Shared  library  building'. Otherwise
   1.156 +this  option  is  strongly  recommended, as  without it the sdl-config
   1.157 +script will be broken.
   1.158  
   1.159 -    Run configure script without x11 support, e.g.:
   1.160 +    Run the configure script without x11 support, e.g.:
   1.161  
   1.162      a) for OpenGL support:
   1.163 -    ./configure --prefix=/usr/local \
   1.164 +    ./configure --prefix=/usr       \
   1.165                  --disable-video-x11 \
   1.166                  --disable-shared
   1.167  
   1.168      b) without OpenGL support:
   1.169 -    ./configure --prefix=/usr/local \
   1.170 +    ./configure --prefix=/usr       \
   1.171                  --disable-video-x11 \
   1.172                  --disable-shared    \
   1.173                  --disable-video-opengl
   1.174  
   1.175 -    In test directory  also run  ./configure  script  without x11
   1.176 -support, e.g.:
   1.177 +    In the test directory also run the ./configure script without
   1.178 +x11 support, e.g.:
   1.179  
   1.180 -    ./configure  --with-sdl-prefix=/usr/local      \
   1.181 -                 --with-sdl-exec-prefix=/usr/local \
   1.182 -                 --prefix=/usr/local --without-x
   1.183 -
   1.184 -
   1.185 +    ./configure  --with-sdl-prefix=/usr            \
   1.186 +                 --with-sdl-exec-prefix=/usr       \
   1.187 +                 --prefix=/usr --without-x