rumpus icon indicating copy to clipboard operation
rumpus copied to clipboard

Issues getting rumpus building / running

Open mgsloan opened this issue 9 years ago • 7 comments

Hey! Rumpus and related packages looks really cool, awesome work! After getting extra-lib-dirs and such set up to what seem to be acceptable spots, I fixed a couple type errors with this diff:

diff --git a/src/Rumpus/Main.hs b/src/Rumpus/Main.hs
index 67c38ce..8c9c803 100644
--- a/src/Rumpus/Main.hs
+++ b/src/Rumpus/Main.hs
@@ -64,7 +64,7 @@ initializeECS ghc pd vrPal = do

 rumpusMain :: IO ()
 rumpusMain = withRumpusGHC $ \ghc -> withPd $ \pd -> do
-    vrPal <- initVRPal "Rumpus" [UseOpenVR]
+    vrPal <- initVRPal "Rumpus"

     --singleThreadedLoop ghc pd vrPal
     multiThreadedLoop ghc pd vrPal
diff --git a/src/Rumpus/Systems/Render.hs b/src/Rumpus/Systems/Render.hs
index ead1d1d..5f6ae1c 100644
--- a/src/Rumpus/Systems/Render.hs
+++ b/src/Rumpus/Systems/Render.hs
@@ -102,7 +102,7 @@ tickRenderSystem headM44 = do

     -- Render the scene
     vrPal  <- viewSystem sysControls ctsVRPal
-    renderWith vrPal headM44 $ \projM44 viewM44 -> do
+    renderWith vrPal headM44 $ \projM44 viewM44 _ _ -> do
         glClear (GL_COLOR_BUFFER_BIT .|. GL_DEPTH_BUFFER_BIT)
         let projViewM44 = projM44 !*! viewM44
         renderEntities     projViewM44 shapeCounts

Not sure why this is needed, I have the latest version of vr-pal. Maybe it'd be better to use git submodules / SHAs in the stack.yaml? I realize it's less convenient, but seems like we have a version mismatch here.

Anyway, with that patch and ghci I get the following output:

*Main> main
No redirect found in C:\Users\Sirius.Orangetan\Documents\Rumpus\redirect.txt
Using rumpus root: pristine
Loading scene: pristine\Lobby
SubHalive recompiling: ("pristine\\Lobby\\Platform.hs","start")
SubHalive recompiling: ("pristine\\Lobby\\Stars.hs","start")
SubHalive recompiling: ("pristine\\Lobby\\DoorMaker.hs","start")
Segmentation fault

With the built executable, I get dll loading issues. I tried copying all the relevant dlls right next to the exe, and got passed those via that approach, but now it immediately exits, printing a newline. Do I need to have the Vive ready to go? Unfortunately at the moment I can only connect either the Vive or monitor at once, and the Vive software really doesn't seem to be designed for that!

It's been something like 9 or 10 years since I developed on windows, so I'm pretty rusty at this stuff.

mgsloan avatar Aug 07 '16 21:08 mgsloan

Hi Michael! Thanks so much :)

Oops, I have some work in the ghc8 branch that I meant to merge back in but got pulled away with the release excitement. You'll have to switch halive over to the ghc8 branch too. I'll fix that up today; getting the packages pinned more reliably together is indeed high on my list :)

The segmentation fault is one I've been hunting for quite some time, I managed to make it rare enough with GHC7 on most machines to get the release out but it still pops up consistently on others. Phyx heroically figured it out for 8.0.2; in the meantime I've done a build of GHC8.0.1 with just the relevant patch applied: https://github.com/lukexi/ghc/releases/tag/8.0.1.1

The scripts/rumpus-release script automates the dll collection process so you can check that out to confirm your method.

It will boot up just fine without the Vive (there's limited WASD/mouse support) so it's probably just the segfault you're hitting!

lukexi avatar Aug 07 '16 21:08 lukexi

Aha, actually I just hadn't pushed : ) (re the version mismatch) - master is up to date now.

If you want to give GHC7 one more try, do check that bindings-GLFW is on my win-halive-fix branch as that was one of the workarounds to the segfault. https://github.com/lukexi/rumpus/blob/master/scripts/clone-dependencies.sh#L24

lukexi avatar Aug 07 '16 22:08 lukexi

Hi Michael, I did the switch to submodules just now so a git submodule update --init --recursive will be in order. I also merged GHC 8 support and made it the required version - this build will still be needed until 8.0.2 comes out: https://github.com/lukexi/ghc/releases/download/8.0.1.1/ghc-8.0.1-x86_64-unknown-mingw32.tar.xz

Hope that helps and let me know how you get on, would love to get you going : )

lukexi avatar Aug 18 '16 02:08 lukexi

Cool, thanks Luke! I got quite busy recently (last minute decided to go to burning man!). Keen on giving it another try early / mid september.

mgsloan avatar Aug 19 '16 20:08 mgsloan

Radd, have a great time and tell me how it is : ))

lukexi avatar Aug 20 '16 00:08 lukexi

Hi! Sorry, not sure if this is related, but I've been unable to launch Rumpus from Steam with the headset connected. I get the 'this program stopped working' popup.

Interestingly I can launch it just fine without the headset.

Let me know if you have some workaround I could try, or if you can tell me how to give you better debug info.

jdiez17 avatar Oct 26 '16 11:10 jdiez17

Hi José! Want to send me an email at [email protected] and we can debug it together? Thanks!! (in the meantime you can try the experimental branch which has a couple fixes: right click Rumpus in Steam, click Properties, Betas, then choose "experimental" in the drop down - you don't need a code)

lukexi avatar Oct 27 '16 16:10 lukexi