SDL & Linux ARM

Discuss SDL programming with the RebelSDL plugin here
User avatar
Allanon
Posts: 732
Joined: Sun Feb 14, 2010 7:53 pm
Location: Italy
Contact:

SDL & Linux ARM

Post by Allanon »

Hello,
I'm having problems trying to run a compiled application for Linux-ARM (odroid device to be more specific) that uses the rebelsdl.hwp plugin.
I've previously compiled other apps for this machine with Hollywood 6 without any problem, this is the first attempt to compile for Linux-ARM & RebelSDL using Hollywood 7.

The problem is that when I try to execute my program I'm getting always an alert saying "This program requires rebelsdl.hwp!".
But the plugin in the same folder where the executable is.
I've double-checked the plugin to be sure that it is right, and it is.
I've tried to run it from the icon and from the shell but with the same error.

My directory structure is:

Code: Select all

--+ program folder
  |
  +-- program_executable
  +-- rebelsdl.hwp
  +-+ data
    |
    +-- application data files...
I'm not familiar with Linux, but reading on the net I've tried to produce a log generated by the command "strace", if someone is skilled enough to understand what's the problem I'll be happy to send to him, I'm not posting it here because I'm not sure if it can have sensitive informations.

Have you tried to compiled for Linux-ARM + RebelSDL with Hollywood 7?
User avatar
airsoftsoftwair
Posts: 5425
Joined: Fri Feb 12, 2010 2:33 pm
Location: Germany
Contact:

Re: SDL & Linux ARM

Post by airsoftsoftwair »

I think SDL on Linux needs some third-party software that you need to install first. If this third-party software can't be loaded, Hollywood can't load RebelSDL. To see the RebelSDL dependencies, run the following from bash:

Code: Select all

$ readelf -s rebelsdl.hwp
This will print a list of all shared objects required by rebelsdl.hwp. Please scan the list and see if you have everything listed, otherwise install the missing packages and try again.
SamuraiCrow
Posts: 475
Joined: Fri May 15, 2015 5:15 pm
Location: Waterville, Minnesota USA

Re: SDL & Linux ARM

Post by SamuraiCrow »

Another thing may be that the ODroid XU4 (the model I have) has drivers for OpenGL ES but not OpenGL. If RebelSDL requires OpenGL, you may need to recompile SDL2 with OpenGL ES support or use GLShim to add OpenGL 1.x equivalence.
I'm on registered MorphOS using FlowStudio.
User avatar
Allanon
Posts: 732
Joined: Sun Feb 14, 2010 7:53 pm
Location: Italy
Contact:

Re: SDL & Linux ARM

Post by Allanon »

Hello, here is the log produced by readelf :

Code: Select all


Symbol table '.dynsym' contains 228 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 0000720c     0 SECTION LOCAL  DEFAULT    9 
     2: 0016e98c     0 SECTION LOCAL  DEFAULT   18 
     3: 00000000     0 FUNC    GLOBAL DEFAULT  UND pthread_mutex_unlock@GLIBC_2.4 (2)
     4: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND pthread_detach
     5: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND sem_post
     6: 00000000     0 FUNC    GLOBAL DEFAULT  UND calloc@GLIBC_2.4 (2)
     7: 00000000     0 FUNC    GLOBAL DEFAULT  UND strstr@GLIBC_2.4 (2)
     8: 00000000     0 FUNC    GLOBAL DEFAULT  UND raise@GLIBC_2.4 (2)
     9: 00000000     0 FUNC    GLOBAL DEFAULT  UND pthread_cond_broadcast@GLIBC_2.4 (2)
    10: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND dlopen
    11: 00000000     0 FUNC    GLOBAL DEFAULT  UND iconv_close@GLIBC_2.4 (2)
    12: 00000000     0 FUNC    GLOBAL DEFAULT  UND iconv@GLIBC_2.4 (2)
    13: 00000000     0 FUNC    GLOBAL DEFAULT  UND vc_dispmanx_resource_dele
    14: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND pthread_mutexattr_settype
    15: 00000000     0 FUNC    GLOBAL DEFAULT  UND strcmp@GLIBC_2.4 (2)
    16: 00000000     0 FUNC    WEAK   DEFAULT  UND __cxa_finalize@GLIBC_2.4 (2)
    17: 00000000     0 FUNC    GLOBAL DEFAULT  UND strtol@GLIBC_2.4 (2)
    18: 00000000     0 NOTYPE  WEAK   DEFAULT  UND _ITM_deregisterTMCloneTab
    19: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND sinf
    20: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND pthread_sigmask
    21: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND pthread_attr_setstacksize
    22: 00000000     0 FUNC    GLOBAL DEFAULT  UND printf@GLIBC_2.4 (2)
    23: 00000000     0 FUNC    GLOBAL DEFAULT  UND read@GLIBC_2.4 (2)
    24: 00000000     0 FUNC    GLOBAL DEFAULT  UND pthread_mutex_destroy@GLIBC_2.4 (2)
    25: 00000000     0 FUNC    GLOBAL DEFAULT  UND vc_dispmanx_rect_set
    26: 00000000     0 FUNC    GLOBAL DEFAULT  UND fflush@GLIBC_2.4 (2)
    27: 00000000     0 FUNC    GLOBAL DEFAULT  UND memmove@GLIBC_2.4 (2)
    28: 00000000     0 FUNC    GLOBAL DEFAULT  UND free@GLIBC_2.4 (2)
    29: 00000000     0 FUNC    GLOBAL DEFAULT  UND fgets@GLIBC_2.4 (2)
    30: 00000000     0 FUNC    GLOBAL DEFAULT  UND pthread_mutex_lock@GLIBC_2.4 (2)
    31: 00000000     0 FUNC    GLOBAL DEFAULT  UND nanosleep@GLIBC_2.4 (2)
    32: 00000000     0 FUNC    GLOBAL DEFAULT  UND ferror@GLIBC_2.4 (2)
    33: 00000000     0 FUNC    GLOBAL DEFAULT  UND clock_gettime@GLIBC_2.17 (3)
    34: 00000000     0 FUNC    GLOBAL DEFAULT  UND _exit@GLIBC_2.4 (2)
    35: 00000000     0 FUNC    GLOBAL DEFAULT  UND pthread_self@GLIBC_2.4 (2)
    36: 00000000     0 FUNC    GLOBAL DEFAULT  UND memcpy@GLIBC_2.4 (2)
    37: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND ceil
    38: 00000000     0 FUNC    GLOBAL DEFAULT  UND tolower@GLIBC_2.4 (2)
    39: 00000000     0 FUNC    GLOBAL DEFAULT  UND shmget@GLIBC_2.4 (2)
    40: 00000000     0 FUNC    GLOBAL DEFAULT  UND pthread_mutex_init@GLIBC_2.4 (2)
    41: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND atan2
    42: 00000000     0 FUNC    GLOBAL DEFAULT  UND signal@GLIBC_2.4 (2)
    43: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND tanf
    44: 00000000     0 FUNC    GLOBAL DEFAULT  UND memcmp@GLIBC_2.4 (2)
    45: 00000000     0 FUNC    GLOBAL DEFAULT  UND select@GLIBC_2.4 (2)
    46: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND cosf
    47: 00000000     0 FUNC    GLOBAL DEFAULT  UND vc_dispmanx_element_add
    48: 00000000     0 FUNC    GLOBAL DEFAULT  UND strdup@GLIBC_2.4 (2)
    49: 00000000     0 FUNC    GLOBAL DEFAULT  UND pthread_cond_init@GLIBC_2.4 (2)
    50: 00000000     0 FUNC    GLOBAL DEFAULT  UND sysconf@GLIBC_2.4 (2)
    51: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND pthread_getspecific
    52: 00000000     0 FUNC    GLOBAL DEFAULT  UND realloc@GLIBC_2.4 (2)
    53: 00000000     0 FUNC    GLOBAL DEFAULT  UND shmat@GLIBC_2.4 (2)
    54: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND sem_trywait
    55: 00000000     0 FUNC    GLOBAL DEFAULT  UND pthread_cond_destroy@GLIBC_2.4 (2)
    56: 00000000     0 FUNC    GLOBAL DEFAULT  UND strcasecmp@GLIBC_2.4 (2)
    57: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND acos
    58: 00000000     0 FUNC    GLOBAL DEFAULT  UND perror@GLIBC_2.4 (2)
    59: 00000000     0 FUNC    GLOBAL DEFAULT  UND __xstat@GLIBC_2.4 (2)
    60: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND dlclose
    61: 00000000     0 FUNC    GLOBAL DEFAULT  UND readlink@GLIBC_2.4 (2)
    62: 00000000     0 FUNC    GLOBAL DEFAULT  UND sigaction@GLIBC_2.4 (2)
    63: 00000000     0 OBJECT  GLOBAL DEFAULT  UND stderr@GLIBC_2.4 (2)
    64: 00000000     0 FUNC    GLOBAL DEFAULT  UND vc_dispmanx_element_chang
    65: 00000000     0 FUNC    GLOBAL DEFAULT  UND fwrite@GLIBC_2.4 (2)
    66: 00000000     0 FUNC    GLOBAL DEFAULT  UND ioctl@GLIBC_2.4 (2)
    67: 00000000     0 FUNC    GLOBAL DEFAULT  UND strtoll@GLIBC_2.4 (2)
    68: 00000000     0 FUNC    GLOBAL DEFAULT  UND waitpid@GLIBC_2.4 (2)
    69: 00000000     0 FUNC    GLOBAL DEFAULT  UND gettimeofday@GLIBC_2.4 (2)
    70: 00000000     0 FUNC    GLOBAL DEFAULT  UND fread@GLIBC_2.4 (2)
    71: 00000000     0 FUNC    GLOBAL DEFAULT  UND shmctl@GLIBC_2.4 (2)
    72: 00000000     0 FUNC    GLOBAL DEFAULT  UND vc_dispmanx_resource_crea
    73: 00000000     0 FUNC    GLOBAL DEFAULT  UND gethostname@GLIBC_2.4 (2)
    74: 00000000     0 FUNC    GLOBAL DEFAULT  UND wcscmp@GLIBC_2.4 (2)
    75: 00000000     0 FUNC    GLOBAL DEFAULT  UND opendir@GLIBC_2.4 (2)
    76: 00000000     0 FUNC    GLOBAL DEFAULT  UND getenv@GLIBC_2.4 (2)
    77: 00000000     0 FUNC    GLOBAL DEFAULT  UND setpriority@GLIBC_2.4 (2)
    78: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND sem_timedwait
    79: 00000000     0 FUNC    GLOBAL DEFAULT  UND puts@GLIBC_2.4 (2)
    80: 00000000     0 FUNC    GLOBAL DEFAULT  UND malloc@GLIBC_2.4 (2)
    81: 00000000     0 FUNC    GLOBAL DEFAULT  UND iconv_open@GLIBC_2.4 (2)
    82: 00000000     0 FUNC    GLOBAL DEFAULT  UND sigaddset@GLIBC_2.4 (2)
    83: 00000000     0 FUNC    GLOBAL DEFAULT  UND strerror@GLIBC_2.4 (2)
    84: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND pthread_key_create
    85: 00000000     0 FUNC    GLOBAL DEFAULT  UND __ctype_toupper_loc@GLIBC_2.4 (2)
    86: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __gmon_start__
    87: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND sin
    88: 00000000     0 FUNC    GLOBAL DEFAULT  UND open@GLIBC_2.4 (2)
    89: 00000000     0 FUNC    GLOBAL DEFAULT  UND __ctype_b_loc@GLIBC_2.4 (2)
    90: 00000000     0 FUNC    GLOBAL DEFAULT  UND getpid@GLIBC_2.4 (2)
    91: 00000000     0 FUNC    GLOBAL DEFAULT  UND syscall@GLIBC_2.4 (2)
    92: 00000000     0 FUNC    GLOBAL DEFAULT  UND bcm_host_init
    93: 00000000     0 FUNC    GLOBAL DEFAULT  UND strtoul@GLIBC_2.4 (2)
    94: 00000000     0 FUNC    GLOBAL DEFAULT  UND strlen@GLIBC_2.4 (2)
    95: 00000000     0 FUNC    GLOBAL DEFAULT  UND strchr@GLIBC_2.4 (2)
    96: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND sem_getvalue
    97: 00000000     0 FUNC    GLOBAL DEFAULT  UND pthread_setcanceltype@GLIBC_2.4 (2)
    98: 00000000     0 FUNC    GLOBAL DEFAULT  UND setenv@GLIBC_2.4 (2)
    99: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND atan
   100: 00000000     0 FUNC    GLOBAL DEFAULT  UND vc_dispmanx_update_submit
   101: 00000000     0 FUNC    GLOBAL DEFAULT  UND fprintf@GLIBC_2.4 (2)
   102: 00000000     0 FUNC    GLOBAL DEFAULT  UND vc_dispmanx_element_remov
   103: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND asin
   104: 00000000     0 OBJECT  GLOBAL DEFAULT  UND stdin@GLIBC_2.4 (2)
   105: 00000000     0 FUNC    GLOBAL DEFAULT  UND fcntl@GLIBC_2.4 (2)
   106: 00000000     0 FUNC    GLOBAL DEFAULT  UND pthread_attr_init@GLIBC_2.4 (2)
   107: 00000000     0 FUNC    GLOBAL DEFAULT  UND __errno_location@GLIBC_2.4 (2)
   108: 00000000     0 FUNC    GLOBAL DEFAULT  UND strncasecmp@GLIBC_2.4 (2)
   109: 00000000     0 FUNC    GLOBAL DEFAULT  UND snprintf@GLIBC_2.4 (2)
   110: 00000000     0 FUNC    GLOBAL DEFAULT  UND mkdir@GLIBC_2.4 (2)
   111: 00000000     0 FUNC    GLOBAL DEFAULT  UND memset@GLIBC_2.4 (2)
   112: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND sem_wait
   113: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND pthread_mutex_trylock
   114: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND sqrtf
   115: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND pthread_setspecific
   116: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND sem_init
   117: 00000000     0 FUNC    GLOBAL DEFAULT  UND strtoull@GLIBC_2.4 (2)
   118: 00000000     0 FUNC    GLOBAL DEFAULT  UND vc_dispmanx_display_open
   119: 00000000     0 FUNC    GLOBAL DEFAULT  UND strtod@GLIBC_2.4 (2)
   120: 00000000     0 FUNC    GLOBAL DEFAULT  UND write@GLIBC_2.4 (2)
   121: 00000000     0 FUNC    GLOBAL DEFAULT  UND scalbn@GLIBC_2.4 (2)
   122: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND dlerror
   123: 00000000     0 FUNC    GLOBAL DEFAULT  UND vc_dispmanx_update_start
   124: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND tan
   125: 00000000     0 FUNC    GLOBAL DEFAULT  UND shmdt@GLIBC_2.4 (2)
   126: 00000000     0 FUNC    GLOBAL DEFAULT  UND access@GLIBC_2.4 (2)
   127: 00000000     0 FUNC    GLOBAL DEFAULT  UND fclose@GLIBC_2.4 (2)
   128: 00000000     0 FUNC    GLOBAL DEFAULT  UND getauxval@GLIBC_2.16 (4)
   129: 00000000     0 FUNC    GLOBAL DEFAULT  UND pipe@GLIBC_2.4 (2)
   130: 00000000     0 FUNC    GLOBAL DEFAULT  UND fseeko64@GLIBC_2.4 (2)
   131: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND dlsym
   132: 00000000     0 FUNC    GLOBAL DEFAULT  UND strtok@GLIBC_2.4 (2)
   133: 00000000     0 FUNC    GLOBAL DEFAULT  UND pthread_cond_timedwait@GLIBC_2.4 (2)
   134: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND pthread_join
   135: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND cos
   136: 00000000     0 FUNC    GLOBAL DEFAULT  UND setlocale@GLIBC_2.4 (2)
   137: 00000000     0 FUNC    GLOBAL DEFAULT  UND sigemptyset@GLIBC_2.4 (2)
   138: 00000000     0 FUNC    GLOBAL DEFAULT  UND fork@GLIBC_2.4 (2)
   139: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND pthread_create
   140: 00000000     0 FUNC    GLOBAL DEFAULT  UND wcslen@GLIBC_2.4 (2)
   141: 00000000     0 FUNC    GLOBAL DEFAULT  UND toupper@GLIBC_2.4 (2)
   142: 00000000     0 FUNC    GLOBAL DEFAULT  UND readdir@GLIBC_2.4 (2)
   143: 00000000     0 FUNC    GLOBAL DEFAULT  UND strrchr@GLIBC_2.4 (2)
   144: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND log
   145: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND pow
   146: 00000000     0 NOTYPE  WEAK   DEFAULT  UND _Jv_RegisterClasses
   147: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND round
   148: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND pthread_mutexattr_init
   149: 00000000     0 FUNC    GLOBAL DEFAULT  UND vsnprintf@GLIBC_2.4 (2)
   150: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND sqrt
   151: 00000000     0 FUNC    GLOBAL DEFAULT  UND atoi@GLIBC_2.4 (2)
   152: 00000000     0 FUNC    GLOBAL DEFAULT  UND fopen64@GLIBC_2.4 (2)
   153: 00000000     0 FUNC    GLOBAL DEFAULT  UND qsort@GLIBC_2.4 (2)
   154: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND sem_destroy
   155: 00000000     0 FUNC    GLOBAL DEFAULT  UND pthread_cond_wait@GLIBC_2.4 (2)
   156: 00000000     0 FUNC    GLOBAL DEFAULT  UND atof@GLIBC_2.4 (2)
   157: 00000000     0 NOTYPE  WEAK   DEFAULT  UND _ITM_registerTMCloneTable
   158: 00000000     0 FUNC    GLOBAL DEFAULT  UND copysign@GLIBC_2.4 (2)
   159: 00000000     0 FUNC    GLOBAL DEFAULT  UND vsscanf@GLIBC_2.4 (2)
   160: 00000000     0 FUNC    GLOBAL DEFAULT  UND pthread_attr_setdetachsta@GLIBC_2.4 (2)
   161: 00000000     0 FUNC    GLOBAL DEFAULT  UND strncmp@GLIBC_2.4 (2)
   162: 00000000     0 FUNC    GLOBAL DEFAULT  UND pthread_cond_signal@GLIBC_2.4 (2)
   163: 00000000     0 FUNC    GLOBAL DEFAULT  UND close@GLIBC_2.4 (2)
   164: 00000000     0 FUNC    GLOBAL DEFAULT  UND graphics_get_display_size
   165: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND floor
   166: 00000000     0 FUNC    GLOBAL DEFAULT  UND closedir@GLIBC_2.4 (2)
   167: 00000000     0 FUNC    GLOBAL DEFAULT  UND vc_dispmanx_update_submit
   168: 00000000     0 FUNC    GLOBAL DEFAULT  UND vc_dispmanx_resource_writ
   169: 00000000     0 FUNC    GLOBAL DEFAULT  UND ftello64@GLIBC_2.4 (2)
   170: 0000c09c    16 FUNC    GLOBAL DEFAULT   11 BeginDoubleBuffer
   171: 0000d558     8 FUNC    GLOBAL DEFAULT   11 InitLibrary
   172: 0000db5c    20 FUNC    GLOBAL DEFAULT   11 GetConstants
   173: 0000b0e0  1848 FUNC    GLOBAL DEFAULT   11 HandleEvents
   174: 0000c554    80 FUNC    GLOBAL DEFAULT   11 GetMousePos
   175: 0000a984   380 FUNC    GLOBAL DEFAULT   11 InitPlugin
   176: 0000c0ac    48 FUNC    GLOBAL DEFAULT   11 EndDoubleBuffer
   177: 0000c4e4     4 FUNC    GLOBAL DEFAULT   11 FreePointer
   178: 0000cdd0     8 FUNC    GLOBAL DEFAULT   11 Sleep
   179: 0000cdd8     4 FUNC    GLOBAL DEFAULT   11 VWait
   180: 0000c5ac   768 FUNC    GLOBAL DEFAULT   11 BltBitMap
   181: 0000c544     8 FUNC    GLOBAL DEFAULT   11 ShowHidePointer
   182: 0000d354   496 FUNC    GLOBAL DEFAULT   11 ReadVideoPixels
   183: 0000db70    24 FUNC    GLOBAL DEFAULT   11 GetHelpStrings
   184: 0000b884    28 FUNC    GLOBAL DEFAULT   11 DetermineBorderSizes
   185: 0000c450   148 FUNC    GLOBAL DEFAULT   11 CreatePointer
   186: 0000cbf4   476 FUNC    GLOBAL DEFAULT   11 Line
   187: 0000c310    40 FUNC    GLOBAL DEFAULT   11 ShowHideDisplay
   188: 0000d548    16 FUNC    GLOBAL DEFAULT   11 DoVideoBitMapMethod
   189: 0000c54c     8 FUNC    GLOBAL DEFAULT   11 MovePointer
   190: 0000d7c8   228 FUNC    GLOBAL DEFAULT   11 OpenAudio
   191: 0000dabc    52 FUNC    GLOBAL DEFAULT   11 FreeAudioChannel
   192: 0000be7c   272 FUNC    GLOBAL DEFAULT   11 CloseDisplay
   193: 0000d6fc    28 FUNC    GLOBAL DEFAULT   11 FreeBitMap
   194: 0000b82c    88 FUNC    GLOBAL DEFAULT   11 ForceEventLoopIteration
   195: 0000bf8c   272 FUNC    GLOBAL DEFAULT   11 ChangeBufferSize
   196: 0000d790    56 FUNC    GLOBAL DEFAULT   11 GetBitMapAttr
   197: 0000b818    20 FUNC    GLOBAL DEFAULT   11 WaitEvents
   198: 0000cf00     8 FUNC    GLOBAL DEFAULT   11 GrabScreenPixels
   199: 0000c41c     8 FUNC    GLOBAL DEFAULT   11 ActivateDisplay
   200: 0000c4e8    92 FUNC    GLOBAL DEFAULT   11 SetPointer
   201: 0000d544     4 FUNC    GLOBAL DEFAULT   11 FreeVideoPixels
   202: 0000cf0c  1068 FUNC    GLOBAL DEFAULT   11 AllocVideoBitMap
   203: 0000c370   172 FUNC    GLOBAL DEFAULT   11 SetDisplayTitle
   204: 0000abec  1268 FUNC    GLOBAL DEFAULT   11 RequirePlugin
   205: 0000abdc    16 FUNC    GLOBAL DEFAULT   11 GetExtensions
   206: 0000d718   116 FUNC    GLOBAL DEFAULT   11 LockBitMap
   207: 0000ab00   204 FUNC    GLOBAL DEFAULT   11 ClosePlugin
   208: 0000c338    56 FUNC    GLOBAL DEFAULT   11 SizeMoveDisplay
   209: 0000b8a0  1500 FUNC    GLOBAL DEFAULT   11 OpenDisplay
   210: 0000daf0    92 FUNC    GLOBAL DEFAULT   11 SetChannelAttributes
   211: 0000d338    28 FUNC    GLOBAL DEFAULT   11 FreeVideoBitMap
   212: 0000ca64   400 FUNC    GLOBAL DEFAULT   11 WritePixel
   213: 0000cddc   284 FUNC    GLOBAL DEFAULT   11 GetMonitorInfo
   214: 0000c2bc    84 FUNC    GLOBAL DEFAULT   11 Cls
   215: 0000d8ac     4 FUNC    GLOBAL DEFAULT   11 CloseAudio
   216: 0000d560     4 FUNC    GLOBAL DEFAULT   11 FreeLibrary
   217: 0000d564   408 FUNC    GLOBAL DEFAULT   11 AllocBitMap
   218: 0000cf08     4 FUNC    GLOBAL DEFAULT   11 FreeGrabScreenPixels
   219: 0000c8ac   440 FUNC    GLOBAL DEFAULT   11 RectFill
   220: 0000c0dc   480 FUNC    GLOBAL DEFAULT   11 Flip
   221: 0000c5a4     8 FUNC    GLOBAL DEFAULT   11 GetQualifiers
   222: 0000d78c     4 FUNC    GLOBAL DEFAULT   11 UnLockBitMap
   223: 0000d8b0   524 FUNC    GLOBAL DEFAULT   11 AllocAudioChannel
   224: 0000db4c    16 FUNC    GLOBAL DEFAULT   11 GetCommands
   225: 0000c424    44 FUNC    GLOBAL DEFAULT   11 SetDisplayAttributes
   226: 0000cef8     8 FUNC    GLOBAL DEFAULT   11 FreeMonitorInfo
   227: 0000abcc    16 FUNC    GLOBAL DEFAULT   11 GetBaseTable
I've seen many UND under the Ndx column I suppose means UNDEFINED, since they all seems related to libc I've alse got the libc version installed:

Code: Select all

ldd (Debian GLIBC 2.19-18+deb8u10) 2.19
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
If the problem is related to libc I don't know how to update it because I've checked the available versions using apt and I've found that the latest available version is the 2.19 as showed above.

And to conclude here is the system version:

Code: Select all

Distributor ID:	Debian
Description:	Debian GNU/Linux 8.10 (jessie)
Release:	8.10
Codename:	jessie
@SamuraiCrow
I've also an ODroid XU4 :)
User avatar
airsoftsoftwair
Posts: 5425
Joined: Fri Feb 12, 2010 2:33 pm
Location: Germany
Contact:

Re: SDL & Linux ARM

Post by airsoftsoftwair »

Ok, seems like I made a mistake here. RebelSDL depends on libbcm_host.so which contains Raspi Videocore APIs and which is obviously not there on the ODroid. I need to build a new version of RebelSDL which doesn't have that dependency.
User avatar
airsoftsoftwair
Posts: 5425
Joined: Fri Feb 12, 2010 2:33 pm
Location: Germany
Contact:

Re: SDL & Linux ARM

Post by airsoftsoftwair »

Alright, I've now removed the dependency on libbcm_host.so. Since I don't have an ODroid, can you test the new version and report if it works now? Here is the link: http://www.hollywood-mal.com/download/tmp/rebelsdl.zip
User avatar
Allanon
Posts: 732
Joined: Sun Feb 14, 2010 7:53 pm
Location: Italy
Contact:

Re: SDL & Linux ARM

Post by Allanon »

Hi, I had a quick test today.

There is no error with this new RebelSDL build but there are several problems, the first one is that running the program as is the performances are very poor... (seems like 1 or 2 fps).
As suggested by SamuraiCrow I've tried to run it using GLShim, in this case the speed is acceptable even if it still runs slow for an SDL app with not too much stuff on screen... Anyway, using GLShim there are many artifacts and graphical glitches that increase while using my test program.

I don't know at this point if it's a problem related to RebelSDL, to GLShim or anything else since I'm not familiar with the Linux world... any suggestions?

Have anyone tried to build an SDL app for the Raspi or the ODroid?
SamuraiCrow
Posts: 475
Joined: Fri May 15, 2015 5:15 pm
Location: Waterville, Minnesota USA

Re: SDL & Linux ARM

Post by SamuraiCrow »

It's possible to use OpenGL ES under SDL 2.x since it supports Android also, but getting SDL2 to compile for Linux using the ODroid's drivers is tricky. I think there's a link on the ODroid forums but I will have to look later. If you can, try making your test app run on Hollywood Player so I can try running it under Android 7.1.1 via Lineage OS on my XU4.
I'm on registered MorphOS using FlowStudio.
SamuraiCrow
Posts: 475
Joined: Fri May 15, 2015 5:15 pm
Location: Waterville, Minnesota USA

Re: SDL & Linux ARM

Post by SamuraiCrow »

Update:
I did some research on the ODroid forums and the proper solution is to recompile SDL2 without OpenGL support so the software framebuffer driver won't be found. Then it will find OpenGL ES2 correctly and use the ODroid's Mali graphics acceleration drivers.
I'm on registered MorphOS using FlowStudio.
User avatar
airsoftsoftwair
Posts: 5425
Joined: Fri Feb 12, 2010 2:33 pm
Location: Germany
Contact:

Re: SDL & Linux ARM

Post by airsoftsoftwair »

SamuraiCrow wrote:Update:
I did some research on the ODroid forums and the proper solution is to recompile SDL2 without OpenGL support so the software framebuffer driver won't be found. Then it will find OpenGL ES2 correctly and use the ODroid's Mali graphics acceleration drivers.
Thanks for the research. Here's a new binary now which doesn't support OpenGL but only OpenGLES. Please try this on the ODroid and report back: http://www.hollywood-mal.com/download/tmp/rebelsdl2.zip
Post Reply