Hardware accelerated games/programs using Khronos
Pages: 1 2
Chris Gransden (337) 1202 posts |
There’s a test version of the DarkPlaces Quake 1 engine available here. It’s an enhanced version of the original Quake 1 engine. You’ll need to source your own PAK files. The freely available shareware version is available from here. First create an ‘id1’ folder in the !DarkPlaces folder and drop the ‘PAK0.PAK’ into this. It is only compatible with the Raspberry Pi due to using the GPU for hardware accleration. It’s been tested on a RPi zero (averages 20fps for the ‘demo1’ benchmark @1920x1080) and RPi 3 (averages 53 fps). It uses hardware accelerated graphics so you’ll also need khronos. It’s only been tested with the shareware PAK file. See the !Help file for use with other mods. There are a few issues to be aware of. To toggle the menu press ‘F7’. The settings are saved in !Boot.Choices.darkplaces. Look out for further games/programs on Raspberry Pi on RISC OS using Khronos. |
Chris Mahoney (1684) 2165 posts |
Well done! Quake now runs faster – and at a higher resolution – under RISC OS on a Pi 1 than it does under DOSBox on a 3.3 GHz Intel i5. |
Chris Mahoney (1684) 2165 posts |
Is this available somewhere or are you just seeing what you want to see instead of what the thread actually says? :) |
SeñorNueces (1438) 162 posts |
What the..? This is INCREDIBLE!! SDL2 using the GLES renderer on Risc OS on the Pi! |
Chris Gransden (337) 1202 posts |
Some progress to report. RetroArch is now working. There are about 30 cores running. Some run too slowly to be useful. (PS One, 3do, Atari Jaguar and Sega Saturn). If anyone would like to try it and possibly help with the keyboard configuration I can make a version available for download. Quake 3 is working to a degree. On a RPI3 the directional controls stop responding after a few seconds. Seems OK on a RPi 2. A bit juddery at 1080p but OK at lower resolutions. Also Neverputt and Neverball. (Quake 3, Neverputt and Neverball ported by Lee Noar). They all run in full screen only in the current RISC OS resolution. If using the latest RISC OS rom that allows native screen mode changes it’s much easier to change resolution if it runs too slow. It’s also possible to develop native applications on RISC OS using GCC that use Khronos with SDL2 and GLES. I’ll upload an example (spinning triangle) makefile and source. Plus all the necessary libraries. |
Jeffrey Lee (213) 6048 posts |
Sounds great – nice work! |
Chris Gransden (337) 1202 posts |
Neverball/Neverputt are available to download from here. By default Neverball is run. Change the !Run file to run neverputt instead. |
Greg (2474) 144 posts |
Ive managed to get Darkplaces to run as I can here it but I cannot see any image. |
Tristan M. (2946) 1039 posts |
I think there’s a GLES build option or something for Minetest, So I guess that could conceivably be ported maybe? |
SeñorNueces (1438) 162 posts |
@Chris Gransden: I have a huge interest on some of the things this could bring! |
Leo Smiers (245) 56 posts |
Yesterday I tried to run !Neverball on my RPI B (version 1). I downloaded the zip files from 14th december as linked here above. After merging the !Boot and !System files I started !Neverball. The only thing I saw was a grey screen with a pointer pressing escape terminated the program. I must say I was not very patient and pressed the key after about 10 seconds. This was with: Should it still work or has it stopped working with all the rom changes since 14th december? |
Jan Rinze (235) 368 posts |
Is there some info available on the khronos module? |
Alan Buckley (167) 232 posts |
Jan, I don’t know if it’s of any use to you, but the source for khronos is in the gccsdk autobuilder. |
Mike Carter (36) 51 posts |
That would be excellent. |
Chris Gransden (337) 1202 posts |
Should be a Rasperry Pi specific version of RetroArch v1.7.1 available to download in the next few days. So far there are 50 cores working. A few are too slow to be useful. Most run at 60 fps on Pi 3B/B+. 2048 |
David Feugey (2125) 2709 posts |
No Amstrad CPC :| |
Chris Gransden (337) 1202 posts |
The CPC core in retroarch locks up. I have a port of caprice32 that I can make available. Runs at 100% 50fps on Rpi 3 with frame skip. |
Holger Palmroth (487) 115 posts |
A welcome addition to the emulator zoo. Please do. |
Steffen Huber (91) 1948 posts |
Andreas Stroiczek aka Face Hugger open-sourced his CPCEmu some time ago, maybe someone could give it a go to make it ready for modern hardware? It is still in the dark StrongARM ages… |
Holger Palmroth (487) 115 posts |
Even better, but harder to do. Would love to see it’s comeback. |
David Feugey (2125) 2709 posts |
Oh yes. It was my first machine, and – thanks to a great choice of colors – the one with the most acceptable games. |
David Feugey (2125) 2709 posts |
Any news? Nota: will it be possible to launch directly the cores? |
Andy S (2979) 504 posts |
Chris Gransden, Neverball/Neverputt are available to download from here. By default Neverball is run. Change the !Run file to run neverputt instead. It’s really exciting that Khronos is working under RISC OS. I’ve just tried the builds of Neverball and Khronos from your links on a Pi 3 with RISC OS 5.28. Unfortunately I don’t seem to get any graphical output at all and it froze the Pi. I’ll try and get some more information when I can find a bit more time. Would you expect these to work on 5.28 or will they need to be recompiled? |
Chris Gransden (337) 1202 posts |
I just tried it on a Rpi 3B+ and it ran OK. Should be OK on 5.28. Check config/txt has, gpu_mem=128 The resolution must be <= 1080p Also make sure cmdline/txt doesn’t have disable_mode_changes. It seems to be more reliable without. |
Andy S (2979) 504 posts |
Thanks Chris, I’ll try those settings a bit later. I managed to get debug logs. It’s not actually freezing the Pi today. It just seg faults. This is the output for Dark Places. DarkPlaces-Quake Unknown 16:27:32 Sep 10 2016 - release Playing shareware version. Skeletal animation uses generic code path (SSE not compiled in) DPSOFTRAST not available (SSE2 not compiled in) Fatal signal received: Segmentation fault Stack backtrace: Running thread 0x1b46f48 (Main Thread) ( 1c59f34) pc: 496d915c lr: 496d963c sp: 1c59f38 __write_backtrace() ( 1c59fa0) pc: 496d9370 lr: 496db288 sp: 1c59fa4 __unixlib_raise_signal() ( 1c59fb0) pc: 496db13c lr: 4961aea4 sp: 1c584fc __h_cback() Register dump at 01c59fb4: a1: 1c58500 a2: 0 a3: 14 a4: 0 v1: 0 v2: 1b9ecc0 v3: 1b35710 v4: 1b7fce8 v5: 2 v6: 0 sl: 1c58208 fp: 1c58588 ip: 1b49de4 sp: 1c584fc lr: 4961aea4 pc: 4a78de98 cpsr: 20000110 4961ae90 : x_όλ : ebfc5f78 : BL &49532C78 4961ae94 : ..ε : e5870000 : STR R0,[R7,#0] 4961ae98 : ..β : e28d0004 : ADD R0,R13,#4 4961ae9c : Dpε : e58d7044 : STR R7,[R13,#68] 4961aea0 : EΥ�λ : ebffd545 : BL &496103BC 4961aea4 : .. α : e1a00005 : MOV R0,R5 4961aea8 : ύ�λ : ebfffd80 : BL &4961A4B0 4961aeac : Rε : e595529c : LDR R5,[R5,#668] 4961aeb0 : l0ε : e59d306c : LDR R3,[R13,#108] ( 1c58588) pc: 4961adcc lr: 4961684c sp: 1c5858c RPI_VideoInit() ( 1c585ac) pc: 496166b8 lr: 495338ac sp: 1c585b0 SDL_VideoInit_REAL() ( 1c585c8) pc: 49533748 lr: 49533954 sp: 1c585cc SDL_InitSubSystem_REAL() ( 1c585d8) pc: 49533948 lr: 4958f0a4 sp: 1c585dc SDL_Init_REAL() ( 1c585e8) pc: 4958f080 lr: 12874 sp: 1c585ec SDL_Init() ( 1c585fc) pc: 12864 lr: 1343bc sp: 1c58600 VID_Init() ( 1c58a24) pc: 133fa0 lr: 1358e8 sp: 1c58a28 Host_Init() ( 1c58ebc) pc: 1358bc lr: d850 sp: 1c58ec0 Host_Main() ( 1c58ed4) pc: d7d8 lr: 496effc0 sp: 1c58ed8 main() I’ll try your suggested settings and report back. |
Pages: 1 2