-
Notifications
You must be signed in to change notification settings - Fork 182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added support for embedded portable handhelds #1781
Conversation
…dont play nice with GLES2, Resolution independance so we can scale up the game on some of the larger screen devices, and we need to be able to disable the sdl controller api as we run our own controller to keyboard/mouse stuff through gptokeyb. Added options to CMakeLists.txt: - -DUSE_NO_GLSL to CMakeLists.txt to disable GLSL shaders - -DSDL_RESOLUTION_INDEPENDANCE for resolution independance - -DSDL_DISABLE_CONTROLLER_API to disable the SDL controller code
Thanks! Some cleanup will be needed, but first I want to check this odd GLSL stuff — did you actually load a game and saw it render well? I'm not sure you get much benefit from enabling a crippled GLES compared to the software rendering. |
The changes I have made are for the following purposes: - The game is run with a companion program that listens to the handhelds gamepad and translates it into keyboard/mouse events, this allows more fine grained control and better portability between devices/platforms. GemRB currently listens for the same events and is doubling up events, i have added an option to disable the sdl controller api inside of gemrb. (-DSDL_DISABLE_CONTROLLER_API) - The last option is to fix resolution independence on devices with higher resolution screens. These devices do not run with an x windows server so the current fullscreen/windowed code doesn't scale up the screen resolution. (-DSDL_RESOLUTION_INDEPENDANCE="ON")
The changes I have made are for the following purposes: - The game is run with a companion program that listens to the handhelds gamepad and translates it into keyboard/mouse events, this allows more fine grained control and better portability between devices/platforms. GemRB currently listens for the same events and is doubling up events, i have added an option to disable the sdl controller api inside of gemrb. (-DSDL_DISABLE_CONTROLLER_API) - The last option is to fix resolution independence on devices with higher resolution screens. These devices do not run with an x windows server so the current fullscreen/windowed code doesn't scale up the screen resolution. (-DSDL_RESOLUTION_INDEPENDANCE="ON")
Can you elaborate on what kind of devices you have been testing GemRB here? Like the SoC of that ... GameBoy? 😉 For future references and compatibility. |
So we have been testing it on the Anbernic RG351V (Rockchip RK3326), RG353V (Rockchip RK3566), and RG552 (Rockchip RK3399) on the AmberElec/ArkOS/UnofficialOS operating systems. We use a system called PortMaster that allows us to package up the games in a way that they can run on all the above oses/hardware. |
You can then add AmberElec / ArkOS /UnofficialOS to the exotic OSes list in the README as well. |
…` to use `cmake/cmake_config.h.in` Added AmberElec, ArkOS, UnofficialOS to the exotic OSes in `README.md`
…in `gemrb/core/GUI/Window.cpp`
… it in line with the other cmake options.
…rb/plugins/SDLVideo/SDLVideo.cpp`.
…deo/SDLVideo.cpp`
Thanks! |
Description
This PR is the changes required to allow GemRB to run on embedded portable handheld devices running linux.
The changes I have made are for the following purposes:
Thank you so much for this excellent engine, we have a very active community and many people are excited to use this to play such classic games.
Checklist