VOGONS

Common searches


Glide patch

Topic actions

Reply 240 of 246, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

This fixed DOSBox glide pass-through issue when both glide pass-through and voodoo1 chip emulation are compiled in single build and used interchangeably. The problem was glide pass-through acquired window handle from SDL once and used the same handle all the time for grSstWinOpen(). The voodoo1 chip emulation broke this assumption because it hijacked and re-inited SDL upon every time it was in used. The fix also enabled DOSBox to use the patched OpenGlide/X11 without spawning new rendering window on Linux.

Patch for OpenGlide/X11 is available at:
QEMU 3Dfx Glide Pass-Through (WHPX/KVM works!!!)

After all, DOSBox and QEMU can share the same OpenGlide/X11 and OpenGlide/WinAPI builds on Linux and WIndows using native APIs, eliminating the SDL1 layer.

Attachments

  • Filename
    glide_cpp.diff
    File size
    1.33 KiB
    Downloads
    42 downloads
    File comment
    OpenGlide X11 windowed rendering
    File license
    Fair use/fair dealing exception

Reply 241 of 246, by azn

User metadata
Rank Newbie
Rank
Newbie

Hello, I had account here long time ago and it does not work now. My problem is, I tried a few versions of dosbox and a few versions of the patch but I mainly aim for 0.74-3 as it is newest I found patch for but it does not compile on my linux machine.

I am using 0.74-3 versions of dosbox and patch from here:
https://github.com/voyageur/openglide/blob/ma … 0.74_glide.diff

I extract the sources, patching them with:

cat ../dosbox-0.74_glide.diff | patch -p1

Somehow patching with -p0 does not work for me. Later I run:

./autogen.sh
./configure CPPFLAGS="-I /usr/local/include/openglide" --prefix=/usr
make

Any "make" command ends with:

glide.cpp: In function ‘void GLIDE_ResetScreen(bool)’:
glide.cpp:505:2: error: ‘VGA_SetOverride’ was not declared in this scope
VGA_SetOverride(true);
^~~~~~~~~~~~~~~
glide.cpp:505:2: note: suggested alternative: ‘VGA_SetMode’
VGA_SetOverride(true);
^~~~~~~~~~~~~~~
VGA_SetMode
glide.cpp: In function ‘void GLIDE_DisableScreen()’:
glide.cpp:525:2: error: ‘VGA_SetOverride’ was not declared in this scope
VGA_SetOverride(false);
^~~~~~~~~~~~~~~
glide.cpp:525:2: note: suggested alternative: ‘VGA_SetMode’
VGA_SetOverride(false);
^~~~~~~~~~~~~~~
VGA_SetMode
glide.cpp: In function ‘void process_msg(Bitu)’:
glide.cpp:1011:69: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘Bitu {aka long unsigned int}’ [-Wformat=]
LOG_MSG("Glide:Invalid buffer passed in grLfbLock (%d)", buffer);
^
glide.cpp: In constructor ‘GLIDE::GLIDE(Section*)’:
glide.cpp:396:11: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
fread(ovl_data, sizeof(char), ovl_size, ovl);
~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Makefile:426: recipe for target 'glide.o' failed
make[4]: *** [glide.o] Error 1
make[4]: Leaving directory '/home/azn/Desktop/DOSBOX COMPILE/dosbox-0.74-3/src/hardware'
Makefile:446: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/home/azn/Desktop/DOSBOX COMPILE/dosbox-0.74-3/src/hardware'
Makefile:438: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/azn/Desktop/DOSBOX COMPILE/dosbox-0.74-3/src'
Makefile:377: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/azn/Desktop/DOSBOX COMPILE/dosbox-0.74-3'
Makefile:318: recipe for target 'all' failed
make: *** [all] Error 2
Last edited by azn on 2020-04-12, 11:32. Edited 1 time in total.

Reply 242 of 246, by Chewi

User metadata
Rank Newbie
Rank
Newbie
azn wrote on 2020-04-11, 23:43:

Hello, I had account here long time ago and it does not work now. My problem is, I tried a few versions of dosbox and a few versions of the patch but I mainly aim for 0.74-3 as it is newest I found patch for but it does not compile on my linux machine.

The repository hosting this patch is maintained by a fellow Gentoo Linux developer. I don't think we ever used that version of the patch with any of our package versions. The commit date implies that it was for the original and ancient 0.74 release though it may also work with 0.74-2, which arrived a few months after the commit was made.

I know that this alternative version of the patch works with the fairly recent SVN revision 4302, which many Gentoo Linux users are happily using.

We do need to update the patch for the very latest SVN.

Reply 243 of 246, by azn

User metadata
Rank Newbie
Rank
Newbie
Chewi wrote on 2020-04-12, 11:16:
The repository hosting this patch is maintained by a fellow Gentoo Linux developer. I don't think we ever used that version of t […]
Show full quote
azn wrote on 2020-04-11, 23:43:

Hello, I had account here long time ago and it does not work now. My problem is, I tried a few versions of dosbox and a few versions of the patch but I mainly aim for 0.74-3 as it is newest I found patch for but it does not compile on my linux machine.

The repository hosting this patch is maintained by a fellow Gentoo Linux developer. I don't think we ever used that version of the patch with any of our package versions. The commit date implies that it was for the original and ancient 0.74 release though it may also work with 0.74-2, which arrived a few months after the commit was made.

I know that this alternative version of the patch works with the fairly recent SVN revision 4302, which many Gentoo Linux users are happily using.

We do need to update the patch for the very latest SVN.

Man thank you very much, I checkout the SVN revision you wrote about and patched it with your version of the patch. All compiled with no issues. Thank you so much.

Reply 244 of 246, by azn

User metadata
Rank Newbie
Rank
Newbie

Can anyone tell me why after running CARMAV.EXE it opens in another window named "unnamed"? I cannot figure that out. I attach screenshot so maybe someone will be able to help me with it.

EDIT:
Previously in that post I included my openglide and glide patched dosbox building script for Debian based distros. I removed it as I will not keep it up to date here and I do not want people to use some old version, for current version please refer to my weblog where the script will be updated. Thank you and sorry for editing my post.

Attachments

  • 16042020_1351.jpg
    Filename
    16042020_1351.jpg
    File size
    121.92 KiB
    Views
    383 views
    File comment
    2 windows, why?
    File license
    Public domain
Last edited by azn on 2020-04-16, 21:17. Edited 1 time in total.

Reply 245 of 246, by Chewi

User metadata
Rank Newbie
Rank
Newbie

Try writing this to /etc/OpenGLid.ini.

Configuration File for OpenGLide

Info:
Priority goes from 0(HIGH) to 5(IDLE)
Output resolution: 0 = original, 1.0-16.0 = scale factor, >16 = fixed width (height calculated automatically)
Texture Memory goes from 2 to 32
Frame Buffer Memory goes from 2 to 16
All other fields are boolean with 1(TRUE) and 0(FALSE)

Version=0.09rc9

[Options]
WrapperPriority=2
CreateWindow=0
InitFullScreen=1
Resolution=2.0
EnableMipMaps=1
IgnorePaletteChange=0
Wrap565to5551=1
EnablePrecisionFix=1
EnableMultiTextureEXT=1
EnablePaletteEXT=1
EnableVertexArrayEXT=0
TextureMemorySize=32
FrameBufferMemorySize=16
NoSplash=1

Reply 246 of 246, by azn

User metadata
Rank Newbie
Rank
Newbie

Hmm, nope. It does not work and I had almost the same but without Resolution=2.0. Also I have mine in local directory as I install dosbox cvs locally.

It was all ok until I started writing the script. And the script is doing the same things I was doing manually.

Tried to start with clean dosbox-SVN.conf file but that's the same.

Still digging what could have gone wrong.

EDIT:
Still not quite sure what was wrong but the issue is solved. I recompiled both OpenGlide package and dosbox for x86_64 and as I am 100% sure they have both exact same versions compiled the same way. And somehow now it works as it used to before. In my opinion while working on the script I somehow ended with somehow messed up openglide version. Currently both openglide and dosbox are builded using my script and yet it is working ok.