Coder Social home page Coder Social logo

wined3d4win's Introduction

WineD3D For Windows Build Scripts

This repository contains the scripts I use to build WineD3D For Windows.

Download

You can get prebuilt DLL files from my website

If you're trying to fix an old game, you must use the 32 bit version, even on 64 bit systems.

Compatibility

These scripts were tested on Arch Linux and Debian. Older versions of this project supported Debian exclusively.

How to build

Prerequisites

To build WineD3D, you'll need to download some libraries first, most of them are probably already installed in your system. It is strongly recommended to use a dedicated VM for building.

Arch, Manjaro, etc. (Recommended)

sudo pacman -Sy alsa-lib attr autoconf bison desktop-file-utils faudio ffmpeg flex fontconfig fontforge freetype2 gcc-libs gettext giflib git glu gnutls gsm gst-plugins-base-libs gtk3 lcms2 lib32-alsa-lib lib32-attr lib32-faudio lib32-fontconfig lib32-freetype2 lib32-gcc-libs lib32-gettext lib32-giflib lib32-glu lib32-gnutls lib32-gst-plugins-base-libs lib32-gtk3 lib32-lcms2 lib32-libcups lib32-libgl lib32-libldap lib32-libpcap lib32-libpng lib32-libpulse lib32-libsm lib32-libva lib32-libxcomposite lib32-libxcomposite lib32-libxcursor lib32-libxdamage lib32-libxi lib32-libxinerama lib32-libxml2 lib32-libxmu lib32-libxrandr lib32-libxslt lib32-libxxf86vm lib32-mesa lib32-mpg123 lib32-openal lib32-opencl-icd-loader lib32-sdl2 lib32-v4l-utils lib32-vkd3d lib32-vulkan-icd-loader libcups libgl libgphoto2 libldap libpcap libpng libpulse libsm libva libxcomposite libxcomposite libxcursor libxdamage libxi libxinerama libxml2 libxmu libxrandr libxslt libxxf86vm mesa mingw-w64-gcc mpg123 openal opencl-headers opencl-icd-loader perl samba sane sdl2 sharutils v4l-utils vkd3d vulkan-headers vulkan-icd-loader

Debian, Ubuntu, etc.
Note: you need to use a 32 bit version of Debian to build the 32 bit DLLs and a 64 bit version for the 64 bit ones.

sudo apt build-dep wine
sudo apt install mingw-w64 git

Building

Latest version of WineD3D

sh build32.sh

The build process will take some time, at the end, you'll find 2 directories called wined3d and wined3d-staging, which will contain the build DLLs. The staging variant is built using wine-staging, which may improve compatibility.

Specific version of WineD3D
If you want to build a specific version of WineD3D, all you have to do is download the tarball of the version you want to build, extract it, and run

sh build32.sh path_to_source_code/

The build process will take some time, at the end, you'll find 2 directories called wined3d and wined3d-staging, which will contain the build DLLs. The staging variant is built using wine-staging, which may improve compatibility.

Note that this build may fail on very old versions of Wine.

64 bit build

The 64 bit version of WineD3D is only useful to run 64 bit apps on 64 bit Windows, it is not for old games.

To build 64 bit DLLs, simply replace build32.sh in the previous commands with build64.sh

Special thanks

Thanks to Syvat G for improving the patched version to enhance compatibility!

License

Copyright (C) 2014-2022 Federico Dossena

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

wined3d4win's People

Contributors

adolfintel avatar dartg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wined3d4win's Issues

How to install for CS GO?

How do I install this on Counter Strike: Global Offensive? The usual method doesn't seem to work.

Where do I report performance issues?

I am using this as a compatibility tool, for The Witcher: Enhanced Edition, this is the only way I could find the game would start (on Ryzen 3 3200G, v20.4.1). The perfomance is very poor though, which doesn't really make sense, where do I report / find a fix?

Use WineD3D with NVIDIA and ATI OpenGL drivers

Is it possible to use WineD3D with OpenGL drivers provided by third parties such as NVIDIA, ATI or Intel? I place the files d3d9.dll (because the target game uses DirectX 9) and wined3d.dll, and also unpack the nvoglnt.dll file from the NVIDIA drivers, placing it in the game folder and changing its name to opengl32.dll, but when starting the game the wined3d.dll library requests the entry point of the glDisable procedure that is in this OpenGL driver from NVIDIA. I don't have any major goal in playing with these drivers, I just want to check how OpenGL drivers from other companies than Mesa3D would work.
I'm using Windows 11

Put "WINED3D README.txt" in here too

It may be a good idea to put the wined3d readme file here, for backup, source management and whatever.


PS: if you are open to linking to competitors on the webpage, https://github.com/CnCNet/cnc-ddraw is a pretty cool replacement for ddraw and ddraw only. It allows for custom GLSL shaders, which is cool for upscaling retro games.

Trying to compile WineD3D for use with QEMU MESA passthrough

Hi,

I'm trying to compile WineD3D for use with MESA pass-through with a patched QEMU 6.1.0 version from this guy: https://github.com/kjliew/qemu-3dfx

The specs: Apple M1 MacBook Air 13" 2020, macOS Monterey 11.12

The QEMU VMs: Windows 98 SE and Windows XP SP3, both fully updated.

I've tried a lot of previous WineD3D versions with them to run a DX7 game, however all them fail for different reasons. So I tried to compile newer ones. But I can't seem to be able to successfully compile any newer version for these operating systems, so I am seeking some advice. I have even tried a Debian 9 32-bit distro to build, which built successfully, however the DLLs did not work for my VMs.

Doesn't start on Windows 7

Version 7.11 (staging or not) started importing D3DKMTOpenAdapterFromLuid from gdi32.dll, which is only available starting with Windows 8. My guess is that GCC 12 broke compatiblity.

new wined3d 5.7

just went ask if you are making new build or abandoned this project ?

wine.def:1 syntax error on 32-bit build script

Hi, I've successfully run the 64-bit build script on Debian 9 x64. I am now trying to do exactly the same on my Debian 9 i386 with the 32-bit script, but I get the following linker error coming to the end:

/usr/bin/ld:../../../wine-git/libs/wine/wine.def: file format not recognized; treating as linker script
/usr/bin/ld:../../../wine-git/libs/wine/wine.def:1: syntax error
collect2: error: ld returned 1 exit status
Makefile:375: recipe for target 'libwine.dll' failed
make[1]: *** [libwine.dll] Error 1
make[1]: Leaving directory '/home/francisco/Downloads/wine-win32/libs/wine'
Makefile:19509: recipe for target 'libs/wine' failed
make: *** [libs/wine] Error 2
Wine make failed with error 0

Any ideas? Thanks in advance.

Where to report graphic issues?

Hi! First, i want to thank you for making this layer for Windows.

Well, in the website you said to report any issues or bugs directly to Wine bug tracker, but i came here because i ran into a issue not found on WineHQ:

My issue is with the game F1 Challenge 99-02: there's some flicking in the tyres when the car passes beneath structures, and some misplaced shadows. I was reading the compat reports for this game on WineHQ and no similar issue was related, so i came here to report, perharps something on building the code for Windows could be causing this problem, I dont know.

Anyway thanks again for that!

wine3d3 4 win bug

I put this issue here because is a wine3d34win problem, not wine, with the latest version, 7.14, the popcap games dont works, with the 7.11 popcap games works fine

Was Windows XP support removed intentionally in Mesa3D builds?

Hi Federico,

First of all, thank you very much for your efforts in creating Mesa3D builds for Windows. This is great and very helpful.

Recently I tried to run one retro game (OpenGL 1.0) with your Mesa wrapper build on Windows XP under VirtualBox. However, it turned out that starting from version 17.0.1 it does not even launch due to the lack of the SHGetKnownFolderPath function in the operating system. But at the same time, 17.0.0 and earlier versions seem to work just fine, so I'm wondering if this is the only source of incompatibility and could it be fixed somehow on your side.

upd: Ohh, I'm sorry: this is a different repository. But there doesn't seem to be a repo of "Mesa3D for Windows". ;(

Wine vulkan

More of question really but I could have sworn that this use to convert to vulkan and open gl or maybe just vulkan.

Is converting to vulkan no longer possible?
Yes I know dxvk is a thing and works somewhat on windows. But since wine3d does allow using vulkan and is very similar to Windows. Could converting to vulkan be enabled again?

Also thank you for providing these bulbs as they have came in handy for me in the past.

WARP

Good morning! In some 3D apps, that requires DirectX 11 I can have error massage (other apps, that requires DirectX 11, work fine with WineD3D). I can fix it, using program wrapping from dxcpl utility. This function, as I see, lies to app that system support this feature and draws image using CPU. Can you add report of supported DirectX 11 version to app?
P. S. Sorry my bad English.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.