TuMaGoNx Posted October 29, 2016 Author Share Posted October 29, 2016 XomPie 0.3a with d3d9ex and not much else but few fixes xompie-0.3a.exe 5 Link to comment Share on other sites More sharing options...
Svyatpro Posted October 29, 2016 Share Posted October 29, 2016 (edited) TuMaGoNx, You can improve your D3D9Ex implementation by enabling CSMT by default. I usually use Wine-Patched build with csmt. It allows to run Mortal Kombat Komplete Edition and other games also it dramatically improves performance. Edited October 29, 2016 by Svyatpro 4 Link to comment Share on other sites More sharing options...
TuMaGoNx Posted October 29, 2016 Author Share Posted October 29, 2016 I don't test it with game but do you mean: wined3d_main.c ... #if defined(STAGING_CSMT) TRUE, /* Multithreaded CS by default. */ FALSE, /* Do not ignore render target maps. */ #endif /* STAGING_CSMT */ ... it was like that by default, or you talk about other thing? Link to comment Share on other sites More sharing options...
Svyatpro Posted October 29, 2016 Share Posted October 29, 2016 I know there's a difference in makefile between wined3d and wined3d-csmt. makefile.in EXTRADEFS = -DSTAGING_CSMT MODULE = wined3d-csmt.dll ..... https://github.com/wine-compholio/wine-patched/tree/master/dlls/wined3d-csmt Link to comment Share on other sites More sharing options...
TuMaGoNx Posted October 29, 2016 Author Share Posted October 29, 2016 Since Dibya asked me about C compiler via PM I will offer it here anyway shameless promotion mode: on I use GCC and TCC (by creator of FFMPEG) I customized gcc where it has flags like -vcr90, -vcr100 and so on which mean exe will linked with newer msvcrXXX.dll rather than system msvcrt.dll people familiar with gcc will ask what the difference with adding LDFLAGS+=-lmsvcrXXX? gcc is designed with msvcrt.dll in mind LDFLAGS above will only works on simple project, in most cases your exe will end up using two MSVCRTs risking a clash I customized mingw-rt so that it will use *only* newer MSVCRT. With restriction: you must enable both 64bit off_t and time_t As we know since msvcr80.dll (and Vista msvcrt.dll) it feature secure API, by using using newer vcrt we could preserve XP life, or better yet you could even "pad" libkernel32.a implib with static function that implemented in XomPie (although not all function can be treated this way). That is if you prefer re-compile than patching... I have use it more than three years for maintaining official PyGObject for Windows (https://wiki.gnome.org/Projects/PyGObject) shameless promotion mode: off @Dibya: you could use only .def file like this: gcc -shared table.def -o dummy.dll example of def file ; normal export abc ; export with ordinal specified abc @55 ; export without name abc NONAME ; renaming dummy.dll abc into dummy.dll cba abc=cba PS: note you can't do above without c source, but you co do below: ; a forwarder, dummy.dll abc forward to kernel32.dll abc as is abc=kernel32.abc ; a forwarder with ordinal specified (AFAIK if not specified ordinal assigned by order alphabetically) abc=kernel32.abc @55 ; a nameless forwarder with ordinal specified abc=kernel32.abc @55 NONAME ; a nameless forwarder with ordinal specified to nameless function at specified ordinal ; this not supported by gcc.. or rather ld dont accept "#" char, see https://github.com/tumagonx/XomPie/blob/master/shellxp.def (need to be proved) abc=kernel32.#122 @55 NONAME Link to comment Share on other sites More sharing options...
TuMaGoNx Posted October 29, 2016 Author Share Posted October 29, 2016 (edited) Errr.. of course I use wined3d-csmt.dll (I'm no noob at compiling) EDIT: see my blog for what I've been done: opensourcepack.blogspot.com hint: right-click wined3d.dll see "details tab" > original filename: Edited October 29, 2016 by TuMaGoNx Link to comment Share on other sites More sharing options...
Svyatpro Posted October 29, 2016 Share Posted October 29, 2016 CSMT is good for DX9, DX9Ex, but bad for DX10/11. It causes visual artifacts in many DX10/11 games supported by Wine, Tropico 5 for example. Link to comment Share on other sites More sharing options...
jumper Posted October 30, 2016 Share Posted October 30, 2016 (edited) ; this not supported by gcc.. or rather ld dont accept "#" char, see https://github.com/tumagonx/XomPie/blob/master/shellxp.def (need to be proved) abc=kernel32.#122 @55 NONAME abc=kernel32.@122 @55 NONAME Edited October 30, 2016 by jumper Link to comment Share on other sites More sharing options...
Svyatpro Posted October 30, 2016 Share Posted October 30, 2016 (edited) I took Samuka's and XomPie wrappers and picked most neccessary and reliable functions from both wrappers and put into my native kernel32.dll and shell32.dll and managed to run Photoshop CC 2015. But it still has many bugs, but it runs. I hadn't to modify Photoshot binaries (they are a lot), I just modified native kernel32.dll and shell32.dll forwarding nt6 functions to wrapper dlls. I think the best thing we can get is a solid wrapper (without msvcp* sh*t) that allows us to forward functions from native kernel to a wrapper dll. Edited October 30, 2016 by Svyatpro 2 Link to comment Share on other sites More sharing options...
dencorso Posted October 30, 2016 Share Posted October 30, 2016 2 hours ago, Svyatpro said: I think the best thing we can get is a solid wrapper (without msvcp* sh*t) that allows us to forward functions from native kernel to a wrapper dll. That's my opinion, too. And now I can see it's begining to become a reality. XomPie is a good step forward. But a solid wrapper sure is the way to go. 2 Link to comment Share on other sites More sharing options...
Svyatpro Posted October 30, 2016 Share Posted October 30, 2016 (edited) I can't manage how to fix Menu bar in Photoshop CC 2015. Here is my binaries, but they are only for Windows Server 2003 SP2. http://rgho.st/6hzbJ96pH You can directly put all these files into your System32 but I don't give any warranty it will work on your configuration!! So backup your original kernel32.dll;advapi32.dll;shell32.dll;user32.dll;psapi.dll;version.dll;ws2_32.dll;msvcrt.dll I get this when I click on menu bar: Edited October 30, 2016 by Svyatpro 3 Link to comment Share on other sites More sharing options...
TuMaGoNx Posted October 30, 2016 Author Share Posted October 30, 2016 (edited) @Jumper: which gcc you use? it reject def the way you use and you can delete the attachment you made like dencorso said. I *missed* the bin icon previously, since I always turned off the JS and images (only turn JS on to upload) @svyatPro: I already answer that in PM. You do it your way, you have to find your way then (it silly when you report the issue to me when you don't use it the way XomPie are made), no need to re-explain here... msi installer for xompie: I know most of you know how to hackaround msi file, but it shouldn't hurt to have a little helper I patched wine msi.dll so it will report versionNT as 601 (Win7) instead of 501. I'm aware that this is not the only way to check OS version e.g. CustomAction (CA dll). Also it may useless against bootstrapped msi. But hey its better than nothing. To install copy dll and exe into somewhere within %PATH% lookup, optionally install the cmd helper to your SendTo (just in case.. xomuninstall is included) as always NO system files modified NO registry modified, keep it PNP (PatchNPray) EDIT: Additionaly msi.dll's DllRegister entry is removed to prevent unintentional self-registering, this way Wine's msi kept out from system. FYI the patch is at dlls\msi\package.c: verval = OSVersion.dwMinorVersion + OSVersion.dwMajorVersion * 100; into verval = OSVersion.dwMinorVersion + 6.0 * 100;winemsi.7z Edited October 30, 2016 by TuMaGoNx 3 Link to comment Share on other sites More sharing options...
TuMaGoNx Posted October 31, 2016 Author Share Posted October 31, 2016 Well duh... turned out there lot need to patch the msi. Will make a diff for it, but lets roll another binary I rename it to msiexec7.exe and make it single executable to avoid dll mess and now it's just 230KB! the following are set: VersionNT=601 WindowsBuild=7601 ServicePackLevel=1 IsSupportedSIMD=1 (what's this sse or sse2? guess the later.. goodbye PIII) Previously I include xomuninstall because the uninstallation is a bit messy, the regular msiexec wont uninstall properly, so now I use registry WindowsInstaller=0 and set msiexec7 as the uninstaller. But this come with other consequence: double entries in add/remove (because it has HKLM\classes\Installer\Products but pretend not to be msi), you need to choose the first entry (the dupe will gone after uninstall). I think xomuninstall no longer needed https://github.com/tumagonx/XomPie/blob/master/msiexec7.exe?raw=true https://github.com/tumagonx/XomPie/blob/master/xominstall.cmd?raw=true Link to comment Share on other sites More sharing options...
Dibya Posted October 31, 2016 Share Posted October 31, 2016 19 hours ago, Svyatpro said: I can't manage how to fix Menu bar in Photoshop CC 2015. Here is my binaries, but they are only for Windows Server 2003 SP2. http://rgho.st/6hzbJ96pH You can directly put all these files into your System32 but I don't give any warranty it will work on your configuration!! So backup your original kernel32.dll;advapi32.dll;shell32.dll;user32.dll;psapi.dll;version.dll;ws2_32.dll;msvcrt.dll I get this when I click on menu bar: does newer crome is working? Link to comment Share on other sites More sharing options...
Svyatpro Posted October 31, 2016 Share Posted October 31, 2016 9 minutes ago, Dibya said: does newer crome is working? Only up to 50's version. I don't certainly know why. Fails at the beginning at Chrome.exe Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now