vulkan-go / demos

Vulkan API crossplatform demos in Go
https://vulkanGo.com
Do What The F*ck You Want To Public License
151 stars 24 forks source link

GLFW setup on OSX #4

Open joeblew99 opened 7 years ago

joeblew99 commented 7 years ago

Because the setup is a bit heavy what do you think about a docker building to help people try this out ?

I had trouble with some of the dependencies.

joeblew99 commented 7 years ago

At least it will allow windows, Linux and android builds.. For osx and iOS there is no easy way , but I use a vagrant box that has osx in it. It works very well and is very easy to setup

xlab commented 7 years ago

I don't think Docker is a good pipeline for building desktop apps. It's not that hard to download an .exe from the official site of GLFW, adding Docker into this won't help a bit.

I had trouble with some of the dependencies.

Then please share your troubles in an issue, so I could improve the docs for the others.

android builds..

Android build requires Android NDK & SDK, not Docker.

xlab commented 7 years ago

P.S. you're free to share any scripts that will ease the setup

joeblew99 commented 7 years ago

thanks for the advice. My issue stemmed from getting GLFW setup, so yes forget Docker. I have android sdk and ndk all setup and been using it for a while. So back to the real issue: The issue for me was getting GLFW setup. I am on OSX. Your Readme says i need GLFW 3.3 I tried brew install but could not get version 3.3 as they dont have it yet. So i tried to compile and just got lost... Maybe add to the make file? or maybe some newbie instructions in the readme ?

xlab commented 7 years ago

@joeblew99

I was writing about master branch in the repo of GLFW, because 3.3 is needed but not yet released. You'll need to compile it with moltenVK support enabled. It autodetects moltenVK.

For OS X / macOS you'll need to install the latest GLFW 3.3 from master https://github.com/glfw/glfw

Which is

git clone https://github.com/glfw/glfw

and follow the GLFW compilation guide using cmake.

xlab commented 7 years ago

Update about Docker and cross-platform setups

NVIDIA has a Docker tool for CUDA deployments: https://github.com/NVIDIA/nvidia-docker

They have a new nvidia-docker 2.0 currently in works, see:

http://on-demand.gputechconf.com/gtc/2017/presentation/s7177-abecassis-calmels-containers-gpu-accelerated-applications.pdf

(https://github.com/NVIDIA/libnvidia-container)

That won't be so cumbersome as the first version for CUDA, it will also support ARM and Vulkan. So until then, we will run barebones.

tsal commented 5 years ago

update: glfw 3.3 is installed by default on homebrew now with brew install glfw; however, the vulkancube_glfw demo app fails with a createLayer error. I don't know if this is go-related (v1.12.x) or I've misunderstood the info regarding cmake / the makefile. It built just fine, and detects the hardware through vulkan, it just can't open a window.

xlab commented 5 years ago

It's very great news that 3.3 has been released! Waited for that a couple of years. We should switch to go-gettable glfw instead of brew installed, but go-gl team has troubles updating https://github.com/go-gl/glfw/pull/219

So I'll just research what could possibly cause your error using the current set of packages.