Jump to content

sockscap

Members+
  • Posts

    7
  • Joined

  • Last visited

Everything posted by sockscap

  1. No. I'm not asking to backport any new features to an old version. I'm just seeking if I can compile any version of raine on my existing hardware (which unfortunately is locked at an outdated sdl version 2.0.9, and the only way I know to build programs for it is through pi which uses 2.0.10). But I fully respect your decision, if you don't want to waste time reviewing the code of an old version. That's toally understandable. I'm still grateful for the suggestions you provided earlier.
  2. Could you please suggest how to change 0.92.1 source code so it can compile it with sdl 2.0.10? I fully understand it's outdated, but I have to live with that as my Amlogic devices are locked with 2.0.9. I just want to get the most from what I already have.
  3. I see your point. I may try arch on a different TF card later, and maybe I can learn something new. The Amlogic devices work differently. They are very cheap (I bought them at around $10-$15 each, so I bought one for each of my TV), they boot up very fast, and you use gamepad to control everything (keyboard and mouse not required). SSH is used for advanced configurations. If needed, you can redirect the save folder to NAS, so for example you can continue playing the game at bedroom from the state you left at the living room. I run 32-bit system on old models and 64-bit system on new models. The 64-bit system supports portmaster (https://portmaster.games/games.html) with hundreds of port games avaialble (some of them can be migrated to 32-bit systems). I'm happy with it because of its simpilicity to use and setup. It would be even better if I can make raine work on them. Ok, so I've tried to compile the old versions. goldmojo's fork fails because it requires some special toolchain, let's forget it. The good news is, 0.92.1 almost succeeds to build. It fails at the linking stage. Apparently SDL_GameControllerSetPlayerIndex is only available after SDL 2.0.12. I hope this is not too hard to fix Linking Raine... /usr/bin/ld: linux-gnu-sdl2/object/sdl/control.o: in function `add_game_controller': control.c:(.text+0xca8): undefined reference to `SDL_GameControllerSetPlayerIndex' /usr/bin/ld: control.c:(.text+0xdc4): undefined reference to `SDL_JoystickSetPlayerIndex' /usr/bin/ld: linux-gnu-sdl2/object/sdl/control.o: in function `set_joy_playerindex': control.c:(.text+0x1850): undefined reference to `SDL_GameControllerSetPlayerIndex' /usr/bin/ld: control.c:(.text+0x1858): undefined reference to `SDL_JoystickSetPlayerIndex' collect2: error: ld returned 1 exit status make: *** [makefile:1389: raine] Error 1
  4. Thanks Tux for your detailed explanation! The main purpose is retro games. I'm willing to learn things but I know I don't have the talent to be a developper. RetroPie and EmuELEC are systems designed specifically for retro gaming purpose. I'm happy that while I enjoy the retro games, I also learn a lot through using these Linux systems. Maybe this is my way of learning things. I guess I will quickly lose interest if it's just linux and no games I don't want to waste your time on changing the source for sdl2-2.0.10, unless you feel this brings value to raine. But I do feel that raine has values on these arm devices and silimar situations. They are not powerful enough and performance matters. I plan to try 0.92.1 and see how it goes. Also, I haven't tested goldmojo's fork yet, because his release seems to be aarch64, while I need armv7(32-bit). The other problem is, it seems it's hard coded for RG350 controls, but I need using controllers (ideally via gamecontrollerdb.txt). But if I can compile it successfully, maybe you can guide me how to change the code for controller settings. Hope this won't bring too much troubles to you. I will let you know when I have more info.
  5. Yeah. RetroPie doesn't update very frequently, the current v4.8 (adding Pi4 support) hasn't been updated for 2 years. I'm using RetroPie v4.7.1, the latest version when I built the system. As it's quite time-consuming to configure everything and most retro games are working fine, usually I only upgrade emulator cores when necessary rather than upgrade the os. Usually I use apt-get to manage the software packages on Pi. I'm not sure if it could cause any dependency issues to other components if I manually update sdl2. The other thing is, I also run Sx05RE/EmuELEC (https://github.com/EmuELEC/EmuELEC) on several Amlogic tvbox devices. These cheap devices perform better than Pi for retro games, but unlike Pi, their software components cannot be upgraded (for 32-bit images, SDL is locked at 2.0.9). Generally it requires cross compile to build anything for these Amlogic tvbox devices, which beyonds my skillset. But I find that the programs I build on Pi usually work just fine, though sometimes I need import the missing libraries. So the idea is, if I can make raine work on retropie, I also plan to migrate them to these Amlogic tvbox devices. However, if the program I build on Pi explicitly requires a higher version of sdl, I don't think it can work on Amlogic tvbox devices. Therefore, if possible, I'd prefer to build raine without updating sdl version, but I fully understand that this may require too many code changes. If you evaluate that this is too troublesome and doesn't worth it, I fully understand. Ok, so I comment the lines you mentioned. Now it fails with the following error: Compiling source/sdl2/controllermap.c... In file included from /usr/include/SDL2/SDL_main.h:25, from /usr/include/SDL2/SDL.h:32, from source/sdl2/controllermap.c:22: /usr/include/SDL2/SDL_stdinc.h:313:20: error: size of array ‘SDL_compile_time_assert_s_arrBindingDisplay’ is negative typedef int SDL_compile_time_assert_ ## name[(x) * 2 - 1] ^~~~~~~~~~~~~~~~~~~~~~~~ source/sdl2/controllermap.c:89:1: note: in expansion of macro ‘SDL_COMPILE_TIME_ASSERT’ SDL_COMPILE_TIME_ASSERT(s_arrBindingDisplay, SDL_arraysize(s_arrBindingDisplay) == BINDING_COUNT); ^~~~~~~~~~~~~~~~~~~~~~~ source/sdl2/controllermap.c:117:5: error: ‘SDL_CONTROLLER_BUTTON_MISC1’ undeclared here (not in a function); did you mean ‘SDL_CONTROLLER_BUTTON_MAX’? SDL_CONTROLLER_BUTTON_MISC1, ^~~~~~~~~~~~~~~~~~~~~~~~~~~ SDL_CONTROLLER_BUTTON_MAX source/sdl2/controllermap.c:118:5: error: ‘SDL_CONTROLLER_BUTTON_PADDLE1’ undeclared here (not in a function); did you mean ‘SDL_CONTROLLER_BUTTON_DPAD_LEFT’? SDL_CONTROLLER_BUTTON_PADDLE1, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SDL_CONTROLLER_BUTTON_DPAD_LEFT source/sdl2/controllermap.c:119:5: error: ‘SDL_CONTROLLER_BUTTON_PADDLE2’ undeclared here (not in a function); did you mean ‘SDL_CONTROLLER_BUTTON_DPAD_LEFT’? SDL_CONTROLLER_BUTTON_PADDLE2, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SDL_CONTROLLER_BUTTON_DPAD_LEFT source/sdl2/controllermap.c:120:5: error: ‘SDL_CONTROLLER_BUTTON_PADDLE3’ undeclared here (not in a function); did you mean ‘SDL_CONTROLLER_BUTTON_DPAD_LEFT’? SDL_CONTROLLER_BUTTON_PADDLE3, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SDL_CONTROLLER_BUTTON_DPAD_LEFT source/sdl2/controllermap.c:121:5: error: ‘SDL_CONTROLLER_BUTTON_PADDLE4’ undeclared here (not in a function); did you mean ‘SDL_CONTROLLER_BUTTON_DPAD_LEFT’? SDL_CONTROLLER_BUTTON_PADDLE4, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SDL_CONTROLLER_BUTTON_DPAD_LEFT source/sdl2/controllermap.c:122:5: error: ‘SDL_CONTROLLER_BUTTON_TOUCHPAD’ undeclared here (not in a function); did you mean ‘SDL_CONTROLLER_BUTTON_MAX’? SDL_CONTROLLER_BUTTON_TOUCHPAD, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SDL_CONTROLLER_BUTTON_MAX In file included from /usr/include/SDL2/SDL_main.h:25, from /usr/include/SDL2/SDL.h:32, from source/sdl2/controllermap.c:22: /usr/include/SDL2/SDL_stdinc.h:313:20: error: size of array ‘SDL_compile_time_assert_s_arrBindingOrder’ is negative typedef int SDL_compile_time_assert_ ## name[(x) * 2 - 1] ^~~~~~~~~~~~~~~~~~~~~~~~ source/sdl2/controllermap.c:124:1: note: in expansion of macro ‘SDL_COMPILE_TIME_ASSERT’ SDL_COMPILE_TIME_ASSERT(s_arrBindingOrder, SDL_arraysize(s_arrBindingOrder) == BINDING_COUNT); ^~~~~~~~~~~~~~~~~~~~~~~ source/sdl2/controllermap.c: In function ‘WatchJoystick’: source/sdl2/controllermap.c:570:17: error: ‘SDL_FALLTHROUGH’ undeclared (first use in this function); did you mean ‘SDL_HAT_RIGHT’? SDL_FALLTHROUGH; ^~~~~~~~~~~~~~~ SDL_HAT_RIGHT source/sdl2/controllermap.c:570:17: note: each undeclared identifier is reported only once for each function it appears in make: *** [makefile:1515: linux-gnu-sdl2/object/sdl2/controllermap.o] Error 1 1. I have no idea about the SDL_compile_time_assert error. 2. SDL_CONTROLLER_BUTTON_MISC1/PADDLE1/PADDLE2/PADDLE3/PADDLE4/TOUCHPAD errors: They are not defined in SDL_gamecontroller.h in sdl 2.0.10. Not suse which version initially adds them. 3. SDL_FALLTHROUGH error: It's not defined in begin_code.h. Not suse which version initially adds it. I remember I read somewhere that you mention the old raine code is not easy to compile on non-windows platforms. Do you think it would be easier or more difficult if I choose to build an old version before december 2021 (for example, 0.91.21)?
  6. Thanks Tux! I don't have skills to do cross compile, so have to do this on the pi...I'm not an expert on this, hope you don't mind if I ask stupid questions. I really want to learn things and make raine work on retropie. I download 0.96.7 souce code, edit makefile as you suggested. make fails with the following error: Compiling c++ source/sdl/dialogs/sound_options.cpp... source/sdl/dialogs/sound_options.cpp: In function ‘void init_sound_driver(int)’: source/sdl/dialogs/sound_options.cpp:103:6: error: ‘SDL_GetAudioDeviceSpec’ was not declared in this scope SDL_GetAudioDeviceSpec(i,0,&spec); ^~~~~~~~~~~~~~~~~~~~~~ source/sdl/dialogs/sound_options.cpp:103:6: note: suggested alternative: ‘SDL_GetAudioDeviceName’ SDL_GetAudioDeviceSpec(i,0,&spec); ^~~~~~~~~~~~~~~~~~~~~~ SDL_GetAudioDeviceName make: *** [makefile:1523: linux-gnu-sdl2/object/sdl/dialogs/sound_options.o] Error 1 The pi has libsdl2-dev 2.0.10 installed. This is the latest version shown in Respbian's apt. By doing some research, it appears this function is available since SDL 2.0.16. Does this mean raine requires at least sdl2 2.0.16, and there's no way to compile it on my current retropie? edit: what about old versions? possible to compile an old version of raine with libsdl2-dev 2.0.10?
  7. I have a Pi3B running Retropie and some games cannot run at full speed with fbneo or mame. I'm wondering if it's possible to compile raine on this device, as I believe raine has better performance. I see someone did this for rg350 (https://github.com/goldmojo/raine) so it appears to be possible. I have very limited coding knowledge, but if there are compile instructions, I should be able to follow it.
×
×
  • Create New...