Getting apps running under Wine
juan.lang at gmail.com
Mon Mar 3 11:09:08 CST 2008
> 1) User interface stuff. We are using dialogs (MFC CDialog) that have
> non-default font size (i.e. Times New Roman, 12 ). The font is
> displayed correctly under Wine, but dialog window has wrong size (it's
> smaller and some parts of dialog, mainly buttons at bottom, are not
> visible). I can send more info on this. How to solve this problem
> (other way than detecting Wine and resizing window manually) ?
Please open a bug at our bugzilla (bugs.winehq.org). Attaching
screenshots of the problem would help. We discourage you from working
around Wine bugs, because if we fix the bug, we'll break your app in
the process. Better to fix Wine.
> 2) Windows drivers. We use DLL that depends on some Win32 drivers.
> Linux driver is available with similar API, so it's not a big problem
> to change our application to use Linux library. I understand that
> clearest way how to solve this problem is to make .dll.so file, but
> it's quite complicated for this particular application and I would
> prefer much more to add few if conditions to our Windows code that
> would recognize Wine under Linux and load native .so file (not
> .dll.so!). Is this possible? How to deal with different calling
> conventions between gcc and Visual C++ 2003 ?
I'm not sure what you mean by different calling conventions; gcc
supports the __stdcall convention, at least, and VC++ supports
__cdecl. If you're using __fastcall you'll need to change it to one
of the others, I think.
As far as detecting Wine, again we prefer you don't. Would it be any
great problem to ship a Linux version that called the Linux drivers,
and a Windows version that called the Windows drivers?
> 3) Windows service. We use a windows NT service (which can easily be
> ported to Linux,btw), an application communicates with the service
> using named pipe. Is it possible to communicate from "wined"
> application with some Linux program using technique other than TCP or
> Unix socket ? If no - is it possible to open Unix socket from our win
> app ?
It's certainly possible to open a Unix socket from a winelib app.
(Wine itself does so.) Using a named pipe from a regular (not
winelib) Linux app won't work.
Hope that helps,
More information about the wine-devel