NEWS - list of user-visible changes between releases of LibGGI New in 2.1.0: 2004-11-30: - Documentation updates - removed obseleted Xlib target - added new GGIFLAG_TIDYBUF flag. It is intended for applications using directbuffer and having their own dirty-region management. Currently only supported by the X-target. - KGI target improvements - added Matrox Gx00 accelerator sublib - added devfs support - added multiple frame support - merged improvements from the FreeBSD ports tree - fbdev gammamap support - added the -fullscreen option to the X-target - added the -physz option to the ipc-target - Major DirectX target improvements - added -noinput and -physz options by Christoph Egger. Tested by Albert Graef. - fix cursor stuff, added -keepcursor and -nocursor options (patch from Albert Graef) - disable maximize button on GGI-on-DX window (patch from Albert Graef) - remove stuff in WindowProc made obselete by the above two items (patch from Albert Graef) - move the globals in ddinit.c into private data structure (patch from Albert Graef) - merge the two targets into one (directxnt has been renamed to directx and is now the *one* directx target) (patch from Albert Graf) - fix a couple of bugs and race conditions (patch from Albert Graef) - added -inwin option (patch from Albert Graef) - added support for virtual size != visible size. - added support for panning (ggiSetOrigin) - added support for up to 16 frames. - added support for asynchronous mode (no background updates when active). - added support for fullscreen and mode switching. - preliminary support for palettized modes. - display-auto has been added. It replaces the 5 years old linux specific target autodetection and handles it OS dependend - works on Windows using MinGW w/o requiring special Makefiles. - a pseudo-stubs target has been added by Peter Ekberg. It does effectively nothing, but gives extensions a way to have one target that stands for all targets that passes all operations to their parent visuals. libggiwmh and libggimisc make palemu and trueemu working with it w/o having a target for each of them. - display-mansync has been reworked by Peter Ekberg. It now uses the platform independent task scheduler. - added a new macro: GT_ByPPP which is basically GT_ByPP but for packed pixels and it takes two arguments. ^L New in 2.0.7: 2004-11-30: * minor buildsystem update * eliminate lvalue assignments. Fixes problems with latest gcc versions * Use more length bounded string operations ^L New in 2.0.6: 2004-09-14: * build system: - Prepend with GII include path when --with-uninst-gii is specified via configure - disable vgagl helper when not building the svga target * X-target: - Bugfix: Ensure aligned memory access. Fixes crash on NetBSD/sparc64 - Bugfix: Perform correct clipping in ggiFillscreen(3). * display-memory: Bugfix: Free directbuffer completely. * display-monotext: Bugfix: ggiCheckMode() returns actual error code than always success. * documentation update: - add manual page for display-mansync - do not document not-existing GGIFLAG_TIDYBUF flag. It is a new feature in devel tree. ^L New in 2.0.5: 2004-05-29: * X-target: - Fix over-allocation of win y dimension. - Forward expose events to the application when -nobuffer is used. - Fix "strange colored pixels when re-exposing backbuffer"-Bug. - Focus pulling fix. Key focus should no longer get lost, when the mouse is NOT over the window. Note: Don't forget to update libgii's input-xwin and input-x before as libggi now passes some additional information to libgii. * build system: It checks for buildable demos. Fixes compiling breakage on some platforms. * other build system updates * libtool update. Fixes Debian bug #208288. * documentation updates ^L New in 2.0.4: 2003-12-21: * X-target: - minor mode initialization fix from Argo Vessmann - shm helper checks return code, when setting up the directbuffer - release locking on failure. (Threadsafety fix) - fixed geometry check. Opening (very) small windows is now possible. * build fix: cygwin has no sys/shm.h and sys/ipc.h, so configure disables all targets requiring them, if not present. * cbconsist demo: sync with devel tree * gcc 3.3 compiling fix for default/linear_16/crossbuild.c (fixes Debian bug #197214) * merged build fix from FreeBSD's ports tree to make the xf86dga target compile on FreeBSD (fixes FreeBSD PR ports/52380) ^L New in 2.0.3: 2003-03-19 * X-target: - Fixed a bug, where a ggiFlush() call was missed, which makes directbuffer content visible when releasing it. - Fixed a clipping bug, causing to let disappear characters or whole strings. - Fixed clipping on multiple frames. - Add -keepcursor option, which keeps the default cursor. - Fixed crash when used 8bit characters - Fixed endless loop when X11 server provides only and only the same sort of X visuals * Demo: Improved pageflip demo to test all primitives in a multi-frame environment * merged some compiler fixes from the OpenBSD ports tree * fixed a crash, when a drawing primitive (i.e. a line) crossed _two_ borders of the clipping rectangle * added 64bit fixes to wrap and cube3d demos * minor improvements to checkmode and struct check tool (important for target developers though) * manpage fixes ^L New in 2.0.2: 2002-12-26 * Misc bugfixes (see ChangeLog) * Huge documentation updates * Major build system update - adds builds fixes for many platforms * memory-target - add -pixfmt option - added missing support for reporting physical screen sizes. * X-target - rewritten (x/xlib splitting is obselete now) - added dirty region management * xlib-target - disabled. Will be removed later * fbdev-target - DirectFB driver works with directfb 0.9.13 - added mach64 accelerator * KGI-target - big update (works with KGI-0.9 now) - added mach64 accelerator - added radeon accelerator - still experimental, thus disabled in configure ^L New in 2.0.1: 2001-08-26 * More documentation updates. * Preliminary support for using DirectFB drivers under display-fbdev * Many corrections/improvements to build files * Started move towards using libtool versioning, as interface is stable. New in 2.0: 2001-08-11 * Huge documentation updates. * svgalib-target - added frame support - misc bug-fixes ^L New in 2.0beta4: 2001-07-10 * Misc bugfixes (see ChangeLog). * Huge documentation updates. * finished support for reporting physical screen sizes. * splitted libggimisc off * New API: ggiDetachInput() * fbdev-target - Acceleration of Matrox G400 (matrox fb) * directX-target - Update - Highly experimental target for Win ... Use at your own risk ! * ipc-target - New target for interprocess communication (experimental) ^L New in 2.0beta3: 2000-12-18 * Misc bugfixes (see ChangeLog). * Minor documentation updates. * Major rewrite of the internal sublib handling. * Some fixes for PowerPC compatibility. * preliminary support for reporting physical screen sizes. * Made all headers C++ compatible. * lcd823-target - Target for the Motorola MPC823 builtin LCD controler, using the /dev/lcd823 Linux kernel device. * fbdev-target - Better detection of kgicon-type fb-devices and old fb implementations. - Better usage of fbdev mode infos in fb.modes - Better acceleration for the Matrox fb. * glide-target - Added directbuffer support. * aalib-target - Better mode handling. * X-target - Propagated X dpi values to give physical screen dimensions. - Various fixes to properly init several values. * tele-target - Updated much to make it work again. * vgl-target - New target for FreeBSD's VGL library. * directX-target - Highly experimental target for Win ... Use at your own risk ! New in 2.0beta2.1: 1999-05-17; * Misc bugfixes (see ChangeLog). * Minor documentation updates. * Autoconf now checks for headers as well as libraries for Glide, AAlib and SVGAlib. * Should now compile on Linux libc5 and other systems which doesn't define MAP_FAILED. * cube3d-demo - Fixed to work on GT_32BIT visuals. * demo-demo - Better teach how to properly use ASYNC/SYNC mode. * fbdev-target - Now supports acceleration on matroxfb. Should work on all supported cards. - Read /etc/fb.modes to get timing information - mode switching now works for non-KGIcon drivers too. - Fixed bug when running on a new VT (like XGGI does by default). - Don't try to change the palette when the application is switched away. - Now compiles on 2.0 kernels - someone with the proper hardware please test whether it actually works. * svgalib-target - Major updates and bugfixes. - Now supports running in the background using the GGICMD_NOHALT_ON_UNMPAP standard API. - Console switching now works, but does _not_ use SIGUSR* - you can now use the SVGAlib target with pthreads! New in 2.0beta2: 1999-04-01; * Portability fixes for non-Linux platforms. * Lots of bugfixes. * Documentaion updates. * Optimizations of the linear-* drawing libraries - now software drawing, ggiCrossBlit() and ggiPutBox() is much faster. * Linux VT-switching now works with pthreads. * New environment variable GGI_NEWVT which will cause Linux-console based targets to open a new VT instead of running on the current one. * API for requesting Linux-console based targets not to halt when switching to another VT. * New API functions ggiSetColorfulPalette(), ggiFlushRegion(), ggiResourceAcquire(), ggiResourceRelease(), ggiResourceMustAcquire(), ggiResourceFastAcquire(), ggiResourceFastRelease(), ggiEventsQueued(), ggiEventSend() and ggiEventSelect(). * ggiGetSelectFdSet() removed. * The config file is now stored in /usr/local/etc/ggi by default. * Support for setting the mansync framerate. * New configure option --with-uninst-gii, which makes it possible to build LibGGI against an uninstalled copy of LibGII. * All targets should now be compatible with Linux devfs systems. * Support for targets using asynchronous acceleration. * Big improvements in the event handling code, see the LibGII docs and NEWS file for info. * stars-demo - Demonstrate how to runtime switch between X and DGA targets with help from the application. * cube3d-demo - New demo which lets you run one to six arbitrary LibGGI applications on a rotating, zoomable, cube, which is displayed on any LibGGI target. * X-target - Handle expose events internally. * X/Xlib-targets - Much improved system for matching LibGGI graphtypes with X-visual types. - Support for StaticColor X-visuals. - Support for running in an already existing window or in the root window. - Don't close and reopen the window when changing modes. * DGA-target - Use our own client-side implementation of XFree86DGA to get better stability and support for optionally mapping the video memory from a framebuffer device (= no root privs required for DGA). - Support for acceleration on X servers supporting DGA 1.1. * fbdev-target - Fixed fatal bug which would cause segfault when stride != virtual x. * glide-target - Improved GGI_AUTO handling, support for more resolutions. - Support for more than one 3DFX card. - Restrained refreshrates so you doesn't damage your monitor. * svgalib-target - 32-bit modes should now work - "return key causes quit" problem fixed. * vcsa-target - Much improved color mapping algorithm. - "-shade" option added, and made shading NOT be the default since it screws up the colormapping for normal text. * file-target - Support for saving movies of running GGI applications.