-
Notifications
You must be signed in to change notification settings - Fork 521
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
Adding MacOS Instructions #80
Conversation
Oh, the one thing that I ended up changing on the example was that I changed |
Very nice work, thank you for your contribution. I will review this as soon as possible. In the meanwhile, could you remove the |
Oops, forgot that one. Done! |
The introduction contains
That should mention MacOS as well.
I'd add a sentence making it explicit that there is no native support for Vulkan on MacOS, and that it can only be used through the translation layer offered by MoltenVK. Perhaps mention some limitations of this and things to consider.
in Xcode
MacOS does not use X11, but rather APIs like Cocoa (this is in the GLFW section)
"in the generated main.cpp" Also make clear that it's okay for the user to not understand the code and that it's only there for testing (see the other sections for reference)
cloned
installs libraries
Could you upload a higher resolution screenshot and add a thumbnail in the chapter itself?
Now, in the General tab, in Linked Frameworks and Libraries
It would be nice to briefly cover why these are needed (e.g. UI frameworks)
remembering to set
I think this may be the cause of how GLFW and the Vulkan SDK are setup on MacOS. Could you check with glfw/glfw#870 if there is a way to get |
About some of your points:
Honestly, I do not know the details myself. The list I made was based on GLFW docs (just not mentioning the OpenGL framework because that one is not necessary for this case) and the MoltenVK docs. I can definitely rewrite this part to mention this, but I myself do not know why certain frameworks are required (and the docs don't really hel much either).
There was actually no specific reason, I just sort of picked one and used it. But now, reading the documentation, it seems that maybe changing it do the LunarG would be better not only for the extra stuff the SDK includes, but also because it seems even easier to set it up on Xcode. And then maybe it will get I'll have some more time by the end of the week to check that stuff, and you other comments too. |
Sure, you don't have to cover all of them. Just summarizing as "IOSurface.framework, QuartzCore.framework and IOKit.framework handle the window UI and Metal.framework the interfacing with the Metal framework" would be fine.
Cool, there's no rush :) |
Alright @Overv, finally had some thing to redo this thing. I was able to get the whole LunarG SDK to work, instead of just using the MoltenVk package. In fact I believe using it made some things easier, less frameworks to set up. I changed a bit the way to do it, now I am using dynamic libs instead of static libs, which makes the whole setup easier. I also changed how to get glfw for mac, the link you posted before was really helpful. The reason I think overall the instructions got a bit easier (or maybe I am just thinking that because after reading these documentations to get this thing to work I am much more familiar with Xcode now haha). I have also updated some pictures. Check it out, tell me what you think. |
Nice work, I'll look at it tomorrow :) |
It's looking very good, just a few more comments. If you fix these, then I'll merge it 👍
translates
You forgot the explanation mark to turn it into the image. It's just a link right now.
installs, same for the bullet point after that |
Done. |
It is now live, thanks for the awesome work! |
@fvcaputo Could you look into this comment and see if some extra instructions could/should be added? https://vulkan-tutorial.com/Drawing_a_triangle/Graphics_pipeline_basics/Shader_modules#comment-4210582247 |
I have recently started following this (excellent) tutorial on Vulkan, but at first I really got kind of stuck setting up everything to run on my macbook. I am also a relatively new dev on mac, so I had to learn some stuff as I went.
I got the setup to work on Xcode and I decided to add that information on the instructions. Everything seems to be running fine over here, inclusing the demos, so I think these instructions should be fine.
Suggestions are definitely welcome, not only on phrasing and all that, but on the actual instructions (if maybe I forgot something that would break on more advanced applications or something like that).
Cheers!