XFree86 4.0.2 Released
XFree86 4.0.2 is officially
out now. Besides adding a driver for those us with S3 Savage chipset based laptops, support for a variety of other chipsets, mesa updates,
improved DRI support, this new release adds the Render extension which
will hopefully give us anti-aliased fonts, alphablended menus, and a stromboli delivered nice and hot to your door. Mmm. Strom.
The reason you're seeing such delays at startup is because Gnome and KDE are huge, versus the X4 server which starts very quickly. I run X 4.0.1 with the latest and great version of WindowMaker, and startup from the time I type 'startx' to the time it's finished loading is under 5 seconds on a PIII-550. Needless to say TWM and others less intensive (Blackbox is great) start up even faster. Try just running 'X' if you don't believe me, and you'll get the standard gray screen in about 2 seconds. A lot of time the X server might start up slowly if it can't reverse resolve itself for whatever reason, so make sure your own machine is in /etc/hosts.
Interested in open source engine management for your Subaru?
Is there any text that explains the new XFree 4 infrastructure in plain english?
you've got:
DRI,
GL, GLU, GLUT, GLX,
Mesa,
Utah GLX,
SDL...
I know very little about X/video rendering, but I'd like to upgrade to XFree4 and actually know what pieces of the puzzle i need.
Does DRI replace Mesa? Does Utah GLX replace DRI for cards it supports? Is Mesa even needed? Is plain Mesa included in the Xfree source tree, or is it a fork? If I don't have a 3d card, does mesa still install as a software renderer? Does this give better performace over the 1fps syndrome in xfree3/windows95? Are any of the projects I named obsoluted by the new infrastructure? (utah glx comes to mind...)
maybe someone here can explain it on a level somewhere in between the "gimme URLs of the RPMs so i can upgrade my redhat box" and the in-depth developer documentation on the dri/utah glx pages.
Hopefully any responce would also give others the confidence to take on this new infrastructure.
Also, does the new "render" extention take effect automatically for all new programs compiled that link to the standard libraries?
Yes, one of the design goals of the DRI was accelerated windowed 3D. Sometimes a certain feature might only be available when fullscreen rendering (eg, page-flipping) but these are exceptions to the rule.
Another design goal of the DRI was multiple simultaneous 3D clients. At the moment you might lose hardware acceleration for some clients if you've got too many OpenGL clients running at the same time. It depends on the hardware.
The X11 protocol and Xlib are not at the level of abstraction of the Windows GDI, Postscript, or other, similar APIs; they are lower level. Anybody dealing with them needs to write a lot of code dealing with different device classes. In X11, you get a Windows GDI-like API, with all its conveniences and limitations, more at the level of the toolkits. Such toolkits can then provide you with antialiased rendering when available without code changes. GTK, Qt, fltk, and wxWindows all have hooks for putting this functionality in.
As for Render, it's got everything but separate alpha, polygons and image transformations. Put another way, it's got just enough to manage anti-aliased text and alpha compositing images.
Volunteers to create software renderers for triangles, trapezoids and image scaling are welcome to help. For the polygons, all that I want is code that takes a triangle (or trapezoid) and generates an A or ARGB map, that way I can layer the result over existing compositing acceleration.
As for doing antialiasing behind the scenes in an X11 server, a hack like that may work most of the time, but it deviates from the definition and may break some applications. Doubtlessly, the same thing was true when Microsoft added antialiasing to Windows, but Microsoft controlled the Windows API. Hummingbird doesn't control the X11 API and if they deviate from the specs in this way, they are simply providing you with a broken X11 implementation.
You need to build/install FreeType2 and then build/install the Xft library with FreeType2 support. Yes, this is a pain, but I expect Linux distros will include support by default.
Owen Taylor is hard at work getting Xft working with GTK+ 2.0, KDE has taken my Qt patches and incorporated them into their copy of the Qt tree. We're on our way to the magical land of anti-aliased text, and it's happening faster than I thought possible even a couple of months ago.
>>never knew VA was a non-profit org
Not intentionally.
Bwahahahahahahahaahahahahah.
Correct.
False. Several of the drivers do special things because of these security issues. For example, cards with programmable DMA destinations have those parts of the cards hidden as kernel ioctls.
False. One of the design goals of the DRI was non-root direct hardware access. There is further discussion of this topic here.
In particular... "The direct-rendering clients, however, do not run as root, but still require similar mappings. Like /dev/mem, the DRM device
interface allows clients to create these mappings..."
The KGI has different design goals. It is closer in spirit to linux-fb. It is arguably not suitable for high speed 3D like the DRI.
Your understanding is a little flawed. There is some very good information on dri.sourceforge.net and www.precisioninsight.com. The whitepapers on Precision Insight's website are excellent.
The first problem would have required a significant new extension to codify the information available in current font files and still not solve the problem for future font file formats.
The second has traditionally been solved by creating an application-specific font server. What a kludge.
The third would be relatively easy to add to the existing core fonts, but would have required requests to transmit the new metric information.
Instead of a collection of ugly kludges, a new font mechanism was created placing the burden for locating and loading fonts squarely in the clients space while the X server handles what it does best -- drawing stuff on the screen. While this has been done in the context of the Render extension, the advantages for applications and toolkits is enormous. You should see Owen's changes to Pango using this stuff, he's able to directly access the font file information for composing glyphs together.
However, I agree that building a system which makes all font handling dependent on the toolkit is a bad idea. Towards this end, I've started on the Xft library which is the part of XFree86 designed to make font file access and glyph rasterization consistent across all X applications. Applications are free to go around Xft and do their own thing, but Xft is a thin enough layer and provides transparent access to the FreeType library which accesses the font files so I think this won't happen. I've built Xt applications, changed Tk and Qt and seen changes to GTK+ all using Xft. The results provide identical glyph images and a single location for font configuration throughout my desktop.
Probably the biggest advantage of the new system is that even if the current Xft library turns out to be irreparibly broken, we can pitch it on the scrap heap and start over without changing the X server. Extensions are hard to get propagated to every desktop; libraries can be shipped with applications and installed without trouble.
I added sub-pixel sampled text with very minor changes to the Render protocol; I can add sub-pixel positioned text without any changes at all. Glyphs are now rasterized on-demand, rather than having the entire font done when opened. This means using 10646 encodings is finally feasible within X; Qt, Tk, Java all use 10646 internally, now X can support that natively with no tremendous performance hit.
This can be viewed as the Unix lesson all over again; parts of the system which can easily be done outside of the "kernel" (X server) should probably be done there. In this case, the advantages are overwhelming.
Comment removed based on user account deletion
I spent last night downloading XFree864 from CVS and compiling, now binaries are out! Well, I did it for anti-alias support anyway so no loss.
b le/freetype2-current.tar.gz
/usr/local
I'm writting this using KDE2's konqy fron CVS (also last night) with anti alias text and it looks great.
There is a real easy way (?) to set this up without applying patches to QT etc. A Simple HOWTO based on what I did is below HOWEVER, I have no idea if this is needed for the final 4.0.2 release.
Download, make and make install freetype2 from www.freetype.org, this should be a recent CVS checkout or snapshout, i used this: ftp://freetype.sourceforge.net/pub/freetype/unsta
Download X in source form, create the file:
xc/config/cf/host.def
To have this line:
#define Freetype2Dir
Make and install X with make World & make install.
Get an updated qt that contains the patches to use the new render, the easiest way to do this is to do a qt-copy checkout from kde's anon CVS. This already has the patches applied and a configure option to turn on render use.
Configure qt with:
./configure -xft -sm -gif -system-jpeg -no-opengl -no-g++-exceptions
make QT...... You now have a QT with render support, anything you compile against it will get anti-aliased text including the whole of KDE2.
Good luck!
A journey of a thousand miles starts with a brutal anal raping at airport security
However, there is a GeForce2 driver in the release, but the acceleration is little, due to the simple fact that their are not specs for an opensource GeForce2 driver. (IE: the people that developed the closed source GeForce driver, can't talk about it...) Also note, that the Radeon driver does not yet provide 3d DRI support, and that is forth coming.
Three cheers to the DRI and XFree86 guys for their continued hard work, which trully shows in this product. Please let the mirrors update, though.
Happy downloading.
------ 24.5% slashdot pure