LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices


Reply
  Search this Thread
Old 08-19-2014, 06:46 AM   #1
hln
LQ Newbie
 
Registered: Sep 2009
Distribution: Ubuntu 14.04
Posts: 11

Rep: Reputation: 0
Running Antichamber on Ubuntu 14.04


Antichamber runs great on linux (steam version). But it is not playable with the Oculus Rift at this point.

The issues are: 1) no headtracking 2) graphics are not being split and distorted by Oculus SDK

My current plan is to use LD_PRELOAD to add the functionality, this seems to be the linux equivalent of DLL injection. Antichamber appears to be using SDL, I'm hoping this can be configured to use the headtracking data as a joystick and apply the graphics distortion, but I am not sure which functions I should be looking for.

Is there a simpler way of getting these issues resolved? Is SDL the right choice here?

Would appreciate any information on how the Unreal Engine 3 works under linux; and library injection too.
 
Old 08-19-2014, 07:28 AM   #2
hln
LQ Newbie
 
Registered: Sep 2009
Distribution: Ubuntu 14.04
Posts: 11

Original Poster
Rep: Reputation: 0
more info

Here is the information I have so far, still not sure which functions I should be looking for (not familiar with SDL or OpenGL):

Articles on LD_PRELOAD and shared object injection; hereand here

Antichamber (steam version) directory is: ~/.steam/steam/SteamApps/common/Antichamber

The executable is at: Antichamber/Binaries/Linux/UDKGame-Linux

Had to install libvorbisfile3:i386 to get the executable to run from the command line. (Steam was able to start the game without installing this)

Code:
$ldd UDKGame-Linux
	linux-gate.so.1 =>  (0xf775d000)
	libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7716000)
	libSDL2_mixer-2.0.so.0 => /home/workstation/.steam/steam/SteamApps/common/Antichamber/Binaries/Linux/./lib/libSDL2_mixer-2.0.so.0 (0xf76d0000)
	libogg.so.0 => /usr/lib/i386-linux-gnu/libogg.so.0 (0xf76c6000)
	libvorbis.so.0 => /usr/lib/i386-linux-gnu/libvorbis.so.0 (0xf769a000)
	libvorbisfile.so.3 => /usr/lib/i386-linux-gnu/libvorbisfile.so.3 (0xf7690000)
	libSDL2-2.0.so.0 => /home/workstation/.steam/steam/SteamApps/common/Antichamber/Binaries/Linux/./lib/libSDL2-2.0.so.0 (0xf75a7000)
	libGL.so.1 => /usr/lib32/nvidia-331-updates/libGL.so.1 (0xf74a3000)
	libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf749d000)
	librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf7494000)
	libsteam_api.so => /home/workstation/.steam/steam/SteamApps/common/Antichamber/Binaries/Linux/./lib/libsteam_api.so (0xf7481000)
	libtcmalloc.so.0 => /home/workstation/.steam/steam/SteamApps/common/Antichamber/Binaries/Linux/./lib/libtcmalloc.so.0 (0xf7424000)
	libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf733b000)
	libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf72f4000)
	libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf72d7000)
	libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7127000)
	/lib/ld-linux.so.2 (0xf775e000)
	libnvidia-tls.so.331.38 => /usr/lib32/nvidia-331-updates/tls/libnvidia-tls.so.331.38 (0xf7123000)
	libnvidia-glcore.so.331.38 => /usr/lib32/nvidia-331-updates/libnvidia-glcore.so.331.38 (0xf4edf000)
	libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf4daa000)
	libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf4d97000)
	libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf4d75000)
	libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf4d71000)
	libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf4d6a000)
Code:
$ nm -Du UDKGame-Linux
         U abort
         U accept
         U access
         U __assert_fail
         U backtrace
         U bind
         U chdir
         U close
         U closedir
         U connect
         U __ctype_b_loc
         U __ctype_toupper_loc
         U __cxa_atexit
         U __cxa_begin_catch
         U __cxa_call_unexpected
         U __cxa_end_catch
         U __cxa_guard_abort
         U __cxa_guard_acquire
         U __cxa_guard_release
         U __cxa_pure_virtual
         U difftime
         U __divdi3
         U dlclose
         U dlerror
         U dlopen
         U dlsym
         U __errno_location
         U fclose
         U fcntl
         U feof
         U ferror
         U fflush
         U fgets
         U __finitef
         U fopen
         U fprintf
         U fputc
         U fread
         U free
         U frexp
         U fseek
         U ftell
         U fwrite
         U __fxstat
         U getcwd
         U getenv
         U gethostname
         U getifaddrs
         U getpid
         U getsockname
         U getsockopt
         U gettimeofday
         U glAlphaFunc
         U glBegin
         U glBindTexture
         U glBlendFunc
         U glClear
         U glClearColor
         U glClearDepth
         U glClearStencil
         U glColorMask
         U glCullFace
         U glDeleteTextures
         U glDepthFunc
         U glDepthMask
         U glDepthRange
         U glDisable
         U glDrawArrays
         U glDrawBuffer
         U glEnable
         U glEnd
         U glGenTextures
         U glGetIntegerv
         U glGetString
         U glPixelStorei
         U glPolygonMode
         U glPolygonOffset
         U glReadBuffer
         U glReadPixels
         U glScissor
         U glStencilFunc
         U glStencilMask
         U glStencilOp
         U glTexCoord2f
         U glTexEnvf
         U glTexImage2D
         U glTexParameteri
         U glTexSubImage2D
         U glVertex2f
         U glViewport
         U glXGetClientString
         U glXGetProcAddressARB
         U glXQueryVersion
         w __gmon_start__
         U gmtime
         U gmtime_r
         U __gxx_personality_v0
         U inet_addr
         U ioctl
         U isalnum
         U isalpha
         U __isinff
         U __isnanf
         U isspace
         U iswpunct
         w _Jv_RegisterClasses
         U __libc_start_main
         U listen
         U localtime_r
         U lseek
         U malloc
         U memcmp
         U memcpy
         U memmove
         U memset
         U MinorityMix_SetPosition
         U mkdir
         U __moddi3
         U open
         U opendir
         U ov_clear
         U ov_info
         U ov_open_callbacks
         U ov_pcm_seek_page
         U ov_pcm_total
         U ov_read
         U ov_time_total
         U pause
         U powf
         U printf
         U pthread_cond_broadcast
         U pthread_cond_destroy
         U pthread_cond_init
         U pthread_cond_signal
         U pthread_cond_timedwait
         U pthread_cond_wait
         U pthread_create
         U pthread_detach
         U pthread_getspecific
         U pthread_key_create
         U pthread_key_delete
         U pthread_mutexattr_init
         U pthread_mutexattr_settype
         U pthread_mutex_destroy
         U pthread_mutex_init
         U pthread_mutex_lock
         U pthread_mutex_unlock
         U pthread_self
         U pthread_setspecific
         U qsort
         U rand
         U read
         U readdir
         U realloc
         U recv
         U recvfrom
         U rename
         U rmdir
         U sched_yield
         U SDL_BuildAudioCVT
         U SDL_ClearError
         U SDL_CloseAudio
         U SDL_ConvertAudio
         U SDL_ConvertSurfaceFormat
         U SDL_CreateRGBSurface
         U SDL_CreateTextureFromSurface
         U SDL_CreateWindow
         U SDL_DestroyWindow
         U SDL_Error
         U SDL_FillRect
         U SDL_free
         U SDL_FreeSurface
         U SDL_GameControllerClose
         U SDL_GameControllerOpen
         U SDL_GetClosestDisplayMode
         U SDL_GetDesktopDisplayMode
         U SDL_GetDisplayMode
         U SDL_GetError
         U SDL_GetKeyboardFocus
         U SDL_GetNumDisplayModes
         U SDL_GetNumVideoDisplays
         U SDL_GetPrefPath
         U SDL_GetWindowDisplayIndex
         U SDL_GetWindowSize
         U SDL_GL_CreateContext
         U SDL_GL_DeleteContext
         U SDL_GL_MakeCurrent
         U SDL_GL_SetAttribute
         U SDL_GL_SwapWindow
         U SDL_Init
         U SDL_IsGameController
         U SDL_isspace
         U SDL_LockAudioDevice
         U SDL_malloc
         U SDL_memcmp
         U SDL_memcpy
         U SDL_memset
         U SDL_MixAudioFormat
         U SDL_NumJoysticks
         U SDL_OpenAudioDevice
         U SDL_PauseAudioDevice
         U SDL_PollEvent
         U SDL_PushEvent
         U SDL_Quit
         U SDL_ReadBE32
         U SDL_ReadLE16
         U SDL_ReadLE32
         U SDL_realloc
         U SDL_RWFromFile
         U SDL_SetColorKey
         U SDL_SetError
         U SDL_SetHint
         U SDL_SetMainReady
         U SDL_SetWindowGrab
         U SDL_SetWindowIcon
         U SDL_ShowCursor
         U SDL_snprintf
         U SDL_sscanf
         U SDL_strcmp
         U SDL_strncasecmp
         U SDL_strncmp
         U SDL_UnlockAudioDevice
         U SDL_UpperBlit
         U SDL_WarpMouseInWindow
         U select
         U send
         U sendto
         U setsockopt
         U snprintf
         U socket
         U sprintf
         U srand
         U sscanf
         U SteamAPI_Init
         U SteamAPI_RegisterCallback
         U SteamAPI_RegisterCallResult
         U SteamAPI_RestartAppIfNecessary
         U SteamAPI_RunCallbacks
         U SteamAPI_Shutdown
         U SteamAPI_UnregisterCallback
         U SteamAPI_UnregisterCallResult
         U SteamApps
         U SteamFriends
         U SteamGameServer
         U SteamGameServer_BSecure
         U SteamGameServer_GetSteamID
         U SteamGameServer_Init
         U SteamGameServerNetworking
         U SteamGameServer_RunCallbacks
         U SteamGameServer_Shutdown
         U SteamGameServerStats
         U SteamGameServerUtils
         U SteamMatchmaking
         U SteamMatchmakingServers
         U SteamNetworking
         U SteamRemoteStorage
         U SteamUser
         U SteamUserStats
         U SteamUtils
         U stpcpy
         U strcasecmp
         U strchr
         U strcmp
         U strcpy
         U strdup
         U strlen
         U strncat
         U strncmp
         U strncpy
         U strrchr
         U strstr
         U strtod
         U strtol
         U swscanf
         U time
         U tolower
         U toupper
         U towupper
         U __umoddi3
         U unlink
         U _Unwind_Resume
         U usleep
         U utimes
         U vsnprintf
         U vsprintf
         U vswprintf
         U wcscat
         U wcschr
         U wcscmp
         U wcscpy
         U wcslen
         U wcsncmp
         U wcsncpy
         U wcsrchr
         U wcsstr
         U wcstod
         U wcstoul
         U wcstoull
         U wprintf
         U write
         U __xstat
         U _ZSt9terminatev
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Antichamber for Linux - (Humble Bundle) trouble launching tolenmar Linux - Games 8 03-02-2014 05:23 PM
ubuntu software center in ubuntu 11.10 not running and update manager error quazisaad Linux - Newbie 2 11-30-2011 12:43 PM
Ubuntu is running in low graphics mode and Ubuntu stops booting Ubuntu213 Linux - Hardware 10 04-26-2011 01:35 AM
Running a windows xp virtual machine on a old Dell Dimension 4600(running ubuntu) shadogamon Linux - Virtualization and Cloud 11 04-01-2011 03:08 PM
If you are running an Ubuntu mail or httpd: OpenSSL bug in Ubuntu's package rg.viza Ubuntu 1 05-16-2008 12:24 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 11:01 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration