Giter Site home page Giter Site logo

kotlin-graphics / openvr Goto Github PK

View Code? Open in Web Editor NEW
34.0 8.0 0.0 41.77 MB

OpenVR SDK

Home Page: http://steamvr.com

License: BSD 3-Clause "New" or "Revised" License

Kotlin 99.78% Java 0.22%
jvm java kotlin bindings java-bindings binding steamvr sdk vr openvr-sdk

openvr's Issues

Failing tests - Unable to read VR Path Registry from ~/.config/openvr/openvrpaths.vrpath

Hi Giuseppe,

I'm having an issue building your code on Ubuntu using gradle. Both unit tests are failing when trying to initialise the vr api. Please note I don't have steam or any openvr api runtime currently installed on my system.

Based on TesteEventLogger output it seems that a pre-requisite to executing the tests on this project is to install openvr api runtime. Would it be better if the tests were configured to use either a generic or platform-specific openvrpaths.vrpath file?

[ERROR] [system.err] Unable to read VR Path Registry from /home/steve/.config/openvr/openvrpaths.vrpath
11:30:16.284

[ERROR] [system.err] Unable to read VR Path Registry from /home/steve/.config/openvr/openvrpaths.vrpath

How did you get around this issue in your Travis build? I checked your travis build and can't see any line suggesting a step requiring openvr be installed prior to running the build.

Cheers,

Steve

CreateOverlay causes EXCEPTION_ACCESS_VIOLATION

Hello, Giuseppe

Quite a long time I have been struggling with mentioned error.
I'm running Windows 10 x64, HTC Vive, nvidia 1070 and amd fx-8320.

Following code:

import openvr.lib.*
import java.nio.LongBuffer

fun main() {
    println("java ${System.getProperty("java.version")} ${System.getProperty("sun.arch.data.model")}bit")
    println(vr.isHmdPresent)
    println(vr.isRuntimeInstalled)
    println(vr.runtimePath)

    val ivr = vr.init(VRApplication.Overlay)
    println("ivr error code: $ivr")

    println("vrOverlay.isInterfaceVersionValid = ${vrOverlay.isInterfaceVersionValid}")

    val testOverlayHandle = VROverlayHandleBuffer.allocate(1).also {
        println(it.limit())
        vrOverlay.createOverlay("test:overlay", "test overlay", it) // <- access violation
//        vrOverlay.createDashboardOverlay("test:overlay", "test dashboard overlay", it, LongBuffer.allocate(1)) // <- no exception produced here
    }.get(0)

    vrOverlay.setOverlayFromFile(testOverlayHandle, "duck.png")
    vrOverlay showOverlay testOverlayHandle

    Thread.sleep(2000)

    vrOverlay hideOverlay testOverlayHandle
    vrOverlay destroyOverlay testOverlayHandle

    vr.shutdown()
}

Produces output:

java 1.8.0_221 32bit
true
true
C:\Program Files (x86)\Steam\steamapps\common\SteamVR
ivr error code: None
vrOverlay.isInterfaceVersionValid = true
1
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x15d6efe6, pid=15344, tid=0x0000429c
#
# JRE version: Java(TM) SE Runtime Environment (8.0_221-b11) (build 1.8.0_221-b11)
# Java VM: Java HotSpot(TM) Client VM (25.221-b11 mixed mode windows-x86 )
# Problematic frame:
# C  [vrclient.dll+0x8efe6]
#
# Core dump written. Default location: C:\Workspace\cyber-timer\hs_err_pid15344.mdmp
#
# An error report file with more information is saved as:
# C:\Workspace\cyber-timer\hs_err_pid15344.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

Process finished with exit code 1

Have tried also under Java 11 x64 both 1.2.10 release and cbc252e with about the same result (but pc like 0x7ffc########).
Seems magical to me that createDashboardOverlay doesn't cause any errors.

Attaching Visual Studio to native code shown access violation with pc=0x00000000, can it be a null pointer?
PDB file for vrclient.dll isn't available hence I don't see any further options for native debug.
hs_err_pid15344.mdmp and hs_err_pid15344.log

SteamVR is 1.6.10, though I expect it to be backward-compatible, declarations of CreateOverlay are similar in openvr.h of 1.2.10 and of 1.6.10. I'd like to try older versions of SteamVR, but I don't see an obvious way of safe downgrade.

P.S. helloVr_OpenGL works as a charm with my setup and SteamVR 1.6.10.

--
Regards,
Fedor

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.