XFree86 4.3.0 Released
Dunkalis writes "The latest version of XFree86, 4.3.0, has been released! Release notes here, mirrors here. Enhancements include drivers for newer Radeons, better PS/2 protocol detection, the XRandR extension, better font support, and more!" Source tarballs are available, or wait for your distribution to package them...
Previous: Introduction to the 4.x Release Series
Next: Drivers 2. Summary of new features in 4.3.0. 2.1. Video Driver Enhancements
- ATI Radeon 9x00 2D support added, and 3D support added for the
Radeon 8500, 9000, 9100, and M9. The 3D support for the Radeon
now includes hardware TCL.
- Support added to the i810 driver for Intel 845G, 852GM, 855GM
and 865G integrated graphics chipsets, including 2D, 3D (DRI)
and XVideo. Support for the 830M has been improved, and XVideo
support added.
- National Semiconductor SC1x00, GX1, and GX2 chipset support added
with the "nsc" driver.
- Support added for the NVIDIA nForce2 integrated graphics, GeForce 4,
and GeForce FX.
- Major SiS driver updates for some of the latest chipsets. Unfortunately
the SiS 3D driver has had to be disabled because no one has yet
taken up the challenge to port it to Mesa 4.x.
- The s3virge driver now has support for double scan modes on the DX
(with XVideo disabled).
- Updates to the savage driver, including fixing problems with the
TwisterK, and problems with incorrect memory size detection.
- 2D acceleration added for the Trident CyberBladeXP/Ai1 chipsets.
- Support for big endian architectures has been added to the C&T
driver.
- Various updates and bug fixes have been made to most other drivers.
2.2. Input Driver Enhancements- The mouse driver now has automatic protocol detection for PS/2 mice.
- Several new input drivers have been added, including tek4957,
jamstudio (js_x), fpit, palmax, and ur98 (Linux only).
2.3. X Server and Extension Updates- Support for the RandR extension has been partially integrated
into the XFree86 server, providing support for resizing the root
window at run-time.
- The Mesa version used for OpenGL 1.3 and DRI
driver support has been updated to 4.0.4.
- The XFree86 server's hot keys (including those for switching
modes and virtual terminals) can now be configured via XKB.
Previously they were hard coded. An X server configuration
option has been added to allow the VT switching hot keys to be
disabled.
2.4. Client and Library Updates- An Xcursor library providing support for alpha blended (ARGB)
and animated cursors. Two Xcursor themes are provided (redglass
and whiteglass), as well as the default "core" theme (the traditional
cursors).
- Xterm updated to patch level 173, including the following bugfixes:
- Modify xterm to invoke luit.
- Add simple session management client capabilities.
- Add a modifyCursorKeys resource to control how the shift- and
similar modifiers are used to make a cursor escape sequence.
- Check if the printerCommand resource string is empty,
and use this to allow the user to disable printer function.
- Sort the options list which is displayed in help- and
syntax-messages at runtime to simplify maintenance.
2.5. I18N and Font Updates- Fix two infinite loops (special cases of mouse hilite tracking,
DECUDK parsing).
- Make repainting of the 256-color example work properly.
- Modify parser tables to improve detection of malformed
control sequences, making xterm behave more like a real
DEC terminal.
- Fix a problem with the blinking cursor which occasionally caused
xterm to pause until a key was pressed.
- Fix improper parsing of multiple items in the ttyModes resource.
and the following improvements:- FreeType2 updated to version 2.1.1.
- The "freetype" X server font backend has undergone a partial rewrite.
The new version is based on FreeType 2, and handles TrueType
(including OpenType/TTF), OpenType/CFF and Type 1 fonts. The old
"type1" backend is now deprecated, and is only used for CIDFonts
by default.
- A new utility called "mkfontscale", which builds fonts.scale files,
has been added.
- The Xft library has undergone a major restructuring, and is now
split into fontconfig (which deals with font discovery and
configuration and is independent from X), and Xft itself (which
uses fontconfig and deals with font rasterisation and rendering.
The format of the Xft font configuration files has changed in
an incompatible manner.
- Support has been added to the Xft library to do rendering with the
core X11 protocol. This allows clients using this library to
render to X servers that don't have support for the RENDER extension.
- There has been a significant reworking of the XKB support to allow
multi-layout configurations. Multi-layout configurations provide
a flexible way of supporting multiple language layouts and switching
between them.
2.6. OS Support UpdatesA more complete list of changes can be found in the CHANGELOG that is part of the XFree86 source tree. It can also be viewed online at our CVSweb server.
Not true transparency yet (waiting on Keith Packard's tranparency server for 5,0), but cursors can be colored, shadowed, animated, and themed.
A new utility, mkfontscale, is included with this version. This creates fonts.scale files. In the past, in order to install third party TTF fonts (such as MS corefonts), a utility called ttmkfontdir was often needed (except in distros like RedHat that took care in making everything "just work") to build the fonts.scale file. This program depended on Freetype 1.x libraries (which can't always coexist peacefully with freetype2), and was generally a PITA.
Slashdot: Where people pretend to be twice as smart as they really are by behaving like children.
XFree86 communicates with the local client over a Unix domain socket or a platform-specific transport (on SVR4 and Xenix, for example). In either case, there's no TCP involved.
It also uses shared memory to transmit images.
There have been some attempts to make XFree86 use a shared memory transport, but at least on Linux, it turned out that it's not worthwile. The kernel's Unix domain implementation turns out to be just as fast as any custom code that XFree86 could implement.
There is a workaround using XFree86 4.3 and a script I created. When combined the mouse fixes itself when switching machines for a second time. First you have to change the mouse type to auto from imps/2. Another workaround is to use ps/2 as the type, but then you lose your wheel. Then make this file, and make it excutable and setuid.
#!/usr/bin/perl
use strict;
use warnings;
use Time::HiRes qw(sleep);
open(OUT,">/dev/psaux");
print OUT "\xF5";
sleep 0.5;
print OUT "\xF3\xC8\xF3\x64\xF3\x50\xF2";
sleep 0.5;
print OUT "\xF4";
close OUT;
The above requires the Time:HiRes perl module and perl-setuid installed. You can likely remove the Time:HiRes requirement and sleeps, but not sure . Then you bind the script to the scroll lock key. I do this via sawfish, my window manager. But there are probably a dozen different ways to bind it. If you are switching between two Linux boxes both need the script and XFree86. I currently am switching between RedHat 8.0(4.2) and RedHat 8.1 beta3(4.3, phoebe3). The beta works right and the non beta doesn't. 4.2 does hae auto detection, but when I tried it and someone else tried it it said in the logs it couldn't detect the type.
Havoc Penington, the bane of my Linux desktop.
See the Gentoo Guide to USE Flags for more information.
Alpha blended cursors, but not true transparency?
That's what transparency is. Transparency is normally implemented using alpha blending. An alpha value of 1.0 is a fully opaque surface. An alpha value of 0.0 is a fully transparent surface. This can easily be done on a per-pixel level either by using a separate alpha map or by using a alpha channel on the main image.
Normally a 32-bit, RGBA image is used. This gives you normal 24-bit color, with 8-bits per channel for Red, Green and Blue. The extra space is an 8-bit alpha channel giving you 256 different levels of translucency.
I guess I'm just confused as to how you can have alpha blending, but not "transparency," as they are the same.
Justin Dubs
Since yesterday? You mean you got a head start yesterday. You'll still be emerging it when Debian Stable gets it. ;)
Bah. I emerged rsync at 12:00 today, and then niced an "emerge -u --deep world" shortly after that. On my dell 8200 laptop (1.6ghz), by 4:00 I had a shiney new X, mozilla 1.3_beta, and a whole bunch of other neat stuff.
It's not for someone with a p266 who wants to stay bleeding edge (bad idea anyway), but I see debian users complaing all the time (scroll up) about how it's gonna take forever for this stuff to even get into the unstable branch.
give gentoo a shot, portage rocks