| |
| |
| Getting MiniGLX up and running |
| ------------------------------ |
| |
| It's necessary to do a bit of work to set up an environment to run miniglx. |
| |
| For the radeon driver, it's necessary to get the right set of kernel |
| modules installed before attempting to run any programs: |
| |
| rmmod radeon agpgart; |
| insmod agpgart; |
| insmod $(MESA)/src/kernel/radeonfb/radeonfb.o; |
| insmod $(MESA)/src/kernel/radeon/radeon.o; |
| |
| For all drivers, its necessary to reach the compiled libraries, and |
| tell MiniGLX where to find it's configuration file: |
| |
| export LD_LIBRARY_PATH=$(MESA)/lib; |
| export MINIGLX_CONF=$(MESA)/lib/miniglx.conf |
| |
| ------------------------------------------------------------ |
| |
| MiniGLX Example Programs |
| ------------------------ |
| |
| The following programs will work with miniglx: |
| |
| $(MESA)/tests/miniglx |
| $(MESA)/xdemos/glxgears |
| |
| Thanks to the miniglut stub library, most of the mesa glut demos will |
| work. In particular, the following have been tested. (Note there is |
| no keyboard or mouse interaction with these demos). |
| |
| $(MESA)/demos/gears |
| $(MESA)/demos/geartrain |
| $(MESA)/demos/morph3d |
| $(MESA)/demos/isosurf |
| $(MESA)/demos/texobj |
| $(MESA)/demos/texcyl |
| $(MESA)/demos/gloss |
| $(MESA)/demos/fire |
| $(MESA)/demos/tunnel |
| $(MESA)/demos/teapot |
| $(MESA)/samples/prim |
| $(MESA)/samples/olympic |
| $(MESA)/samples/star |
| $(MESA)/samples/wave |
| ...etc |
| |
| In fact most of the glut demos seem to work within the constraints of |
| having no keyboard/mouse interactivity. Furthermore, the use of the |
| glut wrapper means that these programs don't require recompilation to |
| run under MiniGLX -- the same binary works with both regular GLX and |
| MiniGLX. |
| |
| |
| ------------------------------------------------------------ |
| |
| Porting GLX apps to MiniGLX |
| --------------------------- |
| |
| A quick list of issues encountered in porting existing GLX apps to |
| MiniGLX. Listed in no particular order. |
| |
| 1) No input events |
| |
| MiniGLX doesn't provide an input layer, so any X11 input event |
| handling in the existing app will have to be redone for whatever |
| input devices exist on the target. |
| |
| 2) No configuration, expose events |
| |
| Many GLX and Xlib programs wait on an event to ensure the window has |
| become visible after being mapped. MiniGLX provides no equivalent |
| facility. |
| |
| 3) Different headers |
| |
| X11/Xlib.h, GL/GLX.h, etc must not be used if the program is being |
| compiled against MiniGLX. |
| |
| The equivalent header is GL/MiniGLX.h. |
| |
| 4) Different library |
| |
| It may be necessary to link directly against the minGLX libGL.so. |
| |
| 5) Reduced number of Xlib and GLX entrypoints. |
| |
| By definition (MiniGLX is a subset of GLX), many Xlib and GLX |
| entrypoints, structures and macros are not present in MiniGLX. It |
| will be necessary to find and eliminate all references to |
| non-supported entrypoints. |
| |
| |
| --------------------------------------------------------------- |
| |
| Bugs in radeonfb.o -- the radeon framebuffer driver. |
| ---------------------------------------------------- |
| |
| Several bugs have been found in the radeonfb.o framebuffer driver. |
| Most of these are resolved in the version included in the MiniGLX |
| sources, but some remain: |
| |
| 1) Occasionally, after entering graphics mode, colors appear 'shifted' |
| or 'translated', particularly in higher resolution modes. This is |
| definitely a bug in radeonfb.o as this can be provoked even when using |
| the software dri driver (fb_dri.so). Importance: High. Workaround: |
| Use 800x600 as it seems to be less frequent at this resolution, |
| otherwise, restart the application. |
| |
| |
| |