免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1293 | 回复: 0
打印 上一主题 下一主题

wine FAQ [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-02-11 21:20 |只看该作者 |倒序浏览
使用wine会遇到的经典问题,转自wine官网
General Questions
How do I run Wine?
Wine is not
something you run, you run applications with it. Simply open your
applications and Wine should be loaded to run them automatically. You
can configure your wine environment by running winecfg, and you can
browse your fake windows drive at ~/.wine/drive_c
If you would like a general overview and tutorial about using Wine, you can read the
User Guide
.
For the most part, however, Wine should be as straightforward as
clicking the application you'd like to run from your Gnome/KDE/Whatever
menu.
When
using the terminal there are two valid methods of running applications.
The first method is to chdir into the program's folder and then run the
application directly, e.g.
cd "~/.wine/drive_c/Games/Tron" && wine tron.exe
The
second method should ONLY be used if you are intending to install from
something which has multiple CDs (you need to use this method to allow
you to swap discs) as it doesn't always work. It consists in using the
full Windows path like so...
wine "C:\Games\Tron\tron.exe"
Do NOT
run with the full Linux path i.e. "wine /stuff/mygame.exe" or by double
clicking icons from your file manager (sometimes this works but more
often it will fail with errors of some sort).
This is because Wine passes this path as-is to the windows program in argv[0]. This is exactly what cmd.exe does and Wine has extensive tests for that. However some programs expect fully qualified windows path in argv[0],
and break if they don't get it. Lots of programs written with Borland
tools will have that problem because Borland mistakenly stated in the
manuals that argv[0] will always be set to fully qualified path of the executable. Which is not the case.
If
you use Gnome, KDE or XFCE4, then after you have installed some
applications in Wine you should notice a Wine subfolder in your main
desktop menu with menu entries for all your installed Wine programs (as
long as you told them to make Start Menu shortcuts). If any apps seem
to be missing try running "wineboot" and looking again.
What is the difference between Wine, CrossOver Linux, and Cedega?
Wine is the
base of the project, where most of the work is being done. Wine is
currently a beta software project, intended mainly for developers,
testers, and early adopters at the moment. Despite Wine's beta
limitations,
tens of thousands
of people nevertheless use "vanilla" Wine successfully to run a large number of Windows programs.
CrossOver
Linux is a product made by
CodeWeavers
that is based directly on Wine with a few proprietary add-ons.  Unlike the biweekly Wine releases,
CrossOver
releases are rigorously tested for compatibility with
CodeWeavers
' supported applications in order to prevent
regressions
.  
CodeWeavers
CrossOver
.
employs a large portion of the Wine developers and provides a great
deal of leadership for the project. All improvements to Wine eventually
work their way into
Cedega is a product from
TransGaming
.  
TransGaming
forked Wine back in 2002 when Wine had a different license, closed
their source code, and rebranded their version as specialized for
gamers.
TransGaming
currently gives back very little code to Wine.  Cedega is not
just "Wine with more gaming support" - many games run better under Wine
than Cedega. Currently, Wine has more advanced Direct3D support than
Cedega, but Cedega still has more advanced copy protection support due
to
TransGaming
's licensing of (closed source) code from a handful of copy protection companies.  Unlike
CrossOver
, most improvements to Wine don't get into Cedega due to Cedega's proprietary licensing.
For more information on how this happened, see
Wine History

Can I use Wine to install drivers for my hardware?
No.  With the possible future exception of some
printer drivers
,
Wine requires your hardware to already be working on your operating
system. The technical reason for this is that Wine, like most
applications, runs in user mode and not
kernel mode
.
Why do some people write WINE and not Wine?
They are
using the acronym "Wine Is Not an Emulator", the original name for the
project. While recursive acronyms are clever, there really is no point
to the capital letters. They look ugly, so please use the simpler,
current name of the project: Wine. It's what we use.
Is Wine an emulator? There seems to be an argument.
When users
think of an emulator, they tend to think of things like Super Nintendo
emulators or virtualization software. This is the wrong way to think
about Wine - Wine runs Windows applications in essentially the same way
Windows does. There is no inherent loss of speed due to "emulation"
when using Wine, nor is there a need to open Wine before running your
application.
Does Wine hurt Linux?
Wine
increases the usefulness of Linux, makes it easier for users to switch
to Linux, and makes it easier for Windows developers to make
applications that work on Linux. See the
Debunking Wine Myths
article for a fuller answer.
Why does Wine have a Windows version on the download page?
The Windows
version allows Wine developers to test out the completeness of Wine
DLLs by replacing those on Windows. At least for now, this is mainly
for developers. However, in the future once we finish our DirectX 10
implementation, we may be able to implement Direct3D 10 in Windows XP
the same way it runs in Wine: by translating DirectX calls to OpenGL
ones.
Does Wine run on 64-bit ?
Yes.
Normally, installation should be the same as with 32-bit: simply
install the Wine package for your distribution. Check the
Downloads
page.  If you need to build Wine from source, see
WineOn64bit
for further details.
Note
that Wine for 64-bit actually runs in 32-bit mode. This is necessary,
as virtually all Windows applications are 32-bit. Simultaneous support
for 64-bit Windows applications is planned for the distant future,
after Wine's 1.0 release.
When will Wine-1.0 be released?
There's no date set yet.  See
WineReleaseCriteria
for our goals for 1.0.
Where can I get further help?
The documentation
and
mailing lists
are excellent resources. You'll most likely want the wine-users mailing
list, however if you're an ISV looking at porting an application with
Winelib you can also try wine-devel.
The
IRC channel: #WineHQ on irc.freenode.net. Usually several knowledgeable
Wine users hang out there, and often developers will lurk there too.
There's
also a usenet newsgroup, but you really should use the mailing list
instead. The mailing lists are what the developers use and monitor, so
you're more likely to get help. Anyway, the newsgroup is
comp.emulators.ms-windows.wine.
Using Wine
When I click on a .exe file in my file Manager, nothing happens.
This still
happens on many distributions; it's a bug. However, it may not be a bug
in Wine so much as a bug in the desktop environment (eg GNOME) or a bug
in the way Wine is packaged. Double clicking is currently a bad way of
running EXE files anyway, as it doesn't correctly set the PATH so
applications may fail to start complaining that they cannot find files
they rely on.
Wine-created desktop shortcuts and start menu entries, however, should work just fine.
The
standard workaround for this is to open a terminal window, navigate to
the folder where your application is, and run it by typing wine (program).exe.
Running wine in this fashion will also output any runtime errors or
fixmes to the terminal window. This may not be the friendliest way to
use Wine, but at the moment it is the most effective.
Which sound driver should I select in winecfg?
As of wine
0.9.47 you shouldn't need to configure it any more, defaults should
work just fine. For wine 0.9.46 alsa and oss should work equally well.
For wine versions before 0.9.42 oss works best, after that alsa is
slightly behind oss since it might miss some voice chat capability.
I'm using OSS in Wine and I have no sound.
Unless
you're using a sound card with an emu10k1/2 chipset (SB Live!/Audigy)
or another type of card that supports "Hardware Mixing" then you can
only ever have one application using sound at the same time. If you
have aRts (KDE sound system), ESD (Gnome sound system) or any music
apps open then you simply wont hear anything from Wine. You need to
kill or close all these programs before being able to get sound from
Wine. To work out if anything has locked your sound-card already you
can do "cat /dev/urandom >> /dev/dsp". If you get an error
message it means that something is using it. If you get loud static
this means that your sound card is clear and ready for use.
My program froze up, how do I close it?
If you ran
the program from a terminal window by typing wine (program).exe, you
can usually just go back to that terminal window and press ctrl+c. If
you ran the application some other way, such as from a launcher
shortcut, then you can open up a terminal and forcibly kill the
process:
killall -9 Application.exe
If you want to kill all Wine programs at once, you can run:
wineserver -k
You
can also open up a Wine version of the Windows task manager by running
"wine taskmgr" in a terminal. This will allow you to cancel individual
Wine processes.
If
you are getting a complete deadlock and are unable to even use your
mouse after running Wine, it's probably not a specific problem with the
Wine software. Wine is a user-level process, and shouldn't be able to
completely hang the operating system under any circumstances. Instead,
Wine is likely exposing a deeper problem with the system, such as a
defective hardware driver.
How do I get Wine to launch an individual application inside of a virtual desktop?
Winecfg
does not allow the setting of virtual desktops for individual
applications, however you can work around this by using the following
command. Of course, replace program.exe for what your program's name
is, and change the resolution to the size of the virtual desktop you
want.
wine explorer /desktop=name,1024x768 program.exe
My application complains about being unable to change the resolution or color depth.
You
generally need to edit the Screen section of your /etc/X11/xorg.conf to
support additional color depths and resolutions. There may also be a
problem with Xrandr.
My X screen won't go back to its normal resolution after running a game fullscreen.
You can often work around this by changing the screen resolution and then changing it back again under the system preferences.
Alternatively, you can run this terminal command to restore your X settings:
xrandr -s 0
Can I run applications directly off of a Windows installation without reinstalling them?
Generally,
no. Unless you know otherwise, you should leave your Windows
installation alone and install things "fresh" into Wine. Most
applications store their configuration data outside of their own
folders, such as in the Windows registry.
This
isn't unique to Wine: you'll run into a similar problem under Windows
itself if you try and run applications from another Windows
installation. Wine (or the other Windows installation) has no way of
seeing this data unless it was written into Wine's registry by the
program installer.
Some
applications, however, are designed to be "portable" and don't use the
registry at all, instead storing all of their settings in a file
alongside the executable.
How do I know what version of Wine I have?
Open up a
terminal and run wine --version. It will say something like
"wine-0.9.34" or if you are using GIT (it's like CVS or SVN) then you
will have a version along the lines of "wine-0.9.36-139-ge79a94d".
Should I run Wine as root?
NEVER run
Wine as root. Doing so gives Windows programs (and viruses) full access
to your computer and every piece of media attached to it. Running with
sudo also has these same risks but with the added bonus of breaking the
permission on the users ~/.wine folder in the process. If you have run
Wine with sudo you need to sudo rm -rf ~/.wine and then run winecfg to
set wine back up. You should run Wine as the normal user you use to
login.
How do I uninstall Wine?  How do I wipe the virtual Windows installation?
You can
remove your virtual Windows installation and start from scratch by
eliminating (or renaming) the hidden .wine directory in your home
folder, such as with rm -rf ~/.wine
If
you want to remove Wine entirely after you installed it with your
distribution's package manager, you can generally uninstall in the same
way. Note, however, that uninstalling Wine will not eliminate the virtual Windows installation - to do that you must follow the instructions above.
Since
Wine is beta software, periodically we may update the default
configuration generated when you first use Wine. Sometimes users have
success getting an application to work by wiping (or moving) their
~/.wine folder, rerunning winecfg with the new Wine version, and
reinstalling the application.
The application I am trying to run complains that it needs 256 colors but I have millions of colors.
This is a bug in Wine.  See
http://bugs.winehq.org/show_bug.cgi?id=7334

For now, there are a few workarounds you can try.  See
256ColorsWorkarounds

I'm using Beryl/XGL/Compiz and get poor performance/odd messages/broken applications
Using
composite display managers in Linux tends to cripple OpenGL performance
or break OpenGL entirely which is why we recommend that you disable
them and remove composite from XOrg entirely before trying to use Wine.
If you are using one and experiencing slow performance then DO NOT FILE
BUGS as this is not a Wine bug. Just because
TuxRacer
runs fine doesn't mean it is Wine's fault, Windows games normally
require a little more umph than basic Linux native games. Also to make
sure, run glxinfo and make sure that it says "Direct Rendering : Yes".
Running winecfg has No text or damaged text displayed
Please
make sure not have added any fonts to wine. Font conflicts can
sometimes cause a similar issue. If a fresh wine prefix.(A copy of wine
that nothing has been done to yet) Is having this problem. Try setting
following in registry
[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
"ClientSideWithRender"="N"
Place above in text file and it can be inserted into registry by "regedit settings.txt".
This was report as been required of OS X on the 1 Dec 2007.  This may change.  Please apply only as required.
Running winecfg seems to hang or complain about files when I click the audio tab
The hang
is caused by the "NAS" sound driver. This causes it to pause for a
while but it should respond eventually. The only way to get around this
is to remove NAS from your system and/or build Wine without NAS support
in the first place. If you see messages about JACK in the terminal they
can be ignored unless you intend to use the JACK driver. If you wish to
use the JACK driver then you need to install JACK's libraries onto your
machine before JACK will work.
How do I edit the Wine registry?
The Wine
registry is the .reg files in ~/.wine, however you should not edit
these files by hand due to the encoding that they use. Always use the
regedit program that comes with Wine. This can be run by typing regedit
in the terminal. Wine's regedit is virtually identical to the Windows
version of regedit and also supports importing and exporting of
registry files. NEVER try and import your entire Windows registry, this
will just break Wine.
I have an MSI file, how do I install/run it?
MSI files
cannot be run directly, you need to use the "msiexec" program. MSI
files can be installed in Wine from the terminal like this
wine msiexec /i whatever.msi
That will then run the MSI program the same as if you had double-clicked it in Windows.
My CD or DVD disc won't eject
Try
wine eject
. It is a function to free up, unlock, and eject the drive.
My program fails to do networking, but Linux can get online
You need
to make sure that your hostname resolves to the IP address of your
network interface. To set this up correctly, you can type the following
from a terminal:
hostname
This
will return your hostname the way your computer sees it. Now, you need
to open an editor with system administrator privileges, how you do this
will depend on the distribution you are using. Open the file /etc/hosts
and see if there is an entry for your hostname. Assuming your hostname
is "yourhost" and your network IP address is 192.168.0.23, the entry
might look like this:
127.0.0.1      yourhost.yourdomain.com      yourhost
Change this to (or add, if there is no such line):
192.168.0.23   yourhost.yourdomain.com      yourhost
For most Windows games with networking problem, this is all you need to get networking to work.
How do I configure a proxy?
Add the following to [HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings] 1133455573
"ProxyEnable"=dword:00000001
"ProxyServer"="proxy-server-address:port"
I want to pass command line arguments to my program
If you're using a program with switches on Windows, for instance:
quake.exe -map e1m1
Then you can do the equivalent in Wine by running:
wine quake.exe -map e1m1
That is, the command line is identical, except with a wine
in front. Note, however, that you may need to escape certain special
characters with backslashes due to the way they're handled in the Linux
shell. For instance:
quake.exe -map C:\Quake\e1m1.bsp
Becomes:
wine quake.exe -map C:\\Quake\\e1m1.bsp
For more information on using backslashes, see:
http://www.tuxfiles.org/linuxhelp/weirdchars.html

So, I ran wine with sudo or as root, how do I fix my permission errors?
You need
to delete your ~/.wine directory, this is where all wine state,
configuration and any important data you might have such as installed
programs, saved data within wine programs etc. Once you delete or move
this directory, rerun wine as a regular user always! Run the following
to delete your ~/.wine directory if it now has root permissions.
sudo rm -rvf ~/.wine
Applications
How do I uninstall Windows applications?
Wine has its own built-in
uninstaller
- equivalent of Windows "add/remove programs" function for runnings standardized uninstallers.
In the future we'll have a shortcut to this in Wine's menu, along with a shortcut to winecfg.
The uninstaller does not remove menu entries. To remove all Wine created menu entries run the following commands
rm -f $HOME/.config/menus/applications-merged/wine*
rm -rf $HOME/.local/share/applications/wine
rm -f $HOME/.local/share/desktop-directories/wine*
rm -f $HOME/.local/share/icons/????_*.xpm
Will Wine work with my application?
Probably.  If your application is remotely popular, you can find other user reports in the
Application Database
.  If there aren't any reports using a recent version of Wine, however, your best bet is to simply try and see.
Does Wine support DirectX?  Can I install Microsoft's DirectX under Wine?
Wine
itself provides a DirectX implementation that, although it has a few
bugs left, should run fine. Wine supports DirectX 9.0c at this time.
Plans for DirectX 10 are underway.
If
you attempt to install Microsoft's DirectX, you'll run into some
problems. You can install the runtime, but it will not run. The runtime
needs access to the Windows drivers, and Wine cannot access them for
obvious reasons. The only native Microsoft DLLs that could be useful
anyway are the d3dx9_xx.dll type ones, and these require you to accept
Microsoft's license. Regardless, don't try and do this.
Can I install Microsoft .NET or an application that needs it?
Currently
.NET apps do not run in Wine mainly due to the fact that .NET itself (1
or 2) will not install in Wine. You can try installing Mono but that
only works for a fraction (read
How do I install Internet Explorer in Wine?
In short;
you don't. Trying to install IE in Wine will more than likely break
things due to the components and registry entries that it installs. If
you need to install applications in Wine that require Internet Explorer
then you install Wine's IE replacement which consists of two parts.
First you install the Gecko IE engine replacement by running the following in the terminal; wine iexplore
http://www.winehq.org

The second part is installing the registry entries to fool programs; Go to
http://wiki.winehq.org/UsefulRegistryKeys
scroll down to HKEY_LOCAL_MACHINE and then add the "Internet Explorer" keys using regedit.
How come Wine doesn't work well with copy protection?
Copy
protection uses several "dirty" methods to detect if discs are "real"
or not. Some of these methods work in Wine but most do not, such as the
extremely invasive
StarForce
system. Wine would need to be altered to allow for almost rootkit-like
functionality of programs to get some of these copy protection schemes
to work, so support is likely to be a long time off if ever. (Some
people use illegally modified or "cracked" games with the copy
protection removed, but the Wine project cannot advocate that.)
See also our page on
copy protection

My application worked with an older version of Wine, but now it's broken!
These are
called regressions. Please file a bug and tag it "regression" - we'll
pay special attention to it, since they're a lot easier to fix when
caught early. In the future, once we start making "stable" releases,
we'll make great effort to ensure that there are no regressions from
one stable release to the next.
I really need this particular application to work.  How can I go about making this happen?
We're glad you asked.  Please see our
Helping Wine
page for some suggestions.
Briefly,
you can improve Wine yourself, convince someone else to do it for you,
or try some complicated hacks involving native Windows DLLs rather than
Wine's unfinished ones.
Performance
What are the system requirements for Wine?
The rule
of thumb is that if your application runs fine in Windows, it should
run fine on the same system using Wine. Wine, along with the operating
system you use to run it, generally requires less disk space and memory
than Windows itself. If you're not currently running a Windows
application, Wine won't consume any resources at all other than about
20 megabytes of disk space.
Is Wine slower than just using Windows?
Actually,
Wine is sometimes faster. The speed of an application depends on a lot
of factors: the available hardware and their drivers, the quality of
the code in the APIs the application uses, and the quality of the code
in the underlying operating system.
Driver
code matters a lot. If you're running a graphics-heavy application
using a video card with very poor drivers such as an ATI card under
Linux, performance will degrade substantially. On the other hand, Linux
has superior memory management, and comes out ahead of Windows in many
CPU-related tasks; see
benchmarks
for more information.
Sometimes, bugs in Wine can make applications excessively slow; see
Performance-related bugs
.
I get lots of "fixme:" messages in the terminal and Wine runs a bit slow.
Ignore
them. This is for developers to see what is happening when Wine is run
and to give you a little insight as to what is going on (or wrong). If
there are a very large number of these messages scrolling repeatedly,
you can sometimes speed Wine up a little by using "WINEDEBUG=-all wine
program.exe" to run your application, which will turn off all these
messages and cut down a little overhead.
Apple
How do I install Wine on my Mac?
If you are running Linux on your Mac, installing Wine is as simple as installing it under Linux.  Simply visit the
downloads page
.
If
you are running OS X there are no official builds yet. The main reason
is that Apple X11 is badly broken, and Wine doesn't run well with it.
We don't like giving users a bad impression of Wine.
But if you are truly adventurous and want to try it no matter what, you can find
unofficial darwine *Intel* builds here
.
Its installation is simple and straightforward as any other dmg image:
open it and drag its Darwine folder to your Applications folder. Be
warned again that many applications do not run because of Apple's
faulty X11 implementation and not because of Wine itself.
DirectDraw
and Direct3D applications do not run at all, but many GDI applications will run surprisingly well, including
DirectSound
ones. Be sure to read the
MacOSX/FAQs
.
Tip: Audio output will only be enabled after you run winecfg to configure it. This can be done by double-clicking "Sample
WineLib
Applications->winecfg.exe".
Can I use Wine on an older Mac without an Intel chip?
No, not
even in Linux. Older Macs used PowerPC processors, which are
incompatible with code compiled for x86 (Intel and AMD) processors
unless the code is run under CPU emulation. Wine Is Not a (CPU)
Emulator, nor does it include one. The
Darwine
project, however, is an effort to do just that.
Helping Wine or becoming a Wine developer
See also
Contributing to Wine
.
How do I download the very latest source code for testing purposes?
Current
Wine sources are also available via Git You will need Git 1.4 or above.
If you are coming from behind a firewall, use the
http://
protocol.
To clone out the entire Wine source tree (which may be slow), use
git clone git://source.winehq.org/git/wine.git wine
Be
aware, though, that the initial clone of the entire Wine source tree
via Git is pretty slow, especially compared to getting Wine from an FTP
mirror near you. Updating to your cloned repository is reasonably fast,
however.
Patch
files are also available, so that you don't have to download, install,
and configure the entire distribution each month if you are current to
the previous release. Patch file release names follow the same
numbering convention as do the general releases, and take the form
Wine-YYYYMMDD.diff.gz
Patch
files are available from the same sites that distribute the full
release. To upgrade to a new release by using a patch file, first cd to
the top-level directory of the release (the one containing the README
file), then do a "make clean", and patch the release with
gunzip -c patch-file | patch -p1
where
patch-file is the name of the patch file something like
Wine-YYYYMMDD.diff.gz. You can then re-run ./configure, and then run
make depend && make
I think I've found a bug. How do I report this bug to the Wine programming team?
Bug reports should be submitted to our online Bugzilla system (
http://bugs.winehq.org/
). You should include at least the following:
  • The Wine version tested
  • The Windows application name, including the version, and, if applicable, a URL the application can be downloaded from
  • A brief description of the bug
  • The relevant parts of the output of the Wine debugger
  • A screenshot of the visual problem, if applicable For
    more information about reporting bugs please see the How to report a
    bug section of the Wine Users Guide. Please note that you should
    generally avoid submitting bug reports if you have used any
    third party applications
    .
    How do I become a Wine developer? What do I need to know?
    If you can
    program C, you are off to a good start. See if there's anything that
    you think you think you can fix or work on. You won't have much trouble
    finding areas that need work in Wine. For example, find a program that
    you want to run that doesn't, or simply grep for FIXMEs in the source.
    Once
    you figure out what to work on, the next step is actually doing the
    work and getting to know the other developers. First, download the
    sources via Git (
    GitWine
    for help), subscribe to the mailing lists (
    http://www.winehq.org/site/forums
    ),
    maybe join #winehackers on irc.freenode.net, and of course, look around
    the source. It might not hurt to pay attention to the
    comp.emulators.ms-windows.wine newsgroup, although it is not used very
    much anymore by Wine developers. Second, you will need to debug a
    program, if that is what you wish to fix, or otherwise find something
    to patch. Once you have completed some work, create a patch. See the
    following question.
    I have written some code that I would like to submit to the Wine project. How do I go about doing this?
    With Git, you may either commit a patch to your tree and make git spit out patches that way (explained in
    GitWine
    ), or just use git diff > foobar-fix.patch.
    If you have only created a single patch and have not committed it your
    tree, the git diff method might be easier, otherwise use the first
    method.
    The
    next step is sending the patch in. Here, you may want to make sure your
    patch is in 'diff -u' format; all patches that git creates are. If the
    patch is non-trivial, the next step is to ask some of the other
    developers if they think you could improve on your patch. Anyhow, once
    you get it all perfect, send it into the wine-patches mailing list (
    http://www.winehq.org/mailman/listinfo/wine-patches
    ).  Wait a few week days to see if it gets into the main Wine repository (
    http://source.winehq.org/git/wine.git/?a=shortlog
    ).  If your patch was not accepted, it may be a good idea to ask for further assistance from the other Wine developers.
    Make sure you read the
    coding practices
    and, if at all possible, include a conformance test to demonstrate your patch is correct.
    How can I help contribute to the Wine project, and in what ways?
    You can
    contribute programming or documentation skills, or monetary or
    equipment donations, to aid the Wine developers in reaching their
    goals.
    One
    area where every Wine user can contribute to this project is by sending
    high quality bug reports to our Bugzilla and helping the developers
    with any follow up questions that they may have about a bug that you
    have come across. It is not only impossible but also impractical for a
    developers to have a copy of every program on the market. This is why
    we need your help even after you have sent in the initial bug report.
    If a developer has a good idea what might be causing the bug he or she
    may ask if you can try a patch and see if it fixes the problem. After
    this patch makes its way into our main development tree the bug report
    will be closed and your help will be appreciated by everyone.
    For a list of ideas of how you can help, please consult the
    helping Wine page
    .
    Who can't contribute to Wine?
    Some
    people cannot contribute to Wine because of potential copyright
    violation. This would be anyone who has seen Microsoft Windows source
    code (stolen, under an NDA, disassembled, or otherwise). There are some
    exceptions for the source code of add-on components(ATL, MFC, msvcrt).
    Can I contribute if I've only seen the source to ATL, MFC, and/or msvcrt?
    Yes BUT
    not on those components. Also please state on the mailing list that you
    have seen the source to these and that you will not contribute to them.
    You are free to contribute to other areas of the Wine source code.
    Independent Software Vendor Questions
    Can I use Wine to port my Win32 sources to Unix?
    That is the idea of Winelib. Right now you may still have some difficulties, but this is changing all the time. Read the
    Winelib User's Guide
    for info.
    Will MFC work with Wine? What do I need to do?
    Wine is
    not implementing an MFC replacement nor does it intend to. However it
    is possible (with a lot of work) to compile the MFC from source and
    thus produce an mfc42.dll.so library.
    Please refer to the
    Winelib User's Guide
    for how to do this.
    Are there any commercial applications which have been ported using Wine?
    Here are few examples of applications ported using Wine or Winelib:
  • Corel's
    WordPerfect
    Office Suite 2000 was ported to Linux using Wine.
  • Kylix,
    the Linux version of Delphi, was ported to Linux using Winelib. The IDE
    actually uses a combination of QT and Winelib which would not have been
    possible to achieve using only Wine. The generated applications however
    do not depend on Wine in any way.
  • Vividas Streaming Video (
    http://www.vividas.com/support/
    )
  • Ability Office (
    http://www.ability.com/linux/abilitylinux.php
    )
  • IBM's Websphere (
    http://www7b.boulder.ibm.com/dl/swws/swwsgddb-p
    )

  • BricsCad
    ® (
    BricsCad
    ® V6 for Linux)
  • Google Picasa (
    http://picasa.google.com/linux/
    )

    Can I build one large Monolithic application?
    No.
    However, if you don't want Wine as a dependency, you can bundle your
    private version of Wine into your package (.rpm/.deb). Wine has good
    support for such a setup via the WINEPREFIX environment variable. This
    is the way Google Picasa works - they actually use the exact same
    binary on Windows and Linux, but in the Linux version they bundle a
    tested version of Wine.
    How can I detect Wine?
    Unless you
    are Microsoft trying to prevent your application from working, you
    really shouldn't want to do this. If there's a quirk in Wine you need
    to work around, it's much better to fix it in Wine. More importantly,
    we might soon fix it ourselves, and then your code will be mysteriously
    and permanently broken.
    That
    said, there is nothing wrong with detecting Wine for survey purposes.
    Many developers are surprised to learn that a substantial portion of
    their userbase has been running their program via Wine; sometimes
    developers aren't even aware that this is possible. For the best way to
    do this, consult the wine-devel mailing list.
    Old content
    Links that a lot of these should be exported to:

  • Porting with Winelib


  • Helping with Wine


    What undocumented APIs / interfaces are not understood? Would seeing Microsoft source help? !!!
    The best
    solution would be if the Windows API were fully documented, so Wine
    could be a perfect "clean-room" implementation. Seeing the source code
    might make it harder to prove that no copyright violations have taken
    place. That said, the documentation is often bad, nonexistent, and even
    misleading where it exists, so a fair amount of reverse engineering has
    been necessary, particularly in the shell (Explorer) interface. The
    biggest problem facing Wine though is simply lack of manpower. At one
    point, over 5000 people were working on Windows 2000. While Wine
    doesn't need to replicate all of Windows (we only cover the parts
    needed to make Windows programs work), that's still nearly 8 times more
    people working simply on one release than have ever worked on Wine, in
    the history of the project.
    (rewrite/purge maybe: move to contributing FAQ)
    What parts of Windows does Wine not implement? !!!
    Wine's
    goal is to make it possible to run Windows applications on Unix. To
    this end it will provide replacements for just those DLLs and APIs that
    are needed by these Windows applications. This means that Wine will not
    provide replacements for DLLs that are not shipped with Windows or are
    always shipped with Windows applications (e.g. the Visual Basic run
    time). This also means that implementing an API that no application
    ever uses is not a priority. Similarly, until there are applications
    out there that use the Win64 API, it will not be a priority. That being
    said, we will certainly try to keep our options open and to improve our
    API coverage as we can.
    Also
    Wine is not an operating system, so that writing device drivers is not
    part of Wine's goals. However if you are interested in device drivers,
    the Linux, FreeBSD and ReactOS kernel developers would certainly
    appreciate your contribution.
    Similarly
    Wine does not try to be a desktop environment so providing applets such
    as a calculator, a file manager or even window manager that look like
    Windows, are low priority or would even best be done as a separate
    project. Such projects would also to a large extant be redundant with
    other open-source projects. Again, there are projects that would
    certainly appreciate your contributions in this areas, such as the
    Gnome or KDE desktop environments. You will get the added benefit that
    your contribution will then be usable by everyone, not just by Wine
    users.
    Does it matter what filesystem I use?  Windows only supports Fat32 and NTFS. !!!
    Wine is
    written to be file system independent, so MS Windows applications will
    install and run under virtually any file system supported by your brand
    of UNIX. However please note that not all file systems / drivers
    support the full range of features required. One such example is ntfsv3
    drivers that do not provide shared-write mmap, which cannot be
    emulated, and which is required by applications such as Steam.
    -(make a note about case insensitive filesystems though) - Wine is a weird application in that it might actually work better in a case-insensitive filesystem.  See (case-insensitivity link) for more.
    Will Wine run only under X, or can it run in character mode? !!!
    Most of
    Wine's development effort is geared towards MS Windows' GUI, but some
    limited support for character mode is available with "null" driver. It
    is activated automatically whenever x11driver could not be loaded.
    However Wine still requires xorg libraries to operate properly. And
    this will only work for pure console applications that also do not use
    any parts of the system that create windows for their own use. For
    example some parts of OLE do create internal windows.
    Wine's
    infrastructure is already somewhat prepared for supporting other
    graphics drivers than x11drv, but no real "alternative" graphics driver
    has been developed yet.
    Can I launch a Unix program from a Windows program?
    Sure, Wine
    supports that. Just enter the unix program name wherever a program has
    something that it's supposed to execute, and it should just work.
    You
    can also, launch a Windows program from a unix program without
    specifically calling Wine (like .sh scripts may be directly executed)
    however your linux kernels
    binfmt_misc
    support needs to be configured for this to work (e.g. there is a Debian package for this).
    Keep
    in mind that Wine operates with 2 different paths - unix and windows.
    When calling unix program from Wine and wise-versa don't forget to
    translate file paths. This can easily be done with
    winepath
    .
                   
                   
                   

    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/60826/showart_477353.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP