README.QNX
author Sam Lantinga <slouken@libsdl.org>
Sun, 21 Sep 2003 18:13:48 +0000
changeset 718 cbc0f7fabd1c
parent 701 aaf3b8af6616
child 753 b14fdadd8311
permissions -rw-r--r--
Date: Sat, 13 Sep 2003 15:50:43 +0300
From: "Mike Gorchak"
Subject: QNX fixes

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