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