CodeWeavers Blogs

Working on Wine Part 6 - Sending Your Work Upstream

About This Guide This is a series of guides intended to introduce software developers to the Wine ecosystem. It will cover what Wine is, how to use Wine, how to debug Wine, how to fix Wine, and what to do with your fix once you've made it. Part 1 describes what Wine is and provides a short description of various popular forks of Wine. Part 2 describes Wine's build process. Part 3 describes how to use Wine as a developer. Part 4 describes how to debug Wine in general. Part 5 describes Wine's source tree layout and how to edit the source. Part 6 describes how you can send your work upstream. If you recall from Part 1, there are many forks of Wine. Where your fix belongs can vary depending on what fork of Wine you use, the nature of the bug you…

Working on Wine Part 5 - Fixing Wine

About This Guide This is a series of guides intended to introduce software developers to the Wine ecosystem. It will cover what Wine is, how to use Wine, how to debug Wine, how to fix Wine, and what to do with your fix once you've made it. Part 1 describes what Wine is and provides a short description of various popular forks of Wine. Part 2 describes Wine's build process. Part 3 describes how to use Wine as a developer. Part 4 describes how to debug Wine in general. Part 5 describes Wine's source tree layout and how to edit the source. Part 6 describes how you can send your work upstream. Once you've got some idea of what is causing the problem with your application, it's time to go understand how those APIs are implemented in Wine so you can…

Working on Wine Part 4 - Debugging Wine

About This Guide This is a series of guides intended to introduce software developers to the Wine ecosystem. It will cover what Wine is, how to use Wine, how to debug Wine, how to fix Wine, and what to do with your fix once you've made it. Part 1 describes what Wine is and provides a short description of various popular forks of Wine. Part 2 describes Wine's build process. Part 3 describes how to use Wine as a developer. Part 4 describes how to debug Wine in general. Part 5 describes Wine's source tree layout and how to edit the source. Part 6 describes how you can send your work upstream. If you've made it this far, then you should have a functioning Wine build and an application installed that has some problem that you want to fix. Debugging…

Working on Wine Part 3 - Using Wine as a Developer

About This Guide This is a series of guides intended to introduce software developers to the Wine ecosystem. It will cover what Wine is, how to use Wine, how to debug Wine, how to fix Wine, and what to do with your fix once you've made it. Part 1 describes what Wine is and provides a short description of various popular forks of Wine. Part 2 describes Wine's build process. Part 3 describes how to use Wine as a developer. Part 4 describes how to debug Wine in general. Part 5 describes Wine's source tree layout and how to edit the source. Part 6 describes how you can send your work upstream. Now that you have Wine built, try running it: $ ./wine.win64/wine winecfg This should pop up a winecfg dialog. If not, something has gone wrong. The…

Working on Wine Part 2 - Wine's Build Process

About This Guide This is a series of guides intended to introduce software developers to the Wine ecosystem. It will cover what Wine is, how to use Wine, how to debug Wine, how to fix Wine, and what to do with your fix once you've made it. Part 1 describes what Wine is and provides a short description of various popular forks of Wine. Part 2 describes Wine's build process. Part 3 describes how to use Wine as a developer. Part 4 describes how to debug Wine in general. Part 5 describes Wine's source tree layout and how to edit the source. Part 6 describes how you can send your work upstream. Wine is effectively an operating system, including all of the libraries that a Windows system provides, such as support for 3D graphics, networking, audio, and…

Working on Wine Part 1 - The Wine Ecosystem

About This Guide This is a series of guides intended to introduce software developers to the Wine ecosystem. It will cover what Wine is, how to use Wine, how to debug Wine, how to fix Wine, and what to do with your fix once you've made it. Part 1 describes what Wine is and provides a short description of various popular forks of Wine. Part 2 describes Wine's build process. Part 3 describes how to use Wine as a developer. Part 4 describes how to debug Wine in general. Part 5 describes Wine's source tree layout and how to edit the source. Part 6 describes how you can send your work upstream. What is Wine? Wine is an open source reimplementation of Microsoft's Windows operating system on top of various Unix operating systems. It primarily targets…

2 December 2016 by Andrew EikumAndrew Eikum

Creating Visual Studio C++ Objects in Wine

Recently, one of our clients needed a Windows DLL implemented that exported C++ objects compatible with their existing application when run under Wine. While this was new to me, this is actually something we already do in Wine. We have implementations of Microsoft's Visual Studio C++ runtime objects, which are used by lots of applications. Applications which use those objects expect to get C++ objects from Windows DLLs like msvcp. I've never worked with this code before, and I don't do a lot of assembly-level work, so it was a fun learning experience for me. Wine is a C-language project, but we export C++ objects that are compatible with applications built on Windows. We even support Visual Studio RTTI data, constructors, destructors, and so on. I…

29 May 2015 by Andrew EikumAndrew Eikum

CodeWeavers Experiments with Oculus Support for Mac and Linux

CrossOver now has support for the Oculus Rift!Well, our internal testing builds do, anyway. Here at CodeWeavers, we're excited about what virtual reality can bring to gaming and other computing applications. The Oculus Rift is currently the largest VR (Virtual Reality) headset available for purchase, so we've decided to integrate support for it into CrossOver.Once we've released support in our public builds, playing Windows Oculus games with CrossOver on your Rift will be just as easy as with any native Mac OSX or Linux Oculus application. Integration between your Windows Oculus application and your hardware should be seamless. We've been "testing" ;) with a DK2 here in the office, and it's been an impressive experience.Caveats? There's a couple. This is an…

Please Wait...
eyJjYXJ0IjowLCJ0enMiOi02LCJjZG4iOiJodHRwczpcL1wvbWVkaWEuY29kZXdlYXZlcnMuY29tXC9wdWJcL2Nyb3Nzb3Zlclwvd2Vic2l0ZSIsImNkbnRzIjoxNTQ3NjY2NTQ4fQ==