Comments (19)
d3dadapter9
is just another name for d3d
, so its either the former or the latter.
I get:
Cross dependency d3dadapter9 found: NO (tried pkgconfig and cmake)
Cross dependency d3d found: YES 1.0.0
For ModulePath
you can seperate the 32bit and 64bit library via :
, so e.g. /usr/lib/x86_64-linux-gnu/d3d/d3dadapter9.so.1.0.0:/usr/lib/i386-linux-gnu/d3d/d3dadapter9.so.1.0.0
from nine.
I'll release soon, there's some bits I want to tackle first.
And that is a meson build option. If you use release.sh
I just commited bb80d23 so you can pass it there too, e.g. ./release.sh -o $HOME/releases/nine.tar.gz -- -Ddri2=true -Ddistro-independent=true
from nine.
Releases are going to happen, but just in the form of source tarballs.
While these are WINE binaries, they link to a quite a few linux libraries. Binaries compiled on one system might not work on another. Most notably the path to d3dadapter9.so
, which is compiled in.
The most user-friendly solution wound be distro packages, so helping to make that happen would be much appreciated! (Report a request to package it, package it yourself, ...)
from nine.
If you look at other projects like dxvk for example, they provide builded releases, even if there is a link to linux binaries. It is just stated somewhere that you need to install them.
Most notably the path to d3dadapter9.so, which is compiled in.
What do you mean by that ?
from nine.
DXVK provides native windows binaries (using mingw), so it inherits that ABI stability guaranties of windows. Gallium Nine cannot do that, it needs to be a WINE binary (winegcc
is just a wrapper for the native gcc
) which talks to the linux side of things (X, dri, mesa etc).
We could provide binaries for the various distros out there, but I don't consider that a sane solution - distro packages are ;)
What do you mean by that ?
d3d9-nine.dll
from this projects needs to talk to the mesa state tracker found in d3dadapter9.so
, which is not in a standard path, your distro chooses how to package it and where to put it. When you build this project, the build system looks for that library and embeds the path to it when you compile it. That makes it just work (tm) when you use it. As a side node, you can override that path using a registry (Setting Software\Wine\Direct3DNine\ModulePath
).
from nine.
OK, too bad. That would have been great if one could just drop the .dll in a folder and make it work.
This does not really feel "standalone" IMHO.
Thanks for your answers !
from nine.
@dhewg Can the dll be used with different wine versions (or must it be compiled for a specific wine version) ?
from nine.
Compiling for one and using on many works. While WINE doesn't guarantee ABI stability, we're using just the debug functions and so far I haven't seen an incompatible version.
from nine.
That's great !
from nine.
The linked issue, are those the WINE binaries used by PlayOnLinux?
In any case, if the above mentioned ModulePath
setting for d3dadapter9.so
isn't sufficient for your needs, we can also add other means to set it, like an envvar. If that would help, please open a new issue about it!
from nine.
Yes, this is the repo for the new winebuild system of POL5 (aka phoenicis). I think the ModulePath
will be enough. Still need a way to automate the path detection, but I think it is not too difficult.
from nine.
Ok, nice! If POL supports this standalone version, ping me and I'll mention that in the README (or you do and open a MR, whatever you prefer).
from nine.
OK!
from nine.
@dhewg I managed to build it, but I got this
Cross dependency d3dadapter9 found: NO (tried pkgconfig and cmake)
Is not it weird ?
I have installed libd3dapabter9-mesa-dev.
Here is all the dependencies which were needed in docker (debian buster):
RUN apt-get -y install meson pkg-config
RUN apt-get -y install libc6-dev wine64-tools libwine-dev libd3dadapter9-mesa-dev libx11-dev libx11-xcb-dev libxcb1-dev libxcb-dri3-dev libxcb-present-dev libxcb-xfixes0-dev libgl1-mesa-dev libegl1-mesa-dev
RUN apt-get -y install libc6-dev:i386 libwine-dev:i386 libd3dadapter9-mesa-dev:i386 libx11-dev:i386 libx11-xcb-dev:i386 libxcb1-dev:i386 libxcb-dri3-dev:i386 libxcb-present-dev:i386 libxcb-xfixes0-dev:i386 libgl1-mesa-dev:i386 libegl1-mesa-dev:i386
RUN apt-get -y install git build-essential gcc-multilib
EDIT: other question, how to handle both 32bit and 64bit d3dadapter9.so
with ModulePath
?
from nine.
Found & fixed a bug in the GUI when using ModulePath
and separating multiple libs with a colon.
While I was at it, I added the envvar D3D_MODULE_PATH
, which is an alternative to set it (works with colons too)
from nine.
fyi: git master has a new build option: -Ddistro-independent=true
(476a119). That should work nicely with PoL ;)
from nine.
Great!
from nine.
Maybe it is worth releasing a new version ?
Edit: where do I add that option ? ^^'
from nine.
https://github.com/iXit/wine-nine-standalone/releases/tag/v0.2
from nine.
Related Issues (10)
- Build issues on Fedora 28 HOT 34
- .dll location 32 bits vs 64 bits HOT 2
- Distro-independent? HOT 6
- Does not compile on ubuntu 18.04+padoka ppa HOT 6
- Viewport does not match desktop resolution HOT 3
- Some more packages for Debian buster HOT 7
- 0009:err:ninecfg:nine_set Failed to write 'HKCU\Software\Wine\DllOverrides\d3d9' HOT 2
- Clarify mixing of different Wine versions HOT 6
- Distro packages HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nine.