WineHQ

World Wine News

All the news that fits, we print.

08/15/2003
by Brian Vincent
Issue: 183

XML source
More Issues...

This is the 183rd release of the weekly Wine Weekly News publication. Its main goal is to have aspirations of going on tour with a rock band. It also serves to inform you of what's going on around Wine. Wine is an open source implementation of the Windows API on top of X and Unix. Think of it as a Windows compatibility layer. Wine does not require Microsoft Windows, as it is a completely alternative implementation consisting of 100% Microsoft-free code, but it can optionally use native system DLLs if they are available. You can find more info at www.winehq.org


This week, 141 posts consumed 378 K. There were 48 different contributors. 26 (54%) posted more than once. 22 (45%) posted last week too.

The top 5 posters of the week were:

  1. 20 posts in 58K by Dmitry Timoshkov
  2. 14 posts in 37K by Dimitrie O. Paun
  3. 10 posts in 23K by Alexandre Julliard
  4. 7 posts in 21K by Vincent Béron
  5. 7 posts in 22K by Shachar Shemesh

News: Wine-20030813, Interview with Francois Gouget, Linux Format Mag 08/09/2003 Archive
News

Wine-20030813 was released. From the announcement:

WHAT'S NEW with Wine-20030813: (see ChangeLog for details)

  • Partial implementation of the Microsoft Installer (msi.dll).
  • GUI for regedit (from ReactOS).
  • DirectMusic dlls reorganization.
  • Many Wininet improvements.
  • Lots of bug fixes.

Go forth, download , and compile.

At one time I subscribed to just about every Linux magazine out there. As a sys admin it was a necessary part of my job. Linux Journal, Linux Magazine, Sys Admin, even PC Magazine were required reading. I left that world though and for the most part I don't read those any more. In fact, I find a lot of it fairly boring now. (I also think the articles in Sys Admin have gone downhill a bit, but that's another story.) Perhaps I've just gotten better at separating the crap articles from the truly useful ones and can read everything I want in ten minutes at the bookstore.

That's exactly what I was doing the other day when I ran across Linux Format . I've seen it before on the shelves but always hesitated to buy it - I'm always wary of magazine skrinkwrapped in plastic with a CD full of software I've never heard of. Especially when it's an import magazine (Linux Format is British) and costs $13.95. The headline on the front on the front caught my attention though: "Use Wine To Run Windows Software" .

Wow. Needless to say I'm quite impressed with it. The Wine articles were a decent introduction to the project. They contained multi-page sections on CodeWeavers and TransGaming. Also scattered throughout the magazine and it's supplement were quotes and other references to Wine. But what really caught my attention was the quality of each article. They were timely and provided information for both home users, IT managers, and developers. The page layout is excellent; chock full of nice graphics and loaded with screenshots. It came with a bunch of CD's, one of which has the word "Wine" on it. I haven't had a chance to check it out yet. Unfortunately a subscription for North American readers is a little pricey - over $100. If you happen to be in the bookstore, and an article on the cover catches your eye, I highly recommend purchasing it - from what I've seen it'll be worth it.

Oh, and before anyone says anything, I did notice some of the details on Wine development was wrong. I don't think it's worth nitpicking though.

Jeremy Newman attended LinuxWorld last week, so you may have noticed the last WWN issue arrived a few days late. Just a reminder you can always find the same content at both Zack Brown's Kernel/Traffic / Wine Traffic and WineHQ . One may appear before the other depending on the schedules of Zack and Jeremy.

We posted our 11th interview with Wine developers early this week. Francois Gouget discussed a broad variety of topics including Wine's conformance suite and how to attract new developers.

Google scares me. Wine Traffic issue #182 was posted last Friday and I discovered on Monday it was already indexed.


BiDi Test Program 08/12/2003 Archive
Internationalization Utilities

Shachar Shemesh posted a message for packagers or other folks interested in BiDi support:

Attached is a simple program to test whether the Win32 API supports BiDi reordering. Some packagers asked me for such a utility in the past, so they can make sure that their inclusion of ICU worked, and without forcing them to actually understand languages that are all Hebrew to them.

I'm not sure whether it would be necessary to include this utility inside the Wine soure, or how to do so. This is not exactly a test, as a failure is totally justified under some circumstances.


Configuring Keyboard Layouts 08/09/2003 Archive
Internationalization

Raul (last name unknown) asked, couple years ago, when i sent the estonian layout patch, worked fine put now im using redhat 9 and detects wrong layout (Latin American keyboard layout) is there some changes that breaks the layout or im making something wrong?

Dmitry Timoshkov felt the problem was elsewhere:

The changes have been made on the XFree86 side, not in Wine. It seems that XFree86 guys have corrected all their keyboard layouts to have no more than 2 keysyms per keycode in the single layout. As far as I can track it down that work was started for 4.2.x and with 4.3.0 (almost?) all keyboard layouts in XFree86 were fixed.

BTW, what wrong happens if your keyboard was misdetected? In the current CVS all national characters should work fine regardless what keyboard layout was detected. Is that only a warning message which makes you worry?

That prompted Shachar Shemesh to ask, Does this also apply to UTF-8? I, for one, still can't get any characters recognized when the locale is UTF-8.

After some debugging, Shachar posted again, After some messing around, and kind help from Dimitry, the problem was that my locale was not set correctly. Setting the locale to en_US.UTF-8 (with the dash, and in upper case) works with both wine and xev. Any other combination (utf8, UTF8, etc.) works with konsole, openoffice, kedit, and just about any other program I tested, but not with wine and xev. You live and you learn, obviously.

Phil Krylov also ran into some problems and reported some settings that worked better for him, Ah, it must be my fault - I used LANG instead of LC_ALL. Using LC_ALL=ru_RU.UTF-8 and your latest patch (ignoring XK_ModeSwitch), my keyboard started working perfectly.

He then corrected himself and mentioned it was ru_RU.KOI8-R that worked. It seems there was a problem with UTF-8 and Dmitry felt X was to blame, It must be a bug in the XmbLookupString implementation of XFree86. It seems that it doesn't respect UTF-8 locale, while works fine in others.

He went on to explain, XFree86 uses C locale, not UTF-8 one. As I wrote previously, test with 'xev' first. As soon as it starts to work, Wine should work as well.

Shachar wanted to know why everything else would work fine with the wrong locale while Wine didn't. Dmitry pointed out the difference: Okay I'll repeat: because everything else is using their own toolkits while xev and Wine talk directly to X Server using raw X11 protocol. It means that Wine *depends* on the correctly configured XFree86 and just can't compensate if XFree86 fails to work in the particular locale.


RedHat 7.3 RPMs 08/14/2003 Archive
Build Process

Matt Seitz wanted to know how he could go about getting a recent RPM for RedHat 7.3. Vincent Beron, the RedHat packager, had a hard drive crash that prevented him from having a usable RH 7.3 system. He suggested building it from source:

If you're willing to put your hands at it, you can begin by downloading the RH8 SRPM and rebuilding it (ideally after changing the extraversion to something else). I can't think of something going wrong, except if RH7.3 doesn't have the necessary version of some build tools (autoconf, gcc, etc.). If something goes wrong, try to investigate and fix it (obviously). I can't recall something possibly causing problem though.


Feature: Wine History 08/06/2003 Archive
Documentation

I apologize for how short this week's issue is. I've been rather busy this week. Several threads were almost included, but they didn't really seem to have a lot of appeal outside of a few developers. This is a good time to put in a special feature section. It's been years since a "Feature" article was included in the Wine Weekly News. I've been working on a short history of Wine for the website and it's almost done. Consider this an almost completed draft:

Wine's roots can be traced back to 1993. At the time several forces were converging that made running Windows applications appealing. Microsoft had successfully steered it's Windows program to the forefront of personal computers. IBM had hopes that OS/2 would catch on, but even they admitted that support of Windows programs was necessary and built the ability into their product. The free software movement spawned in the eighties was rapidly gaining ground as people discovered it was possible to run a multiuser, multitasking operating system on a PC.

Sun's acquisition of Praxsys Technologies in September of 1992 led to the development of a product called Wabi. Sun first demonstrated the software at the 1993 Solaris Developers Conference. It allowed users of Solaris x86 and Solaris 2.2 for SPARC to run Windows applications out of the box. Other products at the time allowed Windows programs to be run, but they required machine-level emulation and the installation of DOS and Windows. Wabi was unique in that it allowed Windows windowing calls to be translated directly to X Windows calls. By emulating the rest of the x86 code it was possible to actually run Windows programs faster on a RISC workstation! Wabi's more advanced features included Bitstream's font handling technology to handle TrueType fonts.

Users of the upstart Linux operating system began discussing the possibility of a similar approach in June of 1993. At the time, the chances of Wabi being ported to Linux were slim to none. A mailing list was set up to facilitate discussion. The name "Wine" was quickly adopted. Several of the early developers included some of the first Linux kernel hackers including Eric Youngdale and David Metcalfe. Other recognizable names included Alexandre Julliard who now leads Wine and Miguel de Icaza of GNOME fame. Bob Amstadt headed the development.

Initial work consisted of getting a program loader working that could run Windows' 16-bit binaries. That work was primarily headed by Bob. Alexandre's involvement centered around merging windowing functions written by Peter MacDonald in Tcl/Tk. Progress moved along quickly, and within the first 6 months it was possible to run Solitaire. November of 1993 also saw the first port of Wine to another architecture - John Brezak submitted patches to allow Wine to run on NetBSD. Bob estimated that with the current rate of development the team was six months to a year away from release. Ironically, Wine continued to be six months to a year from release for the next decade.

Early communication between developers took many forms, including the linux-kernel mailing list. The very first Wine mailing list was operated by Robert to allow discussions between developers. After a year with many successes and growing interest in the project they asked for the creation of the newsgroup comp.emulators.ms-windows.wine. The vote was overwhelmingly in favor of its creation and it became part of the Usenet hierarchy on July 19th, 1994. The current mailing lists where most development is discussed were created by Doug Ridgway in October, 1998.

The early years saw many changes to Wine's development. Robert stepped down in 1994 and Alexandre took over development. Windowing was rewritten as straight Xlib calls. Perhaps most importantly, Microsoft began releasing 32-bit code and adding new functionality to their operating systems. It was no longer enough to just load code and run it, a tighter integration was needed with the underlying operating systems (primarily Linux.) Mechanisms needed to be added that supported network connections and registry files. Wine's architecture had relied on a shared address space between applications. Gradually it became clear that address space separation was needed to increase security and support shared libraries trying to access the same space. Work commenced in early 2000 and continues to this day.

Alexandre recalled some of the early milestones for Wine in a keynote he gave at WineConf:

  • May 1995: beginnings of Win32 support
  • July 1995: switch to autoconf
  • January 1996: Word and Excel reported to run
  • November 1997: Creation of winehq.org web site

Volunteers began contributing to aspects other than programming. John Sheets and Susan Farley worked on some of the original documentation. Doug Ridgway set up the WineHQ web site in 1997. The site was taken over by Corel for a few years, and then CodeWeavers took it over from them in March, 2002. Jeremy Newman now serves as the webmaster. The Wine Weekly News first appeared on the web site in 1999. Originally authored by Eric Pouech, Brian Vincent took over in 2001. Over the past few years several features have been added to the web site. A redesign in early 2003 added several pages to help new users get acquainted with Wine, project lists for developers to think about, and a large list of frequently asked questions.

In 1998 a strategic decision was made by Corel to wholeheartedly support Linux. The key elements were centered around providing a Linux-based system that was both simple to install and easy to use. To this end, they sought to provide both a Linux based distribution and support for their applications. Corel's suite of office programs demanded a high level of Wine sophistication. For the first time in Wine history commercial development was funding it's development. Corel maintained a great relationship with Wine, partly due to the involvement of another company doing a lot of the work - CodeWeavers.

The bubble soon burst. Rumors began circulating at the end of 2000 that Corel would discontinue it's support for Linux. By early 2001 Corel officially announced it would spin off it's Linux division. Their support for work on Wine ended.

It wasn't long before others joined in to fill the void. By this time Alexandre had already taken a position with CodeWeavers doing much of the low level work on Wine. CodeWeavers had gotten involved with Wine in 1999 and were contracted by Corel to improve parts of Wine that would benefit Corel's applications. CodeWeavers began developing their own products and putting a lot of polish on Wine. Their own version of Wine included graphical management tools and an easy setup. Several distributions made it available for download. Their first product, CrossOver Plugin, allowed Linux users to run Netscape plugins designed for Windows. Newer versions of the product have added support for even more plugins. They released CrossOver Office in March, 2002 to provide support for office applications like Excel and Lotus Notes.

TransGaming formed in August of 2001. Gavriel State, who had been with Corel, left and formed his own company. Newer PC games had been focusing on Microsoft's DirectX interfaces for everything from input devices to 3D acceleration. By tying it to their operating systems it made porting games to different platforms very difficult. DirectX support in Wine was first added by Marcus Meissner in 1997 and was very limited. Gav sought to commercialize the development of it and create a new version of Wine designed for gamers. More technologies than just DirectX were needed and some of the early work focused on including support for copy protection measures. WineX 1.0 was released in October of 2001 with support for six games.

Also in 2001 another company announced intentions to work with Wine. Lindows.com wanted to create a Linux distribution that was simple to use and let users run Windows programs. It wasn't long before they abandoned the idea in favor of native Linux applications. Before that happened they sponsored WineConf - a three day event in March,2002 that brought together developers from around the world. To make matters more interesting, on the eve of the conference the Wine community had concluded another licensing <s>flamewar</s> discussion.

Wine's storied history of licensing has sparked many debates. The issue of licensing surrounds itself with two primary areas - the license of the Wine code itself and the license of applications produced using Winelib. The Wine developers' goal is to give people the ability to both implement and add to the Wine project in such a way it doesn't hinder others from doing the same. At the same time they want to give other developers the chance to port their application without the fear of being bound to a software license that prevents them from doing what they want with their creation.

In the beginning, Wine adopted a BSD-style license. At the end of 1999 discussion began about changing the license. Richard Stallman had pointed out that it was incompatible with the GPL which potentially causes problems with any open source project wishing to use Wine code. Most developers didn't see a need to craft a new license and the X11 license, a derivative of the BSD license, had the most support. A vote was called for and in January of 2000 Alexandre announced that it would become the new license of Wine.

In March of 2002 a poll was conducted among both the free and commercial developers of Wine to see if there was interest in moving to a different license. Most developers did not want their code to be appropriated by a commercial entity and there were concerns that might happen. After much debate they chose the Lesser General Public License and on March 9th, 2002 the Wine source code became bound to those terms. The LGPL, often referred to as a "copyleft" license, required the Wine developers to abide by some guidelines:

  • All changes to the source code must be made available
  • Anyone redistributing Wine must provide access to the source code under the original terms of the LGPL
  • However, anyone who wishes to simply "link" their own Windows program to Wine can do so without having to make their source code available.

The immediate effect was the creation of the ReWind (http://rewind.sourceforge.net ) project to further the X11-licensed codebase. Many key developers agreed to allow their additions to be used by both the X11 and LGPL Wine code. Some have decided to focus their efforts on synchronizing with ReWind and others with the LGPL'ed Wine. Picking a favorite software license is left as an exercise for the reader.

Wine has grown to over 1.4 million lines of C code over the past decade. Nearly 600 people have contributed in some fashion. As always, you can expect Wine to be released sometime this year; or maybe early next year. Or perhaps we'll just wait for you to become involved and finish those important user interface and documentation bits.

Comments and criticism are welcome, my email address is vinn -at- theshell.com. I'm also looking for some help to go through old Usernet archives and pull out some quotes.


All Kernel Cousin issues and summaries are copyright their original authors, and distributed under the terms of the
GNU General Public License, version 2.0.