glshim


I've known about regal for a while. We have different goals and go about it slightly differently. They have pretty good GL 2+ support. I have mostly-complete 1.x support, glX, and display lists.
 
Last edited by a moderator:
I tried running Forsaken (ProjectX) against your lib (under Slackware for what it is worth), and get a failure on start up:



stub: void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params);
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 3 (X_GetWindowAttributes)
Resource id in failed request: 0x0
Serial number of failed request: 45
Current serial number in output stream: 46

 

Using libpreload.so doesn't make any difference either. Please advise if there is anything else I should try or any more tests I can run.
 
Last edited by a moderator:
Hi Linuxbochs,i am near to use your GLIB with Qemu,

but it hang on that i think i have a logical Thinking Failure.

Its just a Idea but your GL Libs need i maybe compiled on x86 (i386) for Qemu Userspace Emulation.

Qemu User use a Directory in /usr/gnemull/i386 where i putted all X86 Files i need but no GL Driver will work.

I tried to insert Mesa GL,tried to insert your precompiled Files but i think they are on
Pandora Compiled for Arm.

Some libGL.so from the Internet tried i too without working.

But i think we need your GL Files Compiled for X86 who use the SGX Driver.

My English is not the best,you know what i mean?

When Qemu User Emulates a i386(x86) System need i not a ARM compiled LibGL.so

I think this must compile your GL Files on X86 with the Pandora SGX Instructions.

No 3D Game work for now but i am trying to get something Run and had this Idea.

Please can you compile the Libs on X86 for my Qemu testing?

Unfortunaly have i no running X86 Linux Installation at home ^_^

See what i try to get run ^_^

Both hang on grafical Libs and maybe you can help me to get it run ;)

Descent 3 on the Pandora

https://www.youtube.com/embed/u2SbM1gT5dk?feature=oembed
 
Last edited by a moderator:
The opengl calls are api calls. Not sure if they are the same for the x86 and arm (are it both big or little endian)? If it is possible to get them out of qemu and let lunixbochs wrapper catch them, this would be awesome. Maybe dream is Diablo2 on Pandora. Diablo, here I come :D
 
Last edited by a moderator:
Is that actually with the opengl renderer, or is it using software rendering? Did you add the "-opengl" command line option when you started it?
 
oh right i must try that :)

Was just the normal Renderer,but i need for Testing this Libs in X86 Compiled too.

Edit: Mean you the OpenGL Problem or the Diablo2 Video?

I saw in Qemu-i386 and saw no option to change renderer.

EditEdit: In Qemu-system-i386 have i no option to use OpenGL too.

But i need Linuxbochs GL Libs compiled in x86 for more testing(only a Idea)

And when that work ,can we play many Linux X86 Games via Qemu and maybe a 3D Passtrough into Wine :D
 
Last edited by a moderator:
^Well there was opengl to 3DFX glide wrappers for Windows 95.. but I assume that would be a mess for just Diablo II not to mention that just getting opengl passthrough to qemu is a bit hacky as well.
 
Diablo 2 has an OpenGL renderer. You use it by passing "-opengl" on the command line ("d2 -opengl")

But now I see that you are actually using a win95 image, qemu system emulator has no 3D support to speak of. Sorry, I thought you were running it through your wine build.
 
Diablo 2 has an OpenGL renderer. You use it by passing "-opengl" on the command line ("d2 -opengl")


But now I see that you are actually using a win95 image, qemu system emulator has no 3D support to speak of. Sorry, I thought you were running it through your wine build.
Hey but that Info can be very usefull in Future,thx ;)

dit not know that :rolleyes:
 
You don't want to run my lib *inside* QEMU, as it has a few performance-critical parts. Ideally we can proxy the DX/GL calls to the host and do translation to GLES there.

I have a few hours to kill this morning. I'm going to try my hand at implementing a passthrough library ;)
 
Last edited by a moderator:
I tried to port Speed Dreams using your libraries (with normal opengl i get 0.2fps), but i get this error:

/mnt/utmp/codeblocks/usr/lib/gcc/armv7l-unknown-linux-gnueabi/4.7.2/../../../libGLU.so: undefined reference to `glEvalPoint2'

/mnt/utmp/codeblocks/usr/lib/gcc/armv7l-unknown-linux-gnueabi/4.7.2/../../../libGLU.so: undefined reference to `glEvalMesh1'

/mnt/utmp/codeblocks/usr/lib/gcc/armv7l-unknown-linux-gnueabi/4.7.2/../../../libGLU.so: undefined reference to `glEvalPoint1'

/mnt/utmp/codeblocks/usr/lib/gcc/armv7l-unknown-linux-gnueabi/4.7.2/../../../libGLU.so: undefined reference to `glEvalMesh2'

/mnt/utmp/codeblocks/usr/lib/gcc/armv7l-unknown-linux-gnueabi/4.7.2/../../../libGLU.so: undefined reference to `glEvalCoord1f'

/mnt/utmp/codeblocks/usr/lib/gcc/armv7l-unknown-linux-gnueabi/4.7.2/../../../libGLU.so: undefined reference to `glMapGrid1f'

/mnt/utmp/codeblocks/usr/lib/gcc/armv7l-unknown-linux-gnueabi/4.7.2/../../../libGLU.so: undefined reference to `glMap1f'

/mnt/utmp/codeblocks/usr/lib/gcc/armv7l-unknown-linux-gnueabi/4.7.2/../../../libGLU.so: undefined reference to `glEvalCoord2f'

/mnt/utmp/codeblocks/usr/lib/gcc/armv7l-unknown-linux-gnueabi/4.7.2/../../../libGLU.so: undefined reference to `glMapGrid2d'

/mnt/utmp/codeblocks/usr/lib/gcc/armv7l-unknown-linux-gnueabi/4.7.2/../../../libGLU.so: undefined reference to `glMap2f'

/mnt/utmp/codeblocks/usr/lib/gcc/armv7l-unknown-linux-gnueabi/4.7.2/../../../libGLU.so: undefined reference to `glMapGrid2f'

collect2: error: ld returned 1 exit status

make[2]: *** [src/main/speed-dreams-2] Error 1

make[1]: *** [src/main/CMakeFiles/speed-dreams-2.dir/all] Error 2

make: *** [all] Error 2
 
Last edited by a moderator:
I don't support mesh functions yet. They're likely the next thing on my roadmap.

Edit: wait, that's coming from libGLU. Use my libGLU instead. It's funny that stock libGLU *almost* worked anyway.
 
Last edited by a moderator:
I have a few hours to kill this morning. I'm going to try my hand at implementing a passthrough library ;)
This would be awesome. The most work in the games is done by the gpu. Half Life, Diablo 2 (and I think starcraft too) and co. doesn't requiere a strong cpu when there is hardware acceleration. If this would be possible, this would be awesome. Battlenet on the Pandora. EPIC!!!
 
Starcraft is 2D only, but for the others it might bring some speedboost. Although Diablo 2 used 3D acceleration mostly for colored lighting.
 
Starcraft is 2D only, but for the others it might bring some speedboost. Although Diablo 2 used 3D acceleration mostly for colored lighting.
We can do passthrough with WINE's directdraw lib though.
 
Oh, dien't know that it also accelerates directdraw with opengl :)
 
Back
Top