Search Unity

Linux Static Linking technical question

Discussion in 'Getting Started' started by base4, Mar 12, 2015.

  1. base4

    base4

    Joined:
    Mar 11, 2015
    Posts:
    30
    Hello.
    I was trying to post a technical question about one of your Target Platforms "Linux".
    But there is no relevant section in http://forum.unity3d.com/categories/platforms.77/

    Is this an intentional "oversight" to stymie the likely relentless flow of "WHERE IS MY NATIVE EDITOR!!!".
    If so, What about a nice simple, LOCKED, STICKY at the top stating the UT policy on the matter.


    http://docs.unity3d.com/Manual/PlatformSpecific.html suggests that it might have something linux related but:
    http://docs.unity3d.com/Manual/class-PlayerSettingsStandalone.html mentions it once at the top, no more.

    http://docs.unity3d.com/Manual/class-PluginInspectorStandalone.html did have a few bits that were a bit helpful about linux but not about the process I need.

    Political ramblings aside:
    Where do I post my technical question on the linking procedure in linux.?

    I see a near identical question answered in the windows forum here: http://forum.unity3d.com/threads/windows-standalone-output-executable-c-runtime-library.259632/

    And was wondering if I might ask a similar question about the construction of the x86_64 stuff...
    Example:
    file /media/linux/LinuxBuild/LinuxTest.x86_64_DX11.x86_64:
    ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=46e1127219b37d0672c3727bf9f27919058cb568, stripped​

    I was wondering if it might be possible to build a static version and was hunting around for some underlying tips.

    however so far I have failed to find anything specific about linux?
    I am probably just looking in the wrong place.

    ldd example
    Code (csharp):
    1.  
    2. ldd /media/linux/LinuxBuild/LinuxTest.x86_64_DX11.x86_64
    3.     linux-vdso.so.1 =>  (0x00007fffa77e5000)
    4.     libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f6fa9c37000)
    5.     libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f6fa9a19000)
    6.     librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f6fa9810000)
    7.     libGL.so.1 => /usr/lib/nvidia-304/libGL.so.1 (0x00007f6fa94f3000)
    8.     libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f6fa91be000)
    9.     libXcursor.so.1 => /usr/lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007f6fa8fb3000)
    10.     libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007f6fa8da9000)
    11.     libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f6fa8aa3000)
    12.     libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f6fa888c000)
    13.     libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6fa84c7000)
    14.     /lib64/ld-linux-x86-64.so.2 (0x00007f6fa9e67000)
    15.     libnvidia-tls.so.304.125 => /usr/lib/nvidia-304/tls/libnvidia-tls.so.304.125 (0x00007f6fa82c4000)
    16.     libnvidia-glcore.so.304.125 => /usr/lib/nvidia-304/libnvidia-glcore.so.304.125 (0x00007f6fa5ed9000)
    17.     libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f6fa5cc7000)
    18.     libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f6fa5aa8000)
    19.     libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f6fa589d000)
    20.     libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f6fa5697000)
    21.     libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f6fa5492000)
    22.     libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f6fa528c000)
    23.  
    I suspect libpthread.so.0 is the first thing preventing these builds running on more linux platforms (slackware for example) and would love to try a few more "specific" build options.
    (I did manage to scrape a libpthread64.so Seg 11 out of a slackware install trying to boot this test and would start there)

    Any chance of a few build flags? or a hint of a relevant clue. I am happy to read tech docs. Do they exist? Am I just being really dim? Perhaps this is all documented somewhere already?

    Please? With Cherries?
    Really red ones that are juicy and taste like vanilla ice-cream on a hot summers day.
    Thank you.

    I have gotten very unlikely apps to run on even more unlikely platforms before.
    (links to youtubes of crazy things running on arm powered e-paper) with a bit of support it can be amazing what we community folks can do.

    Love from us. your community.

    And can we have a forum heading please?
    : D
     
    Last edited: Mar 12, 2015
  2. base4

    base4

    Joined:
    Mar 11, 2015
    Posts:
    30
    pursuant to the task of simplifying identification of (and reducing size of) likely crash surface a headless build seems like the place to start?

    me@ubuntu64:~$ ldd /TESTAGE/Headless/headless.x86
    linux-gate.so.1 => (0xf7782000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7750000)
    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7734000)
    librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf772a000)
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf76e4000)
    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf76c7000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7519000)
    /lib/ld-linux.so.2 (0xf7783000)

    me@ubuntu64:~$ ldd /media/me/extra/TESTAGE/Headless/headless.x86_64
    linux-vdso.so.1 => (0x00007fffe5509000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f1c7f087000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f1c7ee69000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f1c7ec60000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f1c7e95a000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f1c7e744000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1c7e37e000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f1c7f2b7000)

    Will see if I can seg something again with that lot :D

    And here is a tad more techno-burble for the interested.

    (dev build)

    this is on Ubuntu 14.04

    $ file /TESTAGE/Dx9-Deferred-Dev-debug-universal/blank-test-dx9.x86_64

    ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=9b9385b96bbae35576523403b735d70bed8532bf, not stripped​

    $ ldd /media/me/extra/TESTAGE/Dx9-Deferred-Dev-debug-universal/blank-test-dx9.x86_64

    linux-vdso.so.1 => (0x00007fffb57fe000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fddb8ba1000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fddb8983000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fddb877a000)
    libGL.so.1 => /usr/lib/nvidia-304/libGL.so.1 (0x00007fddb845d000)
    libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fddb8128000)
    libXcursor.so.1 => /usr/lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007fddb7f1d000)
    libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007fddb7d13000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fddb7a0d000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fddb77f6000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fddb7431000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fddb8dd1000)
    libnvidia-tls.so.304.125 => /usr/lib/nvidia-304/tls/libnvidia-tls.so.304.125 (0x00007fddb722e000)
    libnvidia-glcore.so.304.125 => /usr/lib/nvidia-304/libnvidia-glcore.so.304.125 (0x00007fddb4e43000)
    libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fddb4c31000)
    libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fddb4a12000)
    libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007fddb4807000)
    libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007fddb4601000)
    libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fddb43fc000)
    libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fddb41f6000)

    ooh looks like fun.

    32 bit:

    $ file /TESTAGE/Dx9-Deferred-Dev-debug-universal/blank-test-dx9.x86

    ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=812a546855231976335629b2b2644262fc257750, not stripped​

    $ ldd /TESTAGE/Dx9-Deferred-Dev-debug-universal/blank-test-dx9.x86

    linux-gate.so.1 => (0xf76df000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf76ad000)
    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7691000)
    librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf7687000)
    libGL.so.1 => /usr/lib32/nvidia-304/libGL.so.1 (0xf75ab000)
    libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf7477000)
    libXcursor.so.1 => /usr/lib/i386-linux-gnu/libXcursor.so.1 (0xf746c000)
    libXrandr.so.2 => /usr/lib/i386-linux-gnu/libXrandr.so.2 (0xf7461000)
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf741a000)
    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf73fd000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf724f000)
    /lib/ld-linux.so.2 (0xf76e0000)
    libnvidia-tls.so.304.125 => /usr/lib32/nvidia-304/tls/libnvidia-tls.so.304.125 (0xf724b000)
    libnvidia-glcore.so.304.125 => /usr/lib32/nvidia-304/libnvidia-glcore.so.304.125 (0xf5545000)
    libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf5531000)
    libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf550f000)
    libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xf5504000)
    libXfixes.so.3 => /usr/lib/i386-linux-gnu/libXfixes.so.3 (0xf54fe000)
    libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf54fa000)
    libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf54f2000)
     
    Last edited: Mar 12, 2015
  3. base4

    base4

    Joined:
    Mar 11, 2015
    Posts:
    30
    Okay. so headless works fine.
    Without a preload. so it aint that. will try a blank test and see what x balks out.

    Built on Ubuntu: run on Slackware, Headless x86_64

    bash-4.2$ /media/extra/TESTAGE/Headless/headless.x86_64
    Found path: /media/extra/TESTAGE/Headless/headless.x86_64
    Mono path[0] = '/media/extra/TESTAGE/Headless/headless_Data/Managed'
    Mono path[1] = '/media/extra/TESTAGE/Headless/headless_Data/Mono'
    Mono config path = '/media/extra/TESTAGE/Headless/headless_Data/Mono/etc'
    This is a win. No deaths

    Suppose I should see about fiddling with the unity build guts next ...
     
  4. base4

    base4

    Joined:
    Mar 11, 2015
    Posts:
    30
    On Slackware 14.0

    bash-4.2$ ldd /media/extra/TESTAGE/NonDx11BLinux64/LinuxTest.x86_64_DX9.x86_64

    linux-vdso.so.1 (0x00007fff0fdff000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f95d023b000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f95d001e000)
    librt.so.1 => /lib64/librt.so.1 (0x00007f95cfe16000)
    libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007f95cfae3000)
    libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f95cf7aa000)
    libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x00007f95cf5a0000)
    libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007f95cf398000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f95cf09c000)
    libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007f95cee87000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f95ceac7000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f95d046e000)
    libnvidia-tls.so.331.79 => /usr/lib64/tls/libnvidia-tls.so.331.79 (0x00007f95ce8c3000)
    libnvidia-glcore.so.331.79 => /usr/lib64/libnvidia-glcore.so.331.79 (0x00007f95cc0b4000)
    libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f95cbea3000)
    libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f95cbc84000)
    libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f95cba81000)
    libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007f95cb87c000)
    libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f95cb672000)
    libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007f95cb46c000)
    which doesn't look unreasonable

    bash-4.2$ ldd /media/extra/TESTAGE/Dx9-Deferred-Dev-debug-universal/blank-test-dx9.x86_64
    linux-vdso.so.1 (0x00007fffe3172000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f423f6ef000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f423f4d2000)
    librt.so.1 => /lib64/librt.so.1 (0x00007f423f2ca000)
    libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007f423ef97000)
    libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f423ec5e000)
    libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x00007f423ea54000)
    libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007f423e84c000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f423e550000)
    libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007f423e33b000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f423df7b000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f423f922000)
    libnvidia-tls.so.331.79 => /usr/lib64/tls/libnvidia-tls.so.331.79 (0x00007f423dd77000)
    libnvidia-glcore.so.331.79 => /usr/lib64/libnvidia-glcore.so.331.79 (0x00007f423b568000)
    libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f423b357000)
    libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f423b138000)
    libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f423af35000)
    libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007f423ad30000)
    libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f423ab26000)
    libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007f423a920000)
    bash-4.2$ file /media/extra/TESTAGE/Dx9-Deferred-Dev-debug-universal/blank-test-dx9.x86_64
    /media/extra/TESTAGE/Dx9-Deferred-Dev-debug-universal/blank-test-dx9.x86_64: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked (uses shared libs), BuildID[sha1]=0xb985939b55e3ba6b033452760bd735b7bf3285ed, not stripped

    video drivers perhaps?... hmm.....

    libnvidia-tls.so.304.125 => /usr/lib/nvidia-304/tls/libnvidia-tls.so.304.125 (0x00007fddb722e000)
    libnvidia-glcore.so.304.125 => /usr/lib/nvidia-304/libnvidia-glcore.so.304.125 (0x00007fddb4e43000)

    !=

    libnvidia-tls.so.331.79 => /usr/lib64/tls/libnvidia-tls.so.331.79 (0x00007f423dd77000)
    libnvidia-glcore.so.331.79 => /usr/lib64/libnvidia-glcore.so.331.79 (0x00007f423b568000)


    more detail:

    bash-4.2$ /media/extra/TESTAGE/Dx9-Deferred-Dev-debug-universal/blank-test-dx9.x86_64

    Found path: /media/extra/TESTAGE/Dx9-Deferred-Dev-debug-universal/blank-test-dx9.x86_64
    Mono path[0] = '/media/extra/TESTAGE/Dx9-Deferred-Dev-debug-universal/blank-test-dx9_Data/Managed'
    Mono path[1] = '/media/extra/TESTAGE/Dx9-Deferred-Dev-debug-universal/blank-test-dx9_Data/Mono'
    Mono config path = '/media/extra/TESTAGE/Dx9-Deferred-Dev-debug-universal/blank-test-dx9_Data/Mono/etc'
    PlayerConnection initialized from /media/extra/TESTAGE/Dx9-Deferred-Dev-debug-universal/blank-test-dx9_Data (debug = 0)
    PlayerConnection initialized network socket : 0.0.0.0 55510
    Multi-casting "[IP] 192.168.1.99 [Port] 55510 [Flags] 3 [Guid] 3753786965 [EditorId] 1552770366 [Version] 1048832 [Id] LinuxPlayer(192.168.1.99) [Debug] 1" to [225.0.0.222:54997]...
    Waiting for connection from host on [192.168.1.99:55510]...
    Timed out. Continuing without host connection.
    Using monoOptions --debugger-agent=transport=dt_socket,embedding=1,defer=y,address=0.0.0.0:56965
    PlayerConnection already initialized - listening to [192.168.1.99:55510]
    displaymanager : xrandr version warning. 1.3
    client has 2 screens
    displaymanager screen (0)(VGA-0): 1280 x 1024
    displaymanager screen (1)(DVI-I-0): 1280 x 960
    Using libudev for joystick management


    Importing game controller configs​
    and the resolution selector comes up.. however choosing any option, causes X to bomb the current session.

    Let's see what we did on the way "in"

    bash-4.2$ cat /var/log/Xorg.0.log.old | grep "NVIDIA" > GraphicsCardReferences.log
    [ 22.460] (II) Module nvidia: vendor="NVIDIA Corporation"
    [ 22.476] (II) NVIDIA dlloader X Driver 331.79 Sat May 17 23:37:42 PDT 2014
    [ 22.476] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
    [ 22.572] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
    [ 22.572] (==) NVIDIA(0): RGB weight 888
    [ 22.572] (==) NVIDIA(0): Default visual is TrueColor
    [ 22.572] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
    [ 22.572] (**) NVIDIA(0): Option "Stereo" "0"
    [ 22.572] (**) NVIDIA(0): Option "nvidiaXineramaInfoOrder" "CRT-1"
    [ 22.572] (**) NVIDIA(0): Option "SLI" "Off"
    [ 22.572] (**) NVIDIA(0): Option "MultiGPU" "Off"
    [ 22.572] (**) NVIDIA(0): Option "BaseMosaic" "off"
    [ 22.572] (**) NVIDIA(0): Stereo disabled by request
    [ 22.572] (**) NVIDIA(0): NVIDIA SLI disabled.
    [ 22.572] (**) NVIDIA(0): NVIDIA Multi-GPU disabled.
    [ 22.572] (**) NVIDIA(0): Option "MetaModes" "DVI-I-0: 1280x960 +0+0, VGA-0: nvidia-auto-select +1280+0"
    [ 22.572] (**) NVIDIA(0): Enabling 2D acceleration
    [ 22.572] (EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X
    [ 22.572] (EE) NVIDIA(0): log file that the GLX module has been loaded in your X
    [ 22.572] (EE) NVIDIA(0): server, and that the module is the NVIDIA GLX module. If
    [ 22.572] (EE) NVIDIA(0): you continue to encounter problems, Please try
    [ 22.572] (EE) NVIDIA(0): reinstalling the NVIDIA driver.
    [ 23.359] (WW) NVIDIA(0): Unable to read EDID for display device CRT-0
    [ 23.374] (II) NVIDIA(0): Display (ProView/EMC/PTS (CRT-1)) does not support NVIDIA 3D
    [ 23.374] (II) NVIDIA(0): Vision stereo.
    [ 23.374] (II) NVIDIA(0): NVIDIA GPU GeForce GT 240 (GT215) at PCI:1:0:0 (GPU-0)
    [ 23.374] (--) NVIDIA(0): Memory: 524288 kBytes
    [ 23.374] (--) NVIDIA(0): VideoBIOS: 70.15.1e.00.00
    [ 23.374] (II) NVIDIA(0): Detected PCI Express Link width: 16X
    [ 23.377] (--) NVIDIA(0): Valid display device(s) on GeForce GT 240 at PCI:1:0:0
    [ 23.377] (--) NVIDIA(0): CRT-0 (boot, connected)
    [ 23.377] (--) NVIDIA(0): ProView/EMC/PTS (CRT-1) (connected)
    [ 23.377] (--) NVIDIA(0): DFP-0
    [ 23.377] (--) NVIDIA(0): DFP-1
    [ 23.377] (--) NVIDIA(0): CRT-0: 400.0 MHz maximum pixel clock
    [ 23.377] (--) NVIDIA(0): ProView/EMC/PTS (CRT-1): 400.0 MHz maximum pixel clock
    [ 23.377] (--) NVIDIA(0): DFP-0: Internal Single Link TMDS
    [ 23.377] (--) NVIDIA(0): DFP-0: 330.0 MHz maximum pixel clock
    [ 23.377] (--) NVIDIA(0): DFP-1: Internal Single Link TMDS
    [ 23.377] (--) NVIDIA(0): DFP-1: 165.0 MHz maximum pixel clock
    [ 23.377] (**) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display
    [ 23.377] (**) NVIDIA(0): device CRT-0 (Using EDID frequencies has been enabled on
    [ 23.377] (**) NVIDIA(0): all display devices.)
    [ 23.380] (**) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display
    [ 23.380] (**) NVIDIA(0): device ProView/EMC/PTS (CRT-1) (Using EDID frequencies has
    [ 23.380] (**) NVIDIA(0): been enabled on all display devices.)
    [ 23.380] (WW) NVIDIA(GPU-0): The EDID for ProView/EMC/PTS (CRT-1) contradicts itself: mode
    [ 23.380] (WW) NVIDIA(GPU-0): "800x600" is specified in the EDID; however, the EDID's
    [ 23.380] (WW) NVIDIA(GPU-0): valid VertRefresh range (60.000-75.000 Hz) would exclude
    [ 23.380] (WW) NVIDIA(GPU-0): this mode's VertRefresh (56.2 Hz); ignoring VertRefresh
    [ 23.380] (WW) NVIDIA(GPU-0): check for mode "800x600".
    [ 23.381] (II) NVIDIA(0): Validated MetaModes:
    [ 23.381] (II) NVIDIA(0): "DVI-I-0:1280x960+0+0,VGA-0:nvidia-auto-select+1280+0"
    [ 23.381] (II) NVIDIA(0): Virtual screen size determined to be 2560 x 1024
    [ 23.411] (WW) NVIDIA(0): Unable to get display device CRT-0's EDID; cannot compute DPI
    [ 23.411] (WW) NVIDIA(0): from CRT-0's EDID.
    [ 23.411] (==) NVIDIA(0): DPI set to (75, 75); computed from built-in default
    [ 23.411] (II) NVIDIA: Using 768.00 MB of virtual memory for indirect memory access.
    [ 23.416] (II) NVIDIA(0): Setting mode "DVI-I-0:1280x960+0+0,VGA-0:nvidia-auto-select+1280+0"
    [ 23.699] (==) NVIDIA(0): Disabling shared memory pixmaps
    [ 23.699] (==) NVIDIA(0): Backing store disabled
    [ 23.699] (==) NVIDIA(0): Silken mouse enabled
    [ 23.716] (==) NVIDIA(0): DPMS enabled
    [ 23.717] (II) NVIDIA(0): [DRI2] Setup complete
    [ 23.717] (II) NVIDIA(0): [DRI2] VDPAU driver: nvidia
    [ 256.962] (II) NVIDIA(0): Setting mode "DVI-I-0:1280x960+0+0,VGA-0:nvidia-auto-select+1280+0"
    [ 257.246] (WW) NVIDIA(GPU-0): Unable to read EDID for display device CRT-0
    [ 257.246] (**) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display
    [ 257.246] (**) NVIDIA(0): device CRT-0 (Using EDID frequencies has been enabled on
    [ 257.246] (**) NVIDIA(0): all display devices.)
    [ 257.263] (II) NVIDIA(GPU-0): Display (ProView/EMC/PTS (CRT-1)) does not support NVIDIA 3D
    [ 257.263] (II) NVIDIA(GPU-0): Vision stereo.
    [ 346.856] (II) NVIDIA(0): Setting mode "DVI-I-0:1280x960+0+0,VGA-0:nvidia-auto-select+1280+0"
    [ 347.112] (==) NVIDIA(0): Disabling shared memory pixmaps
    [ 347.112] (==) NVIDIA(0): DPMS enabled
    [ 347.113] (II) NVIDIA(0): [DRI2] Setup complete
    [ 347.113] (II) NVIDIA(0): [DRI2] VDPAU driver: nvidia
    [ 3276.148] (WW) NVIDIA(GPU-0): Unable to read EDID for display device CRT-0
    [ 3276.148] (**) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display
    [ 3276.148] (**) NVIDIA(0): device CRT-0 (Using EDID frequencies has been enabled on
    [ 3276.148] (**) NVIDIA(0): all display devices.)
    [ 3276.166] (II) NVIDIA(GPU-0): Display (ProView/EMC/PTS (CRT-1)) does not support NVIDIA 3D
    [ 3276.166] (II) NVIDIA(GPU-0): Vision stereo.
    [ 3997.217] (WW) NVIDIA(GPU-0): Unable to read EDID for display device CRT-0
    [ 3997.217] (**) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display
    [ 3997.217] (**) NVIDIA(0): device CRT-0 (Using EDID frequencies has been enabled on
    [ 3997.217] (**) NVIDIA(0): all display devices.)
    [ 3997.234] (II) NVIDIA(GPU-0): Display (ProView/EMC/PTS (CRT-1)) does not support NVIDIA 3D
    [ 3997.234] (II) NVIDIA(GPU-0): Vision stereo.
    few gripes there I suppose that could be looked over.

    Let's see what it made of that crash...

    [ 3997.283] Backtrace:
    [ 3997.283] 0: /usr/bin/X (xorg_backtrace+0x36) [0x55d536]
    [ 3997.283] 1: /usr/bin/X (0x400000+0x160ef9) [0x560ef9]
    [ 3997.283] 2: /lib64/libpthread.so.0 (0x7f024bfbd000+0xf4e0) [0x7f024bfcc4e0]
    [ 3997.283]
    [ 3997.283] Segmentation fault at address (nil)
    [ 3997.283]
    Fatal server error:
    [ 3997.283] Caught signal 11 (Segmentation fault). Server aborting
    [ 3997.283]
    [ 3997.283]
    Please consult the The X.Org Foundation support
    at http://wiki.x.org
    for help.
    [ 3997.283] Please also check the log file at "/var/log/Xorg.0.log" for additional information.
    [ 3997.283]
    [ 3997.824] Server terminated with error (1). Closing log file.​

    hmmmmmm. Ideas anyone.

    strace it maybe?
     
    Last edited: Mar 12, 2015
  5. base4

    base4

    Joined:
    Mar 11, 2015
    Posts:
    30
    bash-4.2$ strace -fF /media/extra/TESTAGE/Dx9-Deferred-Dev-debug-universal/blank-test-dx9.x86_64 &> GraphicsCardReferencesStrace.log

    one section I thought I would highlight as it was a surprise :)
    [pid 2865] open("/media/extra/TESTAGE/Dx9-Deferred-Dev-debug-universal/blank-test-dx9_Data/Resources/UnityPlayer.png", O_RDONLY) = -1 ENOENT (No such file or directory)
    hmm... interesting that one. And it's not lying it's not there. Oversight UT?


    relevant bit from the bottom with boredom elided

    this appears to be x complaining about trying to still draw a window while closing out I am guessing... nothing conclusive?

    [pid 2865] open("/proc/cpuinfo", O_RDONLY) = 17
    [pid 2865] read(17, "processor\t: 0\nvendor_id\t: Authen"..., 8191) = 3476

    [pid 2865] open("/usr/share/X11/XErrorDB", O_RDONLY) = 17
    [pid 2865] fstat(17, {st_mode=S_IFREG|0644, st_size=41495, ...}) = 0
    [pid 2865] brk(0x437d000) = 0x437d000
    [pid 2865] read(17, "!\n! Copyright 1993, 1995, 1998 "..., 41495) = 41495
    [pid 2865] close(17) = 0
    [pid 2865] write(9, "XError: BadWindow (invalid Windo"..., 112) = 112
    [pid 2865] poll([{fd=13, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=13, revents=POLLOUT}])
    [pid 2865] writev(13, [{"\233\5\4\0\0\0\0\0\0\0\0\0\3\0\240\1", 16}, {NULL, 0}, {"", 0}], 3) = 16
    [pid 2865] poll([{fd=13, events=POLLIN}], 1, -1) = 1 ([{fd=13, revents=POLLIN|POLLHUP}])
    [pid 2865] write(2, "blank-test-dx9.x86_64: Fatal IO "..., 94) = 94
    [pid 2865] unlink("/dev/shm/mono.2865") = 0
    [pid 2865] semop(196609, {{3, -1, SEM_UNDO}}, 1) = 0
    [pid 2865] semop(196609, {{3, 1, SEM_UNDO}}, 1) = 0
    [pid 2865] semop(196609, {{3, -1, SEM_UNDO}}, 1) = 0
    [pid 2865] semop(196609, {{3, 1, SEM_UNDO}}, 1) = 0
    [pid 2865] semop(196609, {{6, -1, SEM_UNDO}}, 1) = 0
    [pid 2865] semctl(196609, 7, GETVAL, 0xffffffffffffffff) = 1
    [pid 2865] semctl(196609, 0, IPC_RMID, 0xffffffffffffffff) = 0
    [pid 2865] uname({sys="Linux", node="pixie", ...}) = 0
    [pid 2865] uname({sys="Linux", node="pixie", ...}) = 0
    [pid 2865] getuid() = 1000
    [pid 2865] unlink("/dev/shm/mono-shared-1000-shared_data-pixie-Linux-x86_64-328-12-0") = 0
    [pid 2865] uname({sys="Linux", node="pixie", ...}) = 0
    [pid 2865] uname({sys="Linux", node="pixie", ...}) = 0
    [pid 2865] getuid() = 1000
    [pid 2865] unlink("/dev/shm/mono-shared-1000-shared_fileshare-pixie-Linux-x86_64-40-12-0") = 0
    [pid 2865] uname({sys="Linux", node="pixie", ...}) = 0
    [pid 2865] --- SIGHUP (Hangup) @ 0 (0) ---
    Process 2866 detached
    Process 2867 detached
    Process 2868 detached
    Process 2869 detached

    more hmmmming

    Any ideas on a next step anyone?
     
    Last edited: Mar 12, 2015
  6. base4

    base4

    Joined:
    Mar 11, 2015
    Posts:
    30
    Hmm well we looked over this again and decided it would probably be a rebuild from source in at least one lib to make this seamless. It's shelved for now.
     
  7. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    I haven't quite gotten a hold of what you're trying to do yet... :D
    But on the other hand, one of the crashes appears to be caused by the nVidia driver stuffing around. Not sure otherwise where the prob might be... :)
     
  8. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    OH WAIT! :eek:
    are you trying to integrate everything in so that it's got no dependencies? (or a small amount of them) I'm in! :)

    Point being, I found that unity was practically unusable on puppy linux, and thatwas due to so many dependencies missing! The only way anyone's going to run a unity game on linux is if it's a bloated distro like Ubuntu, of which would have everything mentioned in ldd.

    Again UT, please listen to this guy! :)
     
  9. base4

    base4

    Joined:
    Mar 11, 2015
    Posts:
    30
    That is exactly it. At the very least document a single lib or two that need a specific build / symbol combo to facilitate a far wider linux community. At very little actual research expense - or even really help - from anyone, just trace down the bits we are failing on. (I did my best so far, need more input, I asked one other user so far who did help some) and document why they fail.

    Without this information (why we fail) we will never succeed, so let's get it written down. Then fix it.

    Thanks for listening, far more complicated apps than a blank unity game have been run on far more esoteric platforms than puppy linux or slackware.

    (I've seen Win95 boot on a Kindle Touch, not fire, Touch)
    We can do this.

    Call for assistance please, ideally a few of our linux lurkers.
     
  10. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058