mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-16 11:58:05 +02:00
115 lines
3.4 KiB
Text
115 lines
3.4 KiB
Text
|
|
|
|
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.
|
|
|
|
|
|
|