Skip to content

Instantly share code, notes, and snippets.

@johnny2k
johnny2k / Steam System Information
Created August 14, 2022 07:39
No Audio in Spider-Man Remastered
Computer Information:
Manufacturer: ASUSTeK Computer INC.
Model: P8Z68-V PRO GEN3
Form Factor: Desktop
No Touch Input Detected
Processor Information:
CPU Vendor: GenuineIntel
CPU Brand: Intel(R) Core(TM) i7-2700K CPU @ 3.50GHz
CPU Family: 0x6
➜ build git:(master) cmake ../
-- The CXX compiler identification is GNU 4.8.5
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.26")
CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfig.cmake:27 (message):
<icculus> icculus: is there a better way of doing this: https://github.com/3dluvr/UnrealEngine/commit/65572ff2115b400b54aae411be13e80233e7c235#diff-ab99c81ebe9bdbe9ae1adf75e3dd4733R628
<icculus> amigo-: Is the problem that sometimes you don't have a window?
<icculus> amigo-: or are we just giving bogus information sometimes?
* zlsa has quit (Ping timeout: 245 seconds)
<johnny2k> icculus: amigo- went to bed but I think he was asking that question around the time we were discussing a warning we've encountered https://gist.github.com/johnny2k/803f7c671cbf24b48044.
<icculus> johnny2k: that's because the X11 headers aren't included from SDL_video.c, so the compiler is assuming it returns an int, which it doesn't.
<icculus> The "fix" is to include the headers, or move that somewhere under src/video/x11
<icculus> The real fix is not to call Xlib functions directly though. :)
/home/johnny/src/3dluvr.old/UnrealEngine/Engine/Source/ThirdParty/SDL2/SDL-gui-backend/src/video/SDL_video.c:644:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
return (void*)glXGetCurrentDisplay();
-- SDL2 was configured with the following options:
--
-- Platform: Linux-3.13.0-37-generic
-- 64-bit: TRUE
-- Compiler: /usr/bin/cc
--
-- Subsystems:
-- Atomic: ON
-- Audio: ON
-- Video: ON
/home/johnny/src/3dluvr/UnrealEngine/Engine/Source/ThirdParty/SDL2/SDL-gui-backend/src/video/SDL_video.c: In function ‘SDL_GetDisplay’:
/home/johnny/src/3dluvr/UnrealEngine/Engine/Source/ThirdParty/SDL2/SDL-gui-backend/src/video/SDL_video.c:644:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
return (void*)glXGetCurrentDisplay();
➜ UnrealEngine git:(4.7-linux-ovr) ✗ make SlateViewer
bash "/home/johnny/src/3dluvr/UnrealEngine"/Engine/Build/BatchFiles/Linux/Build.sh SlateViewer Linux Development
Building SlateViewer...
Using clang version '3.5.0' (string), 3 (major), 5 (minor), 0 (patch)
Performing 1 actions (4 in parallel)
[1/1] Link SlateViewer
/home/johnny/src/3dluvr/UnrealEngine/Engine/Source/ThirdParty/SDL2/SDL-gui-backend/lib/Linux/x86_64-unknown-linux-gnu/libSDL2_fPIC.a(SDL_video.c.o): In function `SDL_GetDisplay':
/home/johnny/src/3dluvr/UnrealEngine/Engine/Source/ThirdParty/SDL2/SDL-gui-backend/src/video/SDL_video.c:644: undefined reference to `glXGetCurrentDisplay'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
-------- End Detailed Actions Stats -----------------------------------------------------------
➜ Src pwd
/Users/johnny2k/src/ovr_sdk_linux_0.4.4/LibOVR/Src
➜ Src diff /Users/johnny2k/src/3dluvr/UnrealEngine/Engine/Source/ThirdParty/Oculus/LibOVR/LibOVR_04/Src .
Common subdirectories: /Users/johnny2k/src/3dluvr/UnrealEngine/Engine/Source/ThirdParty/Oculus/LibOVR/LibOVR_04/Src/CAPI and ./CAPI
Common subdirectories: /Users/johnny2k/src/3dluvr/UnrealEngine/Engine/Source/ThirdParty/Oculus/LibOVR/LibOVR_04/Src/Displays and ./Displays
Common subdirectories: /Users/johnny2k/src/3dluvr/UnrealEngine/Engine/Source/ThirdParty/Oculus/LibOVR/LibOVR_04/Src/Kernel and ./Kernel
Common subdirectories: /Users/johnny2k/src/3dluvr/UnrealEngine/Engine/Source/ThirdParty/Oculus/LibOVR/LibOVR_04/Src/Net and ./Net
Only in .: OVR_CAPI.cpp
Only in /Users/johnny2k/src/3dluvr/UnrealEngine/Engine/Source/ThirdParty/Oculus/LibOVR/LibOVR_04/Src: OVR_CAPI_D3D.h
Only in .: OVR_JSON.cpp
Here are some notes about what I've found.
After compiling libovr and dropping the .a file into the appropriate place I was able to run the commands listed in the sanity check with mixed results.
See my gist, https://gist.github.com/johnny2k/032490c8b50db80c67ce for some logs.
The top one is a log that led me to comment out that large section of code.
My guess is that one of the calls to FAnalyticsEventAttribute was causing the crash so I just commented it all out but I think I know which line it is that is causing the problem.
The bottom gist is the output of ldd libUE4Editor-OculusRift.so.
I'm not sure if it's actually a problem that the other shared objects are not found or not so I've posted on answers.unreal about it.
I set LD_LIBRARY_PATH to Engine/Binaries/Linux and the same command no longer had missing .so links AND it listed a ton more of them as well.
Running in standalone resulted in a black oculus screen but it did appear that tracking was working
Used https://github.com/mitchemmc/UE4FirstPers
modified: Engine/Plugins/Runtime/OculusRift/OculusRift.uplugin
modified: Engine/Plugins/Runtime/OculusRift/Source/OculusRift/OculusRift.Build.cs
modified: Engine/Plugins/Runtime/OculusRift/Source/OculusRift/Private/OculusRiftHMD.cpp
modified: Engine/Plugins/Runtime/OculusRift/Source/OculusRift/Private/OculusRiftHMD.h
modified: Engine/Plugins/Runtime/OculusRift/Source/OculusRift/Private/OculusRiftRender.cpp
modified: Engine/Plugins/Runtime/OculusRift/Source/OculusRift/Public/IOculusRiftPlugin.h
modified: Engine/Source/ThirdParty/Oculus/LibOVR/LibOVR.build.cs