Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/10/2012, à 15:02

ghost-404

Wine, Gallium et dx11

Sa fait quelques semaines que je me pose une question... Où en est le support dx11 pour wine...
MESA supporte nativement depuis 2ans (Gallium et MESA partagent leur travaux depuis 2009) les instructions dx10/dx11... Mais wine bloque le support natif.
En effet a chaque fois qu'un jeu essaye de loader la d3dx11.dll, le coeur de wine bloque systématiquement l'accès, même si celle-ci est présente dans le répertoire système ainsi que dans le répertoire du jeu.
On croirait presque que Microsoft a demandé a un développeur de wine de bloquer le support natif pour d3dx11. (Oui elle reste bloqué même si dans winecfg on demande le support natif de la d3dx11.dll)
Quelqu'un a t il réussit a contourner cette "protection" ?
Ce que je trouve vraiment idiot c'est que l'équipe de Gallium (qui ont développé le support natif) l'ont eux même dit, ils ont fait tout le travail, l'intégration dans wine devrait être mise en place quasiment instantanément, mais non... 2ans après on a encore un blocage, alors que le support natif est totalement fonctionnel. C'est pas comme si on devais encore coder, non y a juste a demander a la personne qui a intégré ce blocage pour dx11 qu'il enlève sa fonction !

http://www.phoronix.com/scan.php?page=a … 3d11&num=1


Fedora 17
Intel core i7-2600 - 8GB Ram
Nvidia GTX 460SE (driver 304.51)
SSD Crucial 64GB - WD 250GB

Hors ligne

#2 Le 07/10/2012, à 15:33

love2hate

Re : Wine, Gallium et dx11

Direct3D In Gallium3D Suffers Bit-Rot, Now Disabled


"It's broken and unmaintained, and I'm tired of seeing bug reports about it."


1984 was not supposed to be an instruction manual
Some "poor" wine screencast http://www.youtube.com/user/2m42hy/videos?view=0

Hors ligne

#3 Le 07/10/2012, à 17:07

ghost-404

Re : Wine, Gallium et dx11

Voilà qui explique le blocage...

Merci ! wink


Fedora 17
Intel core i7-2600 - 8GB Ram
Nvidia GTX 460SE (driver 304.51)
SSD Crucial 64GB - WD 250GB

Hors ligne

#4 Le 22/07/2013, à 15:17

love2hate

Re : Wine, Gallium et dx11

Bump from the hell !!!!!!!!!!!!

Je remonte le topic suite au derniere news vu sur phoronix, apparament le support de dx9 a etait integrer dans une version couplet a une version de wine patcher y semble que sa donne des perfs 2x fois superieur a celle de wine3d


Christoph says right now that Skyrim, Civilization 5, Anno 1404, and StarCraft 2 are among the D3D9 games now running on Linux. Testing has happened from the Nouveau NVC0/Fermi and AMD Radeon R600g drivers. The performance is reportedly quite good and can be up to two times better than the frame-rate when using Wine's current code

phoronix

Mesa-3d

wine-mesa-3d



Quickstart Guide

!!! UPDATE WINE TO 1.6-rcX BEFORE PROCEEDING !!!

*** Configure and build mesa
CFLAGS="-m32" CXXFLAGS="-m32" ./autogen.sh --prefix=/usr \
 --with-gallium-drivers=nouveau,r600,swrast --enable-nine \
 --with-gallium-driver-dir="`pwd`/src/gallium/targets/pipe-loader/.libs" \
 --enable-debug --enable-texture-float --with-dri-drivers= --disable-dri \
 --disable-opengl --disable-egl --disable-vdpau --disable-xvmc --disable-gbm \
 --disable-gallium-llvm --enable-32bit --disable-64bit
make

*** Then we create some symlinks to mesa:
ln -s "`pwd`/lib/gallium/libd3dadapter9.so.0.0.0" /usr/lib/
ln -s "`pwd`/lib/gallium/libd3dadapter9.so.0" /usr/lib/
ln -s "`pwd`/lib/gallium/libd3dadapter9.so" /usr/lib/
ln -s "`pwd`/include/d3dadapter" /usr/include/

*** Clone and build a patched wine
git clone git@github.com:chrisbmr/wine.git
git checkout d3dadapter9-wip
./configure
make

*** And finally we create some symlinks to our patched wine files:
for f in d3d9.dll gdi32.dll user32.dll wineps.drv winex11.drv;
do
    mv /usr/lib/wine/$f.so /usr/lib/wine/$f.so.old
    ln -s "`pwd`/dlls/`basename -s .dll $f`/$f.so" /usr/lib/wine/
done

*** Activating it within wine
regedit
Navigate to HKCU\Software\Wine\Direct3D
If it's not there, create it
Create a new DWORD value called UseNative
Set its value to 1

Every Direct3D9 program will now try using nine before wined3d

If you want to selectively enable it per-exe instead, use the key:
HKCU\Software\Wine\AppDefaults\app.exe\Direct3D\UseNative
where app.exe is the name of your .exe file


*** HOW IT WORKS ***

Nine implements the full IDirect3DDevice9 COM interface and a custom COM
interface called ID3DAdapter9 which is used to implement a final IDirect3D9Ex
COM interface.
ID3DAdapter9 is completely devoid of window system code, meaning this can be
provided by wine, Xlib, Wayland, etc. It's inadvisible to write a non-Windows
backend though, as we don't want to encourage linux developers to use this API.

The state tracker is compiled, along with pipe-loader, into a library called
libd3dadapter9.so. This library loads pipe_[driver].so drivers on demand and
exports a single symbol for getting a subsystem driver. Currently only DRM is
supported.
This library is then linked to the library implementing the IDirect3D9[Ex]
interface and the actual Direct3D9 entry points (Direct3DCreate9[Ex])

The implementation of IDirect3D9[Ex] lies within wine and coexists with
wined3d. It's loaded on demand and so if it's not there, it doesn't have any
drivers or something else is wrong, d3d9.dll will automatically revert to using
wined3d.
Whether or not it's even tried is determined by 2 DWORD registry keys.
> HKCU\Software\Wine\Direct3D\UseNative
> HKCU\Software\Wine\AppDefaults\app.exe\Direct3D\UseNative
The former is the global on-switch. The latter is per-exe.

The driver search path can be set at configure time with
--with-gallium-driver-dir and overridden at runtime with D3D9_DRIVERS_PATH.
Debugging information can be gotten with the WINEDEBUG channels d3d9 and
d3dadapter, and state_tracker debug information can be gotten with NINE_DEBUG.
Help on NINE_DEBUG is shown through NINE_DEBUG=help

Finally, the ID3DPresent[Group] and ID3DAdapter9 interfaces are not set in
stone, so feel free to hack on those as well as st/nine.

Happy Hacking!


EDIT : penser a changer de branch apres avoir clone les gits que se soille celui mesa et wine   correction du tuto

CFLAGS="-m32" CXXFLAGS="-m32" ./autogen.sh --prefix=/usr \
 --with-gallium-drivers=nouveau,r600,swrast --enable-nine \
 --with-gallium-driver-dir="`pwd`/src/gallium/targets/pipe-loader/.libs" \
 --enable-debug --enable-texture-float --with-dri-drivers= --disable-dri \
 --disable-opengl --disable-egl --disable-vdpau --disable-xvmc --disable-gbm \
 --disable-gallium-llvm --enable-32-bit --disable-64-bit
make

c'est enable-32-bit/disable-64-bit et non 32bit/64bit

Pareille  au niveau des lien symbolique ne pas oublier d'apater les chemins si vous ete sur un OS multilib /usr/lib32 et pas /usr/lib qui doit etre un lien  symbolique sur /usr/lib64

Niveau perf bas pour le momment dessu du moin comparet a l'annonce .... Et quand meme impressioner de voir la difference entre wine/nouveau et wine patcher/d3dadapter  la ou le 1 er premier se retrouve ah ne pas afficher la moitier des effets voir ne pas lancer du tous de jeu, l'autre version demare le jeu avec un affichage niquel meme si je trouve les perfs en dessous du drivers nvidia proprio (tester sur une nvidia470 NVC0/Fermi)

Ah noter qui a deja quelqun bug  sur cette page Mesa-3D bug

Dernière modification par love2hate (Le 28/07/2013, à 17:56)


1984 was not supposed to be an instruction manual
Some "poor" wine screencast http://www.youtube.com/user/2m42hy/videos?view=0

Hors ligne