Wine Traffic #131 For 6�Aug�2002

By Brian Vincent

Table Of Contents

Introduction

This is the 131st release of the Wine's kernel cousin publication. It's main goal is to distribute widely what's going on around Wine (the Un*x windows emulator).

Mailing List Stats For This Week

We looked at 155 posts in 857K.

There were 66 different contributors. 29 posted more than once. 32 posted last week too.

The top posters of the week were:

1. News: Wine20020804, CrossOver Office 1.2, WineX 2.1, Xandros beta 3

26�Jul�2002�-�6�Aug�2002 (3 posts) Archive Link: "News"

Topics: News

People: Alexandre Julliard,�CodeWeavers,�,�News,�Gavriel State,�codeweavers,�Jeremy White,�Xandros,�TransGaming

A new CVS drop occured on August 4th. Alexandre noted the following changes in the announcement (http://cvs.winehq.com/cvsweb/wine/ANNOUNCE?rev=1.65&content-type=text/x-cvsweb-markup) : "

"

CodeWeavers announced (http://www.codeweavers.com/about/press_releases/?id=20020807) CrossOver Office 1.2.0. The notable additions are support for Quicken and Visio. QuickBooks, while not officially supported, is reportedly working to some degree. Worth noting is a review (http://www.desktoplinux.com/articles/AT2282537026.html) with lots of screenshots. The second page (http://www.desktoplinux.com/articles/AT7614463206.html) of the review is actually an interview with Jeremy White.

TransGaming announced (http://www.transgaming.com/news.php?newsid=42) WineX 2.1 adding the ability to run even more games. Screenshots of some of new games include:

There were some other announcements out of TransGaming. First, a web store (http://www.transgaming.com/webstore_peek.php) is in the works and set to open soon. Gavriel State mentioned (http://www.transgaming.com/gavstates.php) that a source-enabled port of Kohan will be available from the store soon. Also of note are the winners of the "Name the Logo" contest. Thomas Wouters, Ethan James and Aaron Glover each suggested the name "Spike" for the TransGaming logo.

Some news (http://www.desktoplinux.com/articles/AT2929262760.html) out of Xandros this week points towards another beta release in August and release date of September or October. They plan to show off their desktop solution at LinuxWorld including "a spectacular office suite".

2. DIB Engine Update

5�Aug�2002 (4 posts) Archive Link: "GDI architecture"

Topics: Patches, X11 Tree

People: Jacek Bator,�Ove Kaaven,�David Hammerton,�,�Marcus Meissner,�Ove K�ven

Jacek Bator asked, " I'm tring to understand current wine gdi architecture, and as far as I see its strictly based on and mixed with XWindows. Is it inheritance of early development. Does any one tried ever to rewrite this layer not only to separate dll, but to implement real drivers for graphics rendering. "

Marcus Meissner pointed out that there were some abstraction layers there. Ove K�ven offhandedly mentioned, " David Hammerton is in possession of an experimental DIB engine of Wine, but I don't recall whether he ever got around to submitting it to wine yet." To which David replied, " Hmm, I thought you were going to check it into rewind Ove? maybe I'll resend it if you've lost it?"

Adding a DIB engine to Wine has been discussed in the past, Issue�#119, Section�#5� (29�Mar�2002:�Implementing a DIB Engine) Issue�#118, Section�#2� (18�Mar�2002:�Wineconf 2002 Resources and Summary) and it's really high on the wishlist items.

3. make depend: Just Do It

4�Aug�2002 (16 posts) Archive Link: "Isn't 'make depend' optional?"

Topics: Build Process

People: Bang Jun-Young,�Sylvain Petreolle,�Alexandre Julliard,�

Bang Jun-Young reported a problem building Wine:

I got the following error with wine-20020804 when I skipped 'make depend' before doing 'make':

[ link (http://www.winehq.com/hypermail/wine-devel/2002/08/0037.html) to error ]

A ton of people wrote back to inform Jun-Young to just do the make depend. If it worked in the past without it, then it was just luck. Sylvain Petreolle pointed out, " See configure output and follow its instructions - it says to run 'make depend && make'."

Jun-Young wondered why it was really required though. He felt the source code should compile without it. Several people admitted they didn't know exactly why it was there, just that it was needed. Alexandre explained:

" The reason is that some headers are generated at build time, and thus need proper dependencies in order to be generated in the right order. So we either have to require make depend before building, or manually maintain the dependencies for these headers. Neither solution is perfect, but at least the make depend approach has the advantage that it doesn't break if you change a #include and forget to update the makefile."

4. CUPS Printing

26�Jul�2002 (5 posts) Archive Link: "CUPS and Wine"

Topics: Integration

People: David Hagood,�Andreas Mohr,�,�Josh Thielen

David Hagood needed some advice on setting up CUPS printing:

I've been having trouble with my RH7.2 LPRng based printing, so I decided I'd try installing CUPS. After fighting for hours to get this so-called easier printing system installed and working, I finally got to where I could print from Linux apps. Now, however, Wine steadfastly refuses to bring up a meaningful print dialog.

I've gone into system.reg and win.ini and removed all the entries relating to the printing system, to no avail. Wine sort of recognises that there is a printer named "Color" managed by CUPS, but it cannot get any kind of properties for it - no paper size, no queue, and any attempt to accept the dialog is either ignored or results in a fault.

Andreas Mohr took a jab at CUPS first:

Yep, I've always been asking myself how this company came to name itself Easy Software Products. At least the CUPS install on Debian is rather problematic. You even have to type in printer URLs *by hand* in several cases ! The menu choices are not exactly non-confusing. A web-based system could be considered to be *made* for a good context-sensitive help system, yet there's none to be found.

CUPS *should* be totally easy to set up in Wine, yet for some reason Wine stumbles hard and dies instantly. If noone has a stab at fixing this, then maybe I'll have some time to fix it. Don't ask for a close look at my ToDo list, though... ;-)

Josh Thielen pointed that a bug (http://bugs.winehq.com/show_bug.cgi?id=823) had already been filed on it.

5. How to Maintain a Complete CVS Repository

25�Jul�2002�-�27�Jul�2002 (6 posts) Archive Link: "How to mantain complete CVS repository"

Topics: Build Process

People: Max,�Tony Lambregts,�Dimitrie Paun,�Steve Lustbader,�

Max had a question about maintaining an up to date copy of the Wine code, " I downloaded complete CVS wine repository, but the instructions on how to use CVSUP to mantain it up to date are not complete (for me at least !). Can anybody explain me how to do it ?"

Tony Lambregts suggested:

When I update from CVS I use

The configure is optional if no makefiles have been changed.

Dimi Paun does it a different way:

Here is my setup:

What I do then is:

When I want to update, I do:

Everything else is as if you work directly with the WineHQ tree, only _a_lot_ faster.

Steve Lustbader asked when it's necessary to run wineinstall. Tony Lambregts explained:

wineinstall sets up your ~/.wine/config file and the default registries in addition to compiling wine so most of the time if you already have these set up then it is not nessesary to use wineinstall.

However the structure of both the .wine/config and registries and thier contents has changed over time and as new features are added to wine. For example over time more functionality has been added to the various dlls and in the default config file various dlls now default to builtin rather than native. So running wineinstall once a month and letting it overwrite your old config is not a really bad idea. Your old config is called config.sav and you can run "diff -u config.sav config>config.dif" to see what it has changed.

6. Dinput and StarSiege Tribes

22�Jul�2002�-�28�Jul�2002 (12 posts) Archive Link: "Dinput - Keyb Bug"

Topics: Fixes

People: Kristoffer Ericson,�Steven Edwards,�,�Jesse Allen,�Lionel Ulmer

Kristoffer Ericson was looking for some help to get a game working:

I'm trying to get StarSiege Tribes (1) to work, and from what i gather is it suffering from a quite common wine-gaming-problem (both wine & winex).

The game starts smoothly enough but keyboard is dead. When i press any key it will instantly drop out and quit. No error message or breaks. Considering the keyboard makes you move it basicly leaves you jumping up and down shooting at everything that comes..=) Other than the keyboard error tribes runs fine.

Steven Edwards had a quick solution, " You need to use the windows dinput.dll as ours is (still) not up to spec. I used to play this game all the time under linux till tribes2. I dont know if this will work with the directx 8.1 but if you can find a dinput.dll from dx5 or 6 it should work. "

That seemed to work, but Kristoffer went on to mention some other problems such as sound not quite working right, OpenGL not working at all, and full-screen mode feeling sluggish. Lionel Ulmer asked for some debugging output which Kristoffer and Jesse Allen provided. Steven Edwards' solution for the hardware acceleration was to use older Voodoo cards with GLIDE since the game supported it.

7. Threading on Solaris

22�Jul�2002�-�25�Jul�2002 (5 posts) Archive Link: "Threading on Solaris"

Topics: Ports

People: Francois Gouget,�Gregg Mattinson,�

Francois Gouget reported a threading problem with Solaris:

Some time ago I did some tests of Wine on Solaris x86 and found that there is a problem with the way we handle threads due to the differences between the Linux and Solaris threading models. These differences are also relevant for Solaris Sparc and probably many other Unices.

Unfortunately I don't have time to work on it anymore so I created a bug report in Bugzilla where I tried to dump the relevant information, including a patch to illustrate the issues and the start of a fix. I hope it will be useful to someone... maybe Gregg who has been doing a lot of Solaris work recently.

http://bugs.winehq.com/show_bug.cgi?id=904 (http://bugs.winehq.com/show_bug.cgi?id=904)

In the bug report Francois noted the following details:

Wine and in particular the Wine server, need the following functionality:

  1. uniquely identify a thread in the system
  2. sending a signal to a specific thread
  3. precisely identifying a thread's parent thread (for handle inheritance when creating a new process, etc. It is a prerequisite for the debugger too)

Gregg Mattinson dived into it and came up with a patch a few days later. He noted the following changes:

Here is my first attempt at fixing threads for Solaris. This patch is based on the comments from and bug entered by Francois Gouget.

I compiled the wineserver under i386-solaris, and it runs. I do not have the resources to compile ALL of wine under i386, or on any OS other than Solaris so the linux and BSD portions of this code are completly un-tested.

ChangeLog:
Improved wineserver's handling of LWPs by following recommendations from http://bugs.winehq.com/show_bug.cgi?id=904 (http://bugs.winehq.com/show_bug.cgi?id=904) With LWPs (Solaris), each wine process contains the unix_pid, and each thread contains the LWP id. Without LWPs (Linux, BSD, ...) each process contains the unix_pid 0, and each thread contains the actual unix pid in it's tid member.

Sharon And Joy

Kernel Traffic is grateful to be developed on a computer donated by Professor Greg Benson and Professor Allan Cruse in the Department of Computer Science at the University of San Francisco. This is the same department that invented FlashMob Computing. Kernel Traffic is hosted by the generous folks at kernel.org. All pages on this site are copyright their original authors, and distributed under the terms of the GNU General Public License version 2.0.