[ANNOUNCE] xorg-server

Daniel Stone daniel at fooishbar.org
Sat Jun 3 04:25:00 PDT 2006

Well, it's been a while since we've done a snapshot, so why not?
The highlights are fixing 44 Coverity bugs and 30 Bugzilla bugs, a few
crash fixes (Render and appgroup), and pruning of a whole bunch of dead
code, including all the old loaders.  EXA has seen significant
performance action, and GNU/kFreeBSD and DragonFly systems should both
be a lot happier.  ACPI and APM support has also been fixed.

CVS tag: xserver-1_1_99_2

MD5: b01e06843362a4c6f740b7a42c67656c  xorg-server-
SHA1: fcaa4a885ec5554a0214ca61188180a787735c68 xorg-server-

MD5: 7fe0adb05ad854d68600b3fa8abf5153  xorg-server-
SHA1: b0443e26849ff95d5135c04b500ef4608620d356 xorg-server-


Full ChangeLog since

Add support for kFreeBSD systems.  (Robert Millan, Aurelien Jarno)

Completely remove relocation pointer tables.

Bug #6956: Fix crash when removing session leader before its children.
(Rich Coe)

Bug #6619: Fix disappearing hardware cursor.  (Colin Harrison)

Bug #5089: Die, libbitmap, die!

Add bitmap to the ignored module list.

Die, XTESTEXT1, die!

Get rid of horrendous, somewhat misguided, DDX binary-compatibility

Ignore requests to load deprecated GLcore and speedo modules
(properly, this time).

Kill the a.out, ELF and COFF loaders with extreme prejudice.  Good
riddance.  There's more where this came from, too.

Simplify the 'unsupported' list.

Remove LBX.  Goodbye.

Bug #6583: Only parse /proc/bus/pci/devices once.  (Bill Nottingham)

Powerpc machines also need ioperm_noop.c

Properly document the DPMS, SyncOnGreen, and TargetRefresh options.

Minor #include cleanups.

Remove -xkbmap argument.

check buffersize before reading next char, fixes the 
"mouse stuck at left" bug (bugzilla #3113) for BSD systems using 
wscons. (Dale Rahn).

RGB color database and XErrorDB install to "share" not
"lib" by default (by app/rgb and libX11). (TODO: They are
customizable, so maybe cpprules.in should be extended.)

Don't do fixup_video_driver_list if no drivers.  (I had
signal 11 and core dump when drivers not installed yet.)
(TODO: fix fixup_video_driver_list to handle NULL argument.)

Don't destroy a pixmap twice on server exit (bugzilla #4247).
update to build against Mesa CVS HEAD 
(Carlos Eduardo Rodrigues Diógenes)

NetBSD also has curses.h instead of ncurses.h. (TODO:
Maybe instead of checking for SCO, UnixWare, Sun SVR4 and
NetBSD, the curses.h versus ncurses.h should be tested in

On NetBSD, add -li386 for i386 and -lx86_64 for x86_64 to
SYS_LIBS. (x86_64 on NetBSD not tested.)

Remove tolower() which was missed in the _XkbStrCaseCmp/strcmp

Add AC_SUBST([SOLARIS_ASM_CFLAGS]) that I forgot when splitting
them out of the XORG_CFLAGS.

Bug #6924: Restore the ABI for DrawableRec and ColormapRec to 
the state they were in prior to the fix for #6438. Based on a 
patch from Andy Ritger.

Update to 2006-05-19 snapshot
Remove entries now present in pci.ids
Regenerate from updated pci.ids & extrapci.ids

Remove dead DPMS timer functions from the installed headers. 
(Fredrik Höglund)

Bug #4139: Fix a BAR remapping bug that could lead to IERR and 
system hang. (Egbert Eich)

Bug #6377: Ignore disabled BARs, and allow matching BARs 
aligned to less than 16 bytes. (Felix Kühling, ATI)

Bug #5877: Avoid burning CPU when acpid dies. Require acpid to 
be running for ACPI support on Linux. Minor errno handling 
fixes. (Valery Inozemtsev, Adam Jackson)

Bug #6827: Fix texel fetch in fbFetchTransformed to avoid 
crashes. Still not 100% correct, but better than 7.0. (Radek 
Doulik, Matthias Hopf)

Make DBE support conditional.  (Enrico Wiegelt)

Make Xv symbols conditional.  (Enrico Wiegelt)

Bug #5209: Fix APM/ACPI support, again. (Michel Dänzer, Valery 

Don't use AM_CONDITIONAL inside shell conditionals.
Bugzilla #6916.

previous item and update its next pointer when deleting from the
linked list.

Bug #5796: Wrong fastpath selection for repeating sources.

Bug #4320: Improved XAA Composite fastpath.

Bug #3561: Crash fix in the Record extension. (Paul Anderson)

Bug #6867: Yet another Render crash fix. (Michel Dänzer)

Bug #5209: Re-enable building APM and ACPI support. (Michel 

Make Xephyr build on Solaris:
Add #include <sys/file.h> on Solaris for FNONBLOCK/FASYNC definitions
Move agp.c & agp.h to KDRIVE_HW_SOURCES since they're not needed
for Xephyr-only builds
Add -lrt to XEPHYR_LIBS if needed to get nanosleep().

Redact a few mentions of speedo font support.

Typo in ALLLOCATE_LOCAL() arguments, causing mis-computation 
of the buffer.Bugzilla #6642.

Fix Solaris build with Sun compilers to work when exa is built before
hw/xfree86/os-support/solaris (as it is by default now).

Use min() [defined in include/misc.h] instead of MIN() [not defined in
any Xorg header].

Remove NEED_LINEHELPER BC cruft for pre-R6 DDXes.

Remove stray mfb/cfb references.

Add Polylines and PolyPoint acceleration as well.  This is primarily to
clean up fallback debugging output, so I can focus on more imporant
cases.  Performance is comparable but without hardware stalls, and
passes Xlib9.
Correct some bugs causing performance issues in the "Smart" scheme.
(exaImageGlyphBlt), (exaFillRegionSolid), (exaFillRegionTiled):
(ExaCheckSetSpans), (ExaCheckPutImage), (ExaCheckCopyArea),
(ExaCheckCopyPlane), (ExaCheckPolyPoint), (ExaCheckPolylines),
(ExaCheckPolySegment), (ExaCheckPolyArc), (ExaCheckPolyFillRect),
(ExaCheckImageGlyphBlt), (ExaCheckPolyGlyphBlt),
(ExaCheckPushPixels), (ExaCheckGetImage), (ExaCheckGetSpans),
(ExaCheckSaveAreas), (ExaCheckRestoreAreas), (ExaCheckPaintWindow),
Improve EXA fallback debugging output to include the locations of
pixmaps.  This is being used in tracking down recent compositing
performance regressions.
Add trivial PolySegment acceleration for 0-width horizontal/vertical
lines, which still happen somewhat frequently and were cluttering up my
fallback debugging output.  x11perf says it's a major performance win
in those cases (though probably irrelevant), and it passes Xlib9.
In drawing glyphs, shortcut our way to exaComposite instead of going
through the whole CompositePicture stack and doing things like computing
damage over again.  This is a sizeable win for text drawing with a
compmgr.  Also avoid calling down into the server for dealing with the
scratch pixmap when we are able to do UploadToScreen successfully and
never need it.

Add a helper for the Component Alpha Over case, which breaks the
operation down into an OutReverse and an Add.  Turn off the fallback to
software glyphs when component alpha, now that we expect all (new)
drivers to be able to support it.  Also, make Xephyr fall back in the CA
Over case to exercise this code.  This speeds up my rgb24text and
ls -lR in gnome-terminal by a factor of 5.

Bug #6751: Use the Linux PCI ROM interface on Linux properly
The old domain code, still modified BARs not a good idea,
Just talk to sysfs, if 0 read, fallback to old methods.

Bug #6750: This patch detects Intel bridges that are transparent
but aren't reported as such. From the Linux kernel fixups.
This patch also removes the reserved BIOS area from the
area to allocate resources in.

Improve the migration debugging output.

Fix a bug in the intersection computation that could concievably cause
incorrect results to be returned (but would probably usually be

Bug #4668: Check if the lists of glyphs don't have any intersecting
glyphs, and if they all have a maskFormat matching the format of the
actual glyphs  If so, we can avoid the temporary pixmap for accumulating
glyphs, which reduces the number of operations done, and makes it easier
on the migration system.  This fixes some significant performance
issues, particularly with subpixel antialiasing.  Note that it does
increase the amount of damage computation which is done, so is not
always a win with a compositing manager running.

Add an option to verify at the point of migration that pixmaps which
aren't marked dirty are in fact not dirty.  This will hopefully help
catch issues like the previous commit.  Leave it on in fakexa.
Don't forget to mark the drawable as dirty in exaPutImage().  Fixes
corruption with drivers that have UTS.  (Michel Dänzer)

Remove another reference to cfb16.

strlcpy() doesn't exist on Linux, so use the implementation in os/.

Don't access free memory after unloading a module.
Bugzilla #4168.

When reading the kernel keyboard mapping (readKernelMapping in
os-support/linux/lnx_KbdMap.c) we overrun the usefully-named global array
'map', scribbling on other random static variables elsewhere. This
is fixed by changing the size of at2lnx. (David Woodhouse). Bug #5169

(fbStore_x4a4), (storeProcForPicture):
Add support for x4a4 format (depth 4 at 8bpp). Bug #6325.

Add a new migration scheme, called "Smart" for lack of a better name.
This one behaves somewhat between Greedy and Always.  It moves in if we
can accelerate, unless the destination is clean and shouldn't be kept in
framebuffer according to the score, in which case we migrate out (and
force-migrate anything where migration is free).  This should help fix
lack of acceleration for drivers without UTS since removing
exaAsyncPixmapGCOps, and has removed one performance trap with Radeon
I'd noticed.  It is the new default.

Fix exaGetPixmapFirstPixel to migrate as unaccelerated.  Also adds a bit
of fallback debugging info to PolyGlyphBlt.

Update all prefixes in config tools, so they mostly work again. Also, make
RgbPath commented out when using xorgconfig. Start using /dev/input/mice as
the default mouse location on Linux.

Wrap a couple more SDK headers in if XORG, as per Dave Airlie's commit on

Fix kdrive build by linking in libexa before KDRIVE_LIBS.

Coverity #804: Another leak on OOM path.

Coverity #806: Another memory leak on OOM path.

Coverity #847, #848, #849: Three more memory leaks.

Coverity #1003, #1004: Two more useless null checks.

Coverity #1005: Avoid a null deref.

Coverity #1007: Fix a silly null check.

CVT means Coordinated Video Timing instead of Common.

Bug #6580: Don't install xf86drm.h, that's libdrm's job.

Coverity #323, #445, #446, #447: Fix potential NULL dereferences.

Coverity #169: Fix potential fgets() into NULL (?!?).

Coverity #324: Fix potential NULL dereference.  (Alan Coopersmith)

Coverity #340: Fix potential NULL dereference.

Clean up proliferation of 'register int n' in loops of ProcXkbGetNames.
Bump the ABI versions.  Due to Glyph privates and the XV update below,
the video driver ABI needs to be bumped to 1.0.  The rest of the ABI
minor versions were bumped to include the LoaderGetABIVersion

(xf86XVReputVideo), (xf86XVReputImage), (xf86XVPutStill),
(xf86XVGetStill), (xf86XVPutImage):
Add a DrawblePtr argument to the XV hooks.  This allows drivers to
determine that the target window is redirected and draw to the
appropriate place.

FreeResource instead of deleteCompOverlayClient()

Remove libc wrapper types from Xisb interfaces.

Coverity #1216: Fix double-close of file on error.

Coverity #987: Avoid potential NULL dereference.

Coverity #844, #845, #846: Fix memory leaks.

Coverity #826: Fix potential memory leak.

Coverity #333, #334 - eliminate unncessary test
for always true condition in fbEvenStipple.

Coverity #488: Avoid smashing an array on malformed config 

Coverity #769: Fix a potential memory leak for systems that 
allocate on malloc(0)

Coverity #838: Plug two more memory leaks.

Coverity #837: Fix another another memory leak.

Coverity #836: Fix another memory leak.

Coverity #835: Plug memory leak in extension section parsing.

Coverity #812: Fix parser memory leak.

Coverity #818: Avoid memory leak on error path.

Coverity #985: Avoid segfault on malloc failure.

Coverity #1037: Sanity check idx before use.

Remove cfb16, no longer used.

Put the screensaver extension back in the Xext module.
Move the screenSaverSuspended variable to DIX globals.
Restore the old link order for the Xorg and Xdmx binaries.

Include fbmmx.h when USE_MMX is defined.  Fixes build problem on
x86-64 resulting from fbHaveMMX being a macro instead of a function
on that platform.

Bug #5729: Convert xf8_16bpp to fb.  chips(4) users please test.

Bug #5300: Fix missing spaces in the Build OS line in the log. 
(Egmont Koblinger)

Bug #4806: Dump the raw EDID contents in hex to the log file for
better debugging.  (Philip Prindeville)

Bug #2142: Make font path logging more readable. (Eduard Fuchs)

Bug #4766: Convert all Xprint drivers to fb.

Bug #5478: More use of fbSOlidFillmmx.  (Jim Huang)

Bug #6346: Build fix when using gcc -mno-sse. (Jonathan 

Bug #1358: Make ISO_Prev_Group cycle/wrap as ISO_Next_Group does.

Coverity #38: Dead branch elimination.

Coverity #75: Dead variable elimination.

Coverity #82: Dead variable elimination.

Coverity #271: Fix an unbelievably boneheaded NULL chase.

Coverity #616: Fix a rare memory leak.

Coverity #833: Fix a rather nasty memory leak.

Coverity #983: Move some risky debugging code inside #ifdef 

Coverity #986: Prevent a NULL chase.

Coverity #992: Prevent a NULL chase.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: Digital signature
Url : http://lists.freedesktop.org/archives/xorg-announce/attachments/20060603/1e6333ef/attachment.pgp

More information about the xorg-announce mailing list