<?xml version="1.0" ?>
<kc>


<title>Wine Traffic</title>

<author contact="http://www.theshell.com/~vinn">Brian Vincent</author>

<issue num="174" date="13 Jun 2003 00:00:00 -0800" />

<intro>
<p>This is the 174th release of the Wine's kernel cousin publication. 
  It's main goal is to be thankful for scripts that let you complete
  an issue before bedtime.
  It also serves inform you of what's going on around Wine
  (the Un*x windows emulator).</p>
</intro>


<stats posts="212" size="731" contrib="72" multiples="45" lastweek="30">

<person posts="21" size="48" who="Lionel Ulmer" />
<person posts="15" size="35" who="Sylvain Petreolle" />
<person posts="16" size="66" who="Raphael Junqueira" />
<person posts="10" size="22" who="Eric Pouech" />
<person posts="11" size="30" who="Mike Hearn" />
<person posts="7" size="18" who="Shachar Shemesh" />
<person posts="6" size="29" who="Carlos Lozano" />
<person posts="6" size="16" who="(fenix)" />
<person posts="6" size="14" who="Dimitrie O. Paun" />
<person posts="5" size="26" who="Francois Gouget" />
<person posts="5" size="16" who="OverrideX" />
<person posts="5" size="13" who="Gerhard W. Gruber" />
<person posts="5" size="9" who="hatky" />
<person posts="4" size="9" who="Gregory M. Turner" />
<person posts="4" size="7" who="Z_God" />
<person posts="3" size="62" who="Mathew McBride" />
<person posts="3" size="53" who="Jeremy Newman" />
<person posts="3" size="10" who="Jarmo" />
<person posts="3" size="9" who="Stefan Sperling" />
<person posts="3" size="7" who="Gerald Pfeifer" />
<person posts="2" size="24" who="Steven Edwards" />
<person posts="2" size="10" who="Moreno" />
<person posts="3" size="13" who="Tom Wickline" />
<person posts="2" size="7" who="Michael Stefaniuc" />
<person posts="2" size="7" who="Jeremy White" />
<person posts="2" size="6" who="Yorick Hardy" />
<person posts="2" size="5" who="Mark Hannessen" />
<person posts="2" size="5" who="Bill Medland" />
<person posts="2" size="5" who="Dmitry Timoshkov" />
<person posts="2" size="5" who="Steven Edwards" />
<person posts="2" size="5" who="Alex Pasadyn" />
<person posts="2" size="4" who="Roderick Colenbrander" />
<person posts="2" size="4" who="Brian Vincent" />
<person posts="4" size="8" who="Jason Edmeades" />
<person posts="2" size="4" who="Juan Lang" />
<person posts="2" size="4" who="Jeremy Newman" />
<person posts="2" size="4" who="Simon Comeau Martel" />
<person posts="2" size="4" who=" &lt;tux@leahcim.com&gt;" />
<person posts="2" size="4" who="Tom" />
<person posts="2" size="4" who="Alexandre Julliard" />
<person posts="2" size="4" who="Vincent Beron" />
<person posts="1" size="9" who="(edharley)" />
<person posts="1" size="5" who="Matej Spiller" />
<person posts="1" size="4" who="Lozano, Carlos A." />
<person posts="1" size="3" who="Rolf Kalbermatter" />
<person posts="1" size="3" who="Stefan Sperling" />
<person posts="1" size="3" who="Arne Falk" />
<person posts="1" size="3" who="Marco Pietrobono" />
<person posts="1" size="3" who="Rok Mandeljc" />
<person posts="1" size="2" who="Robert Shearman" />
<person posts="1" size="2" who="Uwe Bonnes" />
<person posts="1" size="2" who="Maxime Bellenge" />
<person posts="1" size="2" who="Martin Fuchs" />
<person posts="1" size="2" who="Oliver Sampson" />
<person posts="1" size="2" who="Gavriel State" />
<person posts="1" size="2" who="Emmanuel Goldstein" />
<person posts="1" size="2" who="Stefan Leichter" />
<person posts="1" size="2" who="Fabian Cenedese" />
<person posts="1" size="2" who="Christian Neumair" />
<person posts="1" size="2" who="Marcus Meissner" />
<person posts="1" size="2" who="Duane Clark" />
<person posts="1" size="2" who="Ferenc Wagner" />
<person posts="1" size="1" who="Rein Klazes" />
<person posts="1" size="1" who="Oleg Prokhorov" />
<person posts="1" size="1" who="Stephen Pedrosa Eilert" />
<person posts="1" size="1" who="Brian Vincent" />

</stats>

<section 
	title="News: SuSE Linux Office Desktop" 
	subject="News"
	archive="http://www.suse.com/us/company/press/press_releases/archive03/sld.html" 
	posts="1"
	startdate="07 Jun 2003 00:00:00 -0800"
	enddate="13 Jun 2003 00:00:00 -0800"
>
<topic>News</topic>
<mention></mention>
<mention>Microsoft</mention>
<mention>Mono</mention>
<mention>News</mention>
<mention>Codeweavers</mention>

<p><a href="http://www.suse.com/us/company/press/press_releases/archive03/sld.html">SuSE
announced</a> their "Linux Office Desktop" product this week.  CodeWeaver's
CrossOver Office 2.0 is integrated into it:</p>
<quote who="Suse"><p>
 SuSE Linux Desktop gives users the choice between deploying Linux 
 or Windows productivity tools. The product comes bundled with Sun 
 Microsystems' StarOffice 6.0 and OpenOffice.org 1.0.2, but users 
 can also install Microsoft Office -- ensuring familiarity, 
 flexibility and interoperability, while still taking advantage 
 of the stability and scalability that Linux delivers. The migration 
 of Microsoft Windows installations to SuSE Linux Desktop is just 
 as efficient and inexpensive as the extension of existing Windows 
 infrastructures with SuSE Linux Desktop. 
</p><p>
 Codeweavers CrossOver Office 2.0 enables the seamless utilization 
 of Word, Excel and PowerPoint from MS Office 97/2000/XP as well as 
 MS Outlook, Visio 2000 and other Microsoft applications. IBM Lotus 
 Notes can also be utilized on the SuSE Linux Desktop. 
</p><p>
 Agfa Monotype fonts ensure true format printing and display of 
 Microsoft documents. 
</p></quote>

<p>Mad Penguin put up a review and 
<a href="http://madpenguin.org/article.php?sid=255&amp;mode=thread&amp;order=0">gave
it high marks</a>.  Over at vnunet.com you can find some 
<a href="http://www.vnunet.com/News/1141536">speculation</a> on SuSE's
strategy.
</p>

<p>For the most part it's been a slow week.  Alexandre is still on
vacation; patches have trickled down to almost nothing.  He did a
CVS commit earlier in the week to help mitigate the backlog, but there's
still a lot piled up.</p>
</section>







<section 
	title="Game Compatibility List" 
	subject="Games compatibility list [20030607]"
	archive="http://www.winehq.com/hypermail/wine-devel/2003/06/0274.html" 
	posts="7"
	startdate="07 Jun 2003 00:00:00 -0800"
	enddate="08 Jun 2003 00:00:00 -0800"
>
<topic>Testing</topic>
<mention>Max</mention>
<mention></mention>

<p>Carlos Lozano posted a list of games he tested with Wine:</p>
<quote who="Carlos Lozano">
<p>
<u>Games compatibility list</u>
<table border="0">
 <tr><td>Date:</td>               <td>20030608</td></tr>
 <tr><td>Total games tested:</td>      <td>34</td></tr>
 <tr><td> </td><td> </td></tr>
 <tr><td>Games installed:</td>      <td>23/34</td></tr>
 <tr><td>Games playable:</td>      <td>11/34</td></tr>
</table>
</p><p>
<u>Games tested with</u>
<ul>
 <li> Clean fake windows. (a for every game)</li>
 <li> Winedefault.reg registry.</li>
 <li> The games are spanish versions.</li>
 <li> Tested only the fastest way to get in gameplay. (Do not buggy me 
   if the second level, or the "league" option, or the configure menu 
   don't work ;)</li></ul>
</p><p>
<u>Games</u>
</p><p>
Rogue Squadron. [20030605] *
<ul>
  Status: Unplayable.<br />
  Problems: Completely broken sound, intro very slow, and stops in 
   selecting player screen.
</ul></p><p>
Grim Fandago. [20030605]
<ul>
  Status: Playable.<br />
  Problems: No sound during intro.
</ul></p><p>
Superbikes demo. [20030605]
<ul>
  Status: Playable<br />
  Problems: No transparent background in some textures.
</ul></p><p>
Gta3. [20030605]
<ul>
  Status: Unplayable.<br />
  Problems: Unable to install. (Unhandled exception)
   (Better with stdole32.tlb, but anyway no install)
</ul></p><p>
Swat3. [20030605]
<ul>
  Status: Unplayable.<br />
  Problems: Unable to install. 
   (fixme:winmm:MMDRV_Exit Closing while ll-driver open)
</ul></p><p>
Railroad Tycoon 2. [20030605]
<ul>
  Status: Playable.<br />
  Problems: For install, you need "cd" to cdrom directory.
   Need a patched EXE, the original is protected. 
   The mouse's pointer disappears sometimes, you need move to the bottom of
   the screen to see it again.
</ul></p><p>           
NBA Live98. [20030605]
<ul>
  Status: Playable.<br />
  Problems: None.
</ul></p><p>
DeusEx. [20030605]
<ul>
  Status: Playable.<br />
  Problems: None. Only in software mode?
</ul></p><p>
Resident Evil 2. [20030605]
<ul>
  Status: Unplayable.<br />
  Problems: Need unmanaged in install.
   Stops during intro with "error. Opendriver"
</ul></p><p>
Fifa 99. [20030605]
<ul>  
  Status: Playable.<br />
  Problems: None. You need "cd" to cdrom directory.
</ul></p><p>
Star Wars: The Phantom Menace. [20030605]
<ul>
  Status: Unplayable.<br />
  Problems: Worked the 2 first times (but with mouse/keyboard problems)
   the next times what ran the game, it didn't start giving the error:
   Unhandled exception: divide by zero in 32-bit code...
   (Only software mode?)
</ul></p><p>
7th Legion. [20030605] *
<ul>
  Status: Playable<br />
  Problems: None.
</ul></p><p>
Max Payne. [20030605] *
<ul>
  Status: Unplayable<br />
  Problems: Not install. It says, install module does not found.
</ul></p><p>
The Sims. [20030605]
<ul>
  Status: Unplayable<br />
  Problems: Does not start to install.
</ul></p><p>
Fallout. [20030605]
<ul> 
  Status: Playable<br />
  Problems: None.
</ul></p><p>
Civilization Call to Power. [20030605]
<ul>
  Status: Unplayable<br />
  Problems: Click "Play", and it says "profile.txt not found in asset tree".
    "Unable to init the ProfileDB".
</ul></p><p>
Tony Hawks Pro Skater 2. [20030605]
<ul>
  Status: Unplayable<br />
  Problems: Need unmanaged to install. (Exception with managed)
    Stop when you run the game with saying: 
    "Debugger detected, please remove the debugger, and try again".
    (Safedisc V2)
</ul></p><p>
Gta2. [20030607]
<ul>
  Status: Unplayable<br />
  Problems: Tested with a patched EXE. Shows 2 screens, and then stop.
</ul></p><p>
Star Wars: Rebellion. [20030607]
<ul>
  Status: Playable<br />
  Problems: Needed the native file (d3drm.dll) to run.
    The intro movie had a lot of pauses. In gameplay there is some text
    what has incorrect color, what does it complex to read. The info windows
    are painted sometimes in incorrect order.
</ul></p><p>
Star Wars: Starfighter. [20030607]
<ul>                                                                                
  Status: Unplayable.<br />
  Problems: Unable to install. (Unhandled exception)
   (Better with stdole32.tlb, but anyway no install)
</ul></p><p>
Age of Mythologhy. [20030607]
<ul>
  Status: Unplayable<br />
  Problems: Unable to install. (stop in 5%)
   (Need mfc42.dll to start to install)
</ul></p><p>
Trickstyle. [20030607]
<ul>
  Status: Unplayable<br />
  Problems: Show the first tittle screen and after stops with
   a unhandled exception.
</ul></p><p>
Touring Car Championship. [20030607]
<ul>
  Status: Unplayable<br />
  Problems: Stops during install, with the error:
   "Error installing files".
</ul></p><p>
Revolt. [20030607]
<ul>  
  Status: Playable<br />
  Problems: Sound completely broken (except effects in gameplay).
   Missing some intro screens. Poly problems in select screens.
   Very slow loading levels (and start of the game). More poly
   problems in gameplay
</ul></p><p>
Theme Hospital. [20030607]
<ul>
  Status: Unplayable<br />
  Problems: Continues pauses in the intro video. Problems in graphics
   during videos (garbage squares). The mouse moves only to right or down,
   and it starts in the center of the screen, so you cannot start to
   play because can't select the option ;)
</ul></p><p>
Braveheart. [20030607]
<ul>
  Status: Unplayable<br />
  Problems: Intro movie is not visible (but you can hear it). The tittle
   screen has completely incorrect colors, and the mouse doesn't work.
</ul></p><p>
Anno1602. [20030607]
<ul>
  Status: Unplayable<br />
  Problems: Unable to install (need managed=N the first screen). Stops
   during install with "Unhandled exception".
   "0x40a1233d (StrRetToStrNW+0xf1 [shellstring.c:109] in shell32.dll.so): 
   movw    $0x0,0xfffffffe(%edx,%eax,2)"
</ul></p><p>
Midtown Madness. [20030607]
<ul>  
  Status: Uplayable<br />
  Problems: Unable to install. (Unhandled exception) 
</ul></p><p>
Driver. [20030607]
<ul>
  Status: Unplayable<br />
  Problems: Using a patched EXE due to protection. 
   Unhandled exception running the game, with the message:
   "Unhandled exception: inexact float result in 32-bit code (0x408ebeda).
   "0x408ebeda (WineEngCreateFontInstance+0x592 [freetype.c:492] 
   in gdi32.dll.so): fldcw    0xffffff72(%ebp)"  
</ul></p><p>
Rainbow Six. [20030607]
<ul> 
  Status: Unplayable<br />
  Problems: Using a patched EXE due to protection.
   When you run the game, it stops with the error:
   "Happened a internal error, reboot the computer or reinstall the game"
</ul></p><p>
Imperium. [20030607]
<ul>
  Status: Playable<br />
  Problems: The letters are not visible in the installer. No sound during
   gameplay.
</ul></p><p>
Populous 3. [20030607]
<ul>
  Status: Unplayable<br />
  Problems: Stops when execute the game.
</ul></p><p>
Need for speed: Special Edition.
<ul>
  Status: Unplayable<br />
  Problems: Unable to install. (Unhandled exception)
</ul></p><p>
Fifa 2002.
<ul>
  Status: Unplayable<br />
  Problems: For install, you need "cd" to cdrom directory.
   Unable to install. "Error installing ikernel.exe"
   (Using stdole32.tlb)
</ul></p></quote>

<p>That should give the DirectX guys something to chew on for a while.</p>


</section>
<section 
	title="Direct3D To Do List" 
	subject="Fwd: [Wine-d3d] d3d8 todo: updated"
	archive="http://www.winehq.com/hypermail/wine-devel/2003/06/0327.html" 
	posts="1"
	startdate="10 Jun 2003 00:00:00 -0800"
>
<topic>Multimedia</topic>
<mention>Max</mention>
<mention></mention>

<p>Raphael Junqueira posted a to do list for Direct3D work:</p>
<quote who="Raphael Junqueira"><p>
 only a little "reminder" of what is done, and what we need.
 I sugest having a global todo for all directx
 (dinput,dplay,dsound,dmusic,ddraw,d3d[1..9],dshow/quartz) ;)
</p><p>
 <u>DONE</u> (since last TODO list)
<ul>
 <li> Performance</li>
 <li> Get more of the SDK samples to work with it</li>
 <li> Try to get a game working with it: War3, MaxPayne, UT2003, mafia, GTA3, ...</li>
 <li> Checking for opengl extenstions before using certain functions</li>
 <li> Use max values from opengl rather than hardcoded values</li>
 <li> Buffer support (GetFrontBuffer, GetBackBuffer)</li>
 <li> TexturePalettes (not really tested as i don't have gta3)</li>
 <li> Gamma Ramp</li>
 <li> MultiplyTransform</li>
 <li> Mipmap support</li>
 <li> Dirty Areas</li>
 <li> CubeMap support</li>
 <li> Raster states</li>
 <li> Better debug/cleaner debug channels</li>
</ul>
</p><p>
<u>NEED MORE WORK:</u>
<ul>
<li>Device interface:
 <ul>
  <li> CreateRenderTarger / GetRenderTarget support (Optimisation, MemoryManager)</li>
  <li> CreateAdditionalSwapChain/Swap Chains (Optimisation, MemoryManager)</li>
  <li> Get/CreateDepthStencilSurface (Optimisation, MemoryManager)</li>
  <li> Pixel and Vertex shaders support:
  <ul>
    <li> merge of the hw support patch in my shader tree</li>
    <li> support of pixel shader</li>
    <li> ps2.0</li>
    <li> vs3.0</li></ul></li>
  <li> Tex Op: really use of caps</li>
 </ul>
</li>

<li>Surfaces/Textures interfaces
<ul>
<li> Better Textures management:
 <ul>
 <li> unlock always reload all surface (really slow for cube maps used after a
      Render to surface)</li>
 <li> see if when a texture is used as render surfaces the apps must use
      SetTexture after that for using it (and this way restoring the new texture to
      cg mem)</li></ul></li>
<li> CopyRect:
 <ul>
 <li> dont lock/Unlock when not really needed</li>
 <li> use glTexSubImage2d for optimisation when possible</li></ul></li>
<li> Lock/Unlock:
 <ul>
 <li>only restore or copy when needed (exemple no save renders when WRITE_ONLY
     flags was used)</li></ul></li>
 <li> Preload function for textures</li></ul>
</li>
<li>DirectX interface:
 <ul>
 <li> Better Caps code (must be detected at DirectX8 init, only once)</li>
 <li> Check* functions</li>
 <li> Window sizes / fullscreen support is awful - its a real hack at the moment</li></ul>
</li></ul>
</p><p>

<u>TODO</u>
<ul>
<li> More Performance (many users complains about that)</li>
<li> Get the last SDK samples (principally blending and bump) to work</li>
<li> D3D9 support (easy but need a lot of d3d8 cleanup/ and the d3dcore split)</li>
<li> A Memory Manager singleton who manage allocation and life cycle of cg
   object (vertex buffers, surfaces, textures, ... as directx have) better for
   performances and easy management of cg memory</li></ul>
</p><p>

<u>Missing Functionalities:</u>
<ul>
<li>General
 <ul>
 <li> Private Data (Get/Set) support</li>
 <li> Priority Levels (Should be reasonably easy as opengl has this
 functionality) o LOD support</li></ul></li>

<li>Device interface
<ul>
 <li> nPatchs (Rect,Tri)</li>
 <li> GetInfo (need a Better Caps code)</li>
 <li> Reset (need Memory Manager)</li>
 <li> ResrceMgrDiscard (need Memory Manager)</li>
 <li> Cursor functions (already begin but almost a stub)</li>
 <li> UpdateTexture (already begin but almost a stub)</li>
 <li> TestCoop support</li>
 <li> ValidateDevice (need a Better Caps code)</li></ul></li></ul>
</p></quote>

</section>



<section 
	title="Quartz Revisited - New Ideas" 
	subject="Re: [DShow] A bunch of stubs..."
	archive="http://www.winehq.com/hypermail/wine-devel/2003/06/0293.html" 
	posts="5"
	startdate="09 May 2003 00:00:00 -0800"
>
<topic>Multimedia</topic>
<mention></mention>
<mention>Hidenori Takeshima</mention>
<mention>Gav State</mention>
<mention>Mark</mention>

<p>Anyone remember the little bit of drama surrounding the
removal of the quartz dll?  To refresh your memory, go back
to 
<a href="http://www.winehq.com/index.php?issue=122#Quartz.dll%20Removal">issue
#122</a>.  Hidenori Takeshima did an extensive amount of work on
making Wine capable of implementing DirectShow and ActiveMovie
API's.  However, he asked for all that code to be removed.  Since
then there has been no replacement.  This week Lionel Ulmer posted
a patch and explained:</p>
<quote who="Lionel Ulmer"><p>
 Instead to let these auto-generated stubs rot in one of my development
 trees, let's submit them for inclusion in the tree (it cannot be worse than
 what was there before).
</p><p>
 This could be useful for people to start to look at what would need
 implementing to get some games to play something and to fill the holes :-)
</p><p>
 These are all the classes needed to have some tracing in System Shock 2.
</p><p>
 PS: before anyone sends me mails, we know that WineX's QUARTZ DLL is LGPL'ed
</p></quote>

<p>That got some folks thinking, and Mike Hearn posted an idea:</p>
<quote who="Mike Hearn"><p>
 I've been thinking (waits for the applause to die down). DirectShow is
 similar in style and architecture to GStreamer right? They both use
 graphs of connected elements. Would it be possible to use GStreamer to
 implement Quartz?
</p><p>
Pros:
<ul>
 <li> Saves potentially a lot of work, depending on how big DirectShow is.
  </li>
 <li> GStreamer is written in C, under the LGPL (though licenses of codecs
vary)</li>
 <li> Get lots of codecs for free.</li>
</ul></p><p>
Cons:
<ul>
 <li> Are they too different? Would it be like trying to map comctrl onto
Tk?</li>
 <li> Adds an extra dependancy on GStreamer. Still, all distros with
gnome2.2 (ie all of them) ship with it on the CDs.</li>
 <li> I don't know what I'm talking about, so I could be being dumb.</li>
</ul></p></quote>

<p>Raphael Junqueira had a similar idea:</p>
<quote who="Raphael Junqueira"><p>
i had the same idea, while looking xine code ;)</p>
<p>And better,
we can add a wine -&gt; gstreamer plugin who can use windows codecs 
(using wine infra to use it) mplayer have already a code for that 
using a little of wine code.</p></quote>

<p>Lionel thought there were some other architectural concerns
to consider:</p>
<quote who="Lionel Ulmer"><p>
Tom, add Mike as the new Quartz maintainer :-)
</p><p>
Actually, we may use this solution, but I really never looked at it to see
if it's doable. It could be, but on the other hand, one could say 'Win32 GUI
is similar in style to GTK+, you have buttons and sliders and widgets, so
let's use GTK+ to do Win32 GUI elements' :-)
</p><p>
Moreover, when you see this :
<ul><code>
trace:quartz:Graphbuilder_RenderFile(0x403c3680/0x403c3680)->(L"r:\\sshock2\\cutscenes\\cs1.avi" (0x40682a80), (null) ((nil))): stub !!!<br />
trace:quartz:Graphbuilder_FindFilterByName (0x403c3680/0x403c3680)->(L"LG Video Renderer" (0x4068294c), 0x4068262c): stub !!!</code></ul>
</p><p>
You see that the application expects to have their own renderer to be
used... So it complicates a bit all the stuff if GStreamer chooses one for
us which is not the one the application expects.
</p><p>
Finally, the hard part is not (I think) how to implement it, but how DShow
works (there are hundreds of COM interfaces / objects and most is
constructed 'automagically' by 'Graphbuilder_RenderFile'). Once we have the
logic in place to build this graph the same way Windows applcations expects
us to build it, then we will have done most of the work I think and the rest
is only code stealing :-)
</p><p>
As far as WineX using Hidenori's original Quartz work, Mark Hannessen 
wondered if it would be possible to,
<quote who="Mark Hannessen">
just shift maintainer / copyright holder / whatever 
to a new person that does believe it is legal and is willing to take that 
risk</quote>.  Gav State wrote back to mention:</p>
<quote who="Gavriel State"><p>
Just to clarify - we've been talking on and off with Hidenori about something like
this for some time.  He seems rather busy though, and I have no further news to
report at this time.
</p></quote>




</quote>

</section></kc>
