Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Thank you! #1

Open
bo3b opened this issue Nov 2, 2020 · 20 comments
Open

Thank you! #1

bo3b opened this issue Nov 2, 2020 · 20 comments

Comments

@bo3b
Copy link
Owner

bo3b commented Nov 2, 2020

@KindDragon: And your colleagues, thank you so much! I believe this can set us free from the shackles of NVidia.

This is not a real issue- just pinging you here to let you know I've gotten the code and setup the repo for development. I don't expect to ask for much help, but might ping you on occasion for architectural questions.

Removing the madchook is not a problem, and clearly right. I am going to ping madshi to see if he might provide us a license because he likes the project.

I assume that the missing outputs for ColorCode and Daxon are also for patent/license reasons.

I've set the project up using an MIT license, please let me know if you all have any preference, or see anything you think I've set up incorrectly.

Thanks again. -bo3b

@bo3b
Copy link
Owner Author

bo3b commented Nov 12, 2020

@KindDragon: Do you or your colleagues have any preference for this project in terms of open-source?

I've contacted the author of madCHook and he is willing to provide a complimentary license for a modern version of his library. That would allow us to simply bring iZ3D up immediately, instead of rewriting the hooking.

However- he naturally cannot allow it to be part of an open-source project. We could make the project private instead, and I'm trying to weigh the options and best approach, including your preferences.

@KindDragon
Copy link

Great. You can do whatever you think is best for the project

@DrPepperBianco
Copy link

I think the final goal should be open-source software. But to get results faster, this approach could probably be used to develop (and do replacing the hooking libraries later).

I also think it probably is much easier to replace the program code of the dll hooking, if you have a working version to begin with, instead of having to guess what certain code is doing.

On the other hand, if this project is not open source, it could end up as another closed source project, that could drop dead, if nobody is developing it any further (like original iz3d, tridef and 3dvision before).

I personally have never programmed dll hooking before, so I don't know how difficult it would be to do that.

@VR-Punk
Copy link

VR-Punk commented Dec 15, 2020

THX ! I believe in you !

@bo3b
Copy link
Owner Author

bo3b commented Dec 15, 2020

Thought I'd add a quick update here. madshi very generously agreed to provide me with a single purpose license, as long as I keep the files secret. So I've been able to drop in his library and fix a few remaining problems, and have been able to make a full build without errors, including the Inno installer package.

The packaged installer runs on Win10 now without crashing, successfully installs the driver, and the control panel UI is working. The bad news is that the 3D itself does not work, but I think that is because I need to work out how to sign the hook library with the same cert used for the driver. It's a new requirement. Still, compiling, linking and running without crashing is genuine progress.

I definitely agree that longer term we definitely want it to be all open-source, but it's extremely helpful for debugging and development to have running code. It's easier to debug and tweak stuff that is running, because it's very difficult to be effective in code that you've never seen and didn't write. More soon I hope.

@VR-Punk
Copy link

VR-Punk commented Jan 23, 2021

Any good News in development ?

@ohgrant
Copy link

ohgrant commented May 19, 2021

Just adding a big thank you to those that made the code accessible to them that have the passion and skill to bring it back and further developed. Also big thanks to bo3b for doing his thing. If you succeed there should be a statue built in your honor

@sir-maniac
Copy link

@bo3b: I wanted to express my appreciation for your work on this.

I recently learned of this from the mtbs topic. I'm very excited.

Although I don't have experience with DLL injection, I do have some experience in C++, and have a pretty good understanding of low-level OS architectures. I don't have a lot of time to dedicate, but with what time I have, I'd love to help out.

Re this post: As I understand it, it is much harder to release open source kernel-level drivers in windows 10 than previous windows versions, so personally, I'd prefer using launchers/dropping in DLLs. As far as I understand(but could easily misunderstand), it has the added benefit of being able to chain other modifications like ENB shaders. Just my two cents.

@bo3b
Copy link
Owner Author

bo3b commented Feb 11, 2022

@sir-maniac Hey, that would be awesome if you'd like to work on this code base. I'm not currently able to put further time into this, but if you'd like to experiment I can give you direct commit access.

The code for the DX9 side is very good, but the DX11 side stopped development relatively early and thus is not as good as we'd like and will need some additional work. Since this was built, a lot of DX11 games have moved to using ComputeShaders.


I put some effort into getting the kernel driver running and signed but it's really complicated and strict now. I agree that it's not the best way to go nowadays, So if you can create a wrapper-style build without that restriction, that would be an excellent place to start.

@ohgrant
Copy link

ohgrant commented Feb 12, 2022

Thanks again for all your hard work on this bo3b and welcome and thanks to you sir-maniac for your interest. Still using IZ3D, on occasion, on my old Win 7 machine here. Your idea about using launchers/dropping in Dll's sounds like a great option if it bypasses the need for kernel level drivers in Win 10.
I've recently been using SuperDepth 3D with Reshade on a few titles that has really impressed me more than I thought fake 3D possibly could.
Really cool how Reshade integrated SuperDepth into its shaders, just check the box , the files are downloaded into the game directory and all settings are accessible in the Reshade home screen.
I'm wondering if the same thing can be done with the IZ3D driver?

@ohgrant
Copy link

ohgrant commented Feb 12, 2022

Another launcher that uses integrated SuperDepth 3D is the Dolphin emulator. Unlike the Reshade way of injecting it, it's setup in Dolphin's graphics setup with all the output methods. I was actually fooled by it thinking it was real 3D for a short time.
Not sure if it's possible, but would be great to have a PC game launcher like that, that has IZ3D game driver support for the games that it could handle best, integrated tools like DGvoodoo and Reshade and possibly even SuperDepth 3D/VR support for games that IZ3D couldn't do.
Here is a small clip of a 007 game I tried to capture. I'm pretty sure the image is inverted, my passive 3DTV is by default. Not viewable in crosseyed. invert or flip the glasses upside down. https://www.dropbox.com/s/mcmnyu18lvnwf1c/007%20NF.mp4?dl=0

Sure hope to see IZ3D working in Win 10 sometime in the future

@sir-maniac
Copy link

Thank you @bo3b,

I won't promise much yet. I'm assuming getting it easily built with recent build tools will be a helpful contribution, so I will focus on that first. After that, maybe I can contribute further.

I've been spending my spare time getting things to build in CMake. Since the library binaries were git-ignored, using CMake and vcpkg as a package manager, seemed like a better use of my time. Hopefully there won't be that much source that needs porting to newer versions.

So far I've got CommonUtils without the ShaderProcessor and ArchiveFile building smoothly. Not much yet, but a start.

I'll try to get something working soon. Hopefully that will drum up interest and bring in more interested parties to help contribute.

@aerisarn
Copy link

aerisarn commented Feb 22, 2022

I was able to dash trough most of the code, the update to vs2019 is mainly trivial, the only real deal is to get rid of madchook, which is now non-free. From what i know from similar hook process, Detour could be a candidate.

P.S: i've seen that someone else was working on it too late. I'm one of the old buyers but my version actually is lost to the ages, still I have a working sbs projector and win10 1809 to test upon

@sir-maniac
Copy link

sir-maniac commented Feb 22, 2022

@aerisarn I'm glad it's been trivial for you. I haven't tried simply updating all the project files, as I thought the time it would take to find (and often build from source) all the libraries wasn't worth my time. I'm not all that experienced with visual studio, though. I've preferred linux for most of my professional and personal development work.

I have made some progress getting CMake to build the project, though. I recently tried getting a version of VisualC++ from visual studio 2010 set up, since one of the use cases for this project is to build for OSs older than Windows 7. The installation program, and various setup scripts seem broken. As I am hoping to lower the bar of entry away from requiring an MS Dev Essentials membership, I'm trying to build off of only the old SDKs using CMake. It was my hope to build with the old version to make sure any updates to the code would not break building for older OSs.

@aerisarn
Copy link

regarding msvc. as long as you can install redistributables anything post xp will work. Code changes have to be done because of some fairly different standards between 2010 and post 2017. Visual studio community is free as it is the SDK (and even ATL/MFC) so you don't need dev essentials. I'm a big fan of cmake but I'd like to build the original sln upgraded before doing all the ins and outs of passing to cmake, also because it's interoperability with vs2017 was very bad, at least in 2017 (where I could not manage to make virtual folders properly). Anyway I've forked and I'll try to do some clean commits of my modifications, it might prove useful.

@sir-maniac
Copy link

@aerisarn
As far as my experience with the website, to which I definitely could be wrong, It appears a Windows Dev Essentials membership is required for any older version of visual studio community/express. Only visual studio 2022 works without that, so that was the bar I was talking about.

According to the SDK page, Windows 7 is the earliest target for the current SDKs.

You are right about the visual studio redistributables everything after XP is supported up to the 2022 version.

If someone wanted to target XP(which I might have put too much importance on), and didn't want to get an account(which might not be that much of an issue for people), would be to use an install something older, probably the Windows SDK 7.1, and use the command line tools that are bundled with it.

@sir-maniac
Copy link

sir-maniac commented Feb 23, 2022

@aerisarn Either way, I appreciate any help you would like to offer in modernizing the code.

PS - Maybe we can set up a discussion thread on this.

@VR-Punk
Copy link

VR-Punk commented Dec 7, 2022

Is this project still alive ? I'm asking because of the release of geo-11 and geo3D ?

@sir-maniac
Copy link

sir-maniac commented Dec 8, 2022

I've personally been doing some work to sort out the dependencies.

It's been slow-going as I haven't been able to commit much time to it and the internal dependencies don't have corresponding binaries, but I've made some progress in getting things to work.

I've also replaced all the madchook calls with an abstraction layer to make it easy to use another hook library.

I'm hoping to clean up my branch and format them into pull requests in near future.

@shaomeichen
Copy link

Thanks, great work, but I don't know much about code, so I can only provide some testing work, if needed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants