From: "Mike Gorchak" Subject: QNX fixes improved sound code for the QNX, added workarounds for known bugs, fixed photon detect code. Update .qpg file. --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%40719
109 lines
4.8 KiB
Text
109 lines
4.8 KiB
Text
README by Mike Gorchak <mike@malva.ua>, <lestat@i.com.ua>
|
|
Last changed at 12 Aug 2003.
|
|
|
|
======================================================================
|
|
OpenGL:
|
|
|
|
OpenGL works well and is stable, but fullscreen mode has not been
|
|
heavily tested yet.
|
|
If you have QNX RtP version 6.1.0 or above you must download the
|
|
Photon3D runtime from http://developers.qnx.com or install it from the
|
|
public repository or the public CD, available with QNX. OS versions
|
|
below 6.1.0 are not supported.
|
|
When creating an OpenGL context, software renderer mode is artifi-
|
|
cially selected (QSSL made acceleration only for Voodoo boards in
|
|
fullscreen mode, sorry but I don't have this board to test OpenGL -
|
|
maybe it works or maybe not :)). If you want acceleration - you can
|
|
remove one line in the source code: find the file SDL_ph_video.c and
|
|
remove the following
|
|
|
|
OGLAttrib[OGLargc++]=PHOGL_ATTRIB_FORCE_SW;
|
|
|
|
line in the ph_SetupOpenGLContext() function or change the argument to
|
|
PHOGL_ATTRIB_FORCE_HW or PHOGL_ATTRIB_FAVOR_HW.
|
|
|
|
======================================================================
|
|
Wheel and multi-button mouses:
|
|
|
|
Photon emits keyboard events (key up and down) when the mouse
|
|
wheel is moved. The key_scan field appears valid, and it contains zero.
|
|
That is a basic method of detecting mouse wheel events under Photon.
|
|
It looks like a hack, but it works for me :) on various PC configura-
|
|
tions.
|
|
|
|
I've tested it on:
|
|
|
|
1. Genius Optical NetScroll/+ (1 wheel)
|
|
2. A4Tech Optical GreatEye WheelMouse, model: WOP-35. (2 wheels + 2
|
|
additional buttons). The wheel for vertical scrolling works as usu-
|
|
al, but the second wheel for horizontal scrolling emits two sequen-
|
|
tial events up or down, so it can provide faster scrolling than the
|
|
first wheel. Additional buttons don't emit any events, but it looks
|
|
like they're handled by photon in an unusual way - like click to
|
|
front, but works not with any window, looks like bug-o-feature :).
|
|
|
|
======================================================================
|
|
CDROM handling issues:
|
|
|
|
Access to CDROM can only be provided with 'root' privileges. I
|
|
can't do anything about that, /dev/cd0 has brw------- permissions and
|
|
root:root rights.
|
|
|
|
======================================================================
|
|
Video Overlays:
|
|
|
|
Overlays can flicker during window movement, resizing, etc. It
|
|
happens because the photon driver updates the real window contents be-
|
|
hind the overlay, then draws the temporary chroma key color over the
|
|
window contents. It can be done without using the chroma key but that
|
|
causes the overlay to always be on top. So flickering during window
|
|
movement is preferred instead.
|
|
Double buffering code is temporarily disabled in the photon driver
|
|
code, because on my GF2-MX it can accidentally cause a buffer switch,
|
|
which causes the old frame to show. S3 Savage4 has the same problem,
|
|
but ATI Rage 128 doesn't. I think it can be fixed later. Current code
|
|
works very well, so maybe double buffering is not needed right now.
|
|
Something strange happens when you try to move the window with the
|
|
overlay beyond the left border of the screen. The overlay tries to
|
|
stay at position x=0, but when attempting to move it a bit more it
|
|
jumps to position x=-60 (on GF2-MX, on ATI Rage128 this value a bit
|
|
smaller). It's really strange, looks like the overlay doesn't like
|
|
negative coordinates.
|
|
|
|
=======================================================================
|
|
Shared library building:
|
|
|
|
A shared library can be built, but before running the autogen.sh
|
|
script you must manually delete the libtool.m4 stuff from the acinclu-
|
|
de.m4 file (it comes after the ESD detection code up to the end of the
|
|
file), because the libtool stuff in the acinclude.m4 file is very old
|
|
and doesn't know anything about QNX. Just remove it, then run
|
|
"libtoolize --force --copy" and after that run the autogen.sh script.
|
|
|
|
======================================================================
|
|
Some building issues:
|
|
|
|
Feel free to not use the --disable-shared configure option if you'
|
|
ve read the above comment about 'Shared library building'. Otherwise
|
|
this option is strongly recommended, as without it the sdl-config
|
|
script will be broken.
|
|
|
|
Run the configure script without x11 support, e.g.:
|
|
|
|
a) for OpenGL support:
|
|
./configure --prefix=/usr \
|
|
--disable-video-x11 \
|
|
--disable-shared
|
|
|
|
b) without OpenGL support:
|
|
./configure --prefix=/usr \
|
|
--disable-video-x11 \
|
|
--disable-shared \
|
|
--disable-video-opengl
|
|
|
|
In the test directory also run the ./configure script without
|
|
x11 support, e.g.:
|
|
|
|
./configure --with-sdl-prefix=/usr \
|
|
--with-sdl-exec-prefix=/usr \
|
|
--prefix=/usr --without-x
|