User Tools

Site Tools


compatibility_20with_20wine

Compatibility with Wine

by Richard Russell, October 2007, updated August 2012

Wine is an Open Source implementation of the Windows API for use with Unix-based Operating Systems such as Linux or MacOS X (the use of an Intel x86-based processor is assumed). The design goal of Wine is to allow Windows applications to run successfully on such Operating Systems, but inevitably the emulation of Windows isn't perfect. You can find out more about Wine here.

BBC BASIC for Windows will run adequately under Wine, but only if it's a recent version of Wine with bug #6878 ('GetBoundsRect not implemented') fixed. In practice that means you need Wine version 1.5 or later.

Unfortunately executables compiled using BB4W, if they have one or more embedded library files, or one or more resource files stored in a sub-directory, won't run under Wine (at the time of writing). This is because of Wine bug 25207: SHFileOperation does not create new directory on FO_MOVE.

It is possible to work around the bug by creating the required sub-directory manually before the BB4W program is executed. In the case of library files you need to create a lib subdirectory in Wine's temporary folder. One way of doing that is to type wine cmd.exe in a Linux terminal, and at the resulting 'Windows' command prompt you can enter mkdir %temp%\lib.

To help persuade the Wine developers to fix this bug, please visit the link and cast your vote. You will first need to register with the site (if you aren't already) and please note that the email address with which you register will be visible on the site.

For further information on running BBC BASIC for Windows under Wine see Installing under Wine.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
compatibility_20with_20wine.txt · Last modified: 2024/01/05 00:22 by 127.0.0.1