joncampbell123 / dosbox-x

DOSBox-X fork of the DOSBox project
GNU General Public License v2.0
2.81k stars 383 forks source link

Can't figure out how to use nGlide in window mode properly #3893

Open User-3090 opened 1 year ago

User-3090 commented 1 year ago

Question

I want to launch 3DFX games in Dosbox-X in Window Mode with fixed/specified dimensions, but I'm not smart enough to figure it out.

Also the cursor is always hidden when over the nGlide Window and it's always above all other Windows. Is there a way to change this?

I'm using the SDL2 build, as with SDL1 Alt-Enter in nGlide does nothing for me. Is this a problem with nGlide only? Will other glide wrappers allow me to play in Window mode properly?

2022-12-21 11_50_53-DOSBox-X 2022 09 0_ S2_3DFX - 100% 2022-12-21 11_51_14- 2022-12-21 11_52_22-DOSBox-X 2022 09 0_ S2_3DFX - 100%

Have you checked that no similar question(s) exist?

Code of Conduct & Contributing Guidelines

JayQ2K commented 1 year ago

First of I don't think nGlide is 64-bit. So if you're using the x64 version of Dosbox, this won't work. I see gaming images included, so if these are from your system I guess this is not your issue.

Also, nGlide has not been developed recently. It might thus lag behind what Dosbox can offer. nGlide should offer windowed mode, but documentation on it is a bit sketchy. You might want to check http://dege.freeweb.hu/dgVoodoo2/dgVoodoo2/, which is developed up till today and also includes 64-bit versions of glide dll files.

I personally still use the 32-bit version of Dosbox with 32-bit glide, but that works without any issues. Just drop the glide2x.dll file in the Dosbox folder and you should be good to go.

Either your dosbox-conf config file or the configuration tool must have this included since without nothing happens: [voodoo] glide = true

User-3090 commented 1 year ago

I'm using the 32bit version and apart from the inability to resize or scale the window nGlide is working fine. I'll give dgVoodoo2 a spin. Thanks!

User-3090 commented 1 year ago

Oh man. It all magically works when using dgVoodo2. Can't believe I spend so much time getting things to work with nGlide. Are there particular settings I should use with Dosbox-x to optimize for dgVoodo2? I assume set at least output to D3D? Thanks!!!

User-3090 commented 1 year ago

It mostly works. However I get artifacts in menus as soon as I increase the resolution in the dgVoodoo2 control panel. Any idea what might be causing that? I tried all options I could think of.

Thanks!

image

kjliew commented 1 year ago
  • Is there really no way I can launch a game in Window mode with fixed/specified dimensions?

No, you can. If you haven't watched the video below, then you should take a peek. 😜 https://www.youtube.com/watch?v=QByfzl8Ij3Y&t=720s

dgVoodoo2 and nGlide are great when OpenGLide lacks the compatibility quirks to manage a handful of tricky Glide games. But when OpenGLide works (Screamer 2 / Rally are great examples), its openness enables seamless integration with the host application without having to deal with separate wrappers configuration.

User-3090 commented 1 year ago
  • Is there really no way I can launch a game in Window mode with fixed/specified dimensions?

No, you can. If you haven't watched the video below, then you should take a peek. 😜 https://www.youtube.com/watch?v=QByfzl8Ij3Y&t=720s

That video was the reason i just donated to your project ;) looking forward to try it.

kjliew commented 1 year ago

Oh, Thank YOU very, very much!!!πŸ‘Ό Let me know if you wish to bundle the package to include DOSBox SVN with Games essential patches that I used in the video. It is now a much improved DOSBox SVN with sdl12-compat out-of-the-box, seamless scaling and full-screen regardless of Glide pass-through or VOODOO emulation. DOSBox is always better for DOS games and a worthy complement to QEMU for retro gaming.

I hope DOSBox-X wouldn't mind such promotion here. 😜

JayQ2K commented 1 year ago

Oh man. It all magically works when using dgVoodo2. Can't believe I spend so much time getting things to work with nGlide. Are there particular settings I should use with Dosbox-x to optimize for dgVoodo2? I assume set at least output to D3D? Thanks!!!

Not really. I pretty much use it out of the box with just glide=true. Haven't used the dgVoodoo2 control panel myself combined with Dosbox so can't say what would work (if at all, because Dosbox might disregard those settings). So far I haven't even placed a dgVoodoo.conf in the Dosbox folder and haven't really experienced any issues.

I personnaly work with a mini-config file myself that only changes settings that are not default and run that file from a shortcut like: D:\DOSBox-X\dosbox-x.exe -conf gamebox.conf

gamebox.conf is filled with: [voodoo] glide = true

[config] break = off dos = high, umb fcbs = 4 files = 30 lastdrive = a and some other stuff, but not the whole config file. This keeps things in order (for me at least) and only when required to add settings I will bring them over from the default config file and adjust them here. Meaning I indeed use default for output (which is direct3d under Windows).

JayQ2K commented 1 year ago

I hope DOSBox-X wouldn't mind such promotion here. 😜

Well, your project is mentioned here, so I guess not.

User-3090 commented 1 year ago

Basically all the scaling options in Dosbox-x as well as in the dgVoodoo2 control panel are broken or have no effect. I tried each and every setting and combination of builds. The best I can get is SDL2 build with dgVoodoo2 set to 2x on Glide tab. But even that is quirky. Minimize and restore the Dosbox-x window and it's messed up again.

image

User-3090 commented 1 year ago

Also Direct-X shaders do not work at all with dgVoodoo2. Those worked with nGlide at least.

Window mode in Dosbox-x with nGlide and dgVoodoo2 all seems very quirky and mostly broken to me. I'm mean on the positive side there is a picture and it does render, but that's about the only thing that works ;)

JayQ2K commented 1 year ago

In that case I'm gonna look into @kjliew project and see what happens there. Glide and OpenGL are more native to each other than Glide and D3D (though as we can see it does work).

You might want to check if output=opengl does the trick.

BTW...if your actual graphics card is from AMD, I would check if Output API change to Direct3D 12 (fl_12) helps out.

kjliew commented 1 year ago

In that case I'm gonna look into @kjliew project and see what happens there.

What happens here is REALLY simple -- the *LOVE* of playing 3Dfx games on DOSBox -- to the point that it offended VOGONS Marvin folks for their troubles with 3Dfx games (Carmageddon 3Dfx, Tomb Raider 3Dfx, etc.) on real junkyard PCs with "whatever-Voodoo". The Glide pass-through & VOODOO emulation integration aren't just another checkbox syndrome. Seamless scaling, full-screen and "real" 3D accelerated rendering are priority for good game experience on modern systems.

In fact, there were numerous accounts that the main devs acknowledged that they didn't have that much focus on games. Perhaps the project was better funded by helping small businesses/offices to protect their investment in DOS software for word processing/accounting/inventory tracking/invoice printing etc.

JayQ2K commented 1 year ago

You don't deliver binaries for those that just want to play games instead of building the files themselves?

kjliew commented 1 year ago

You don't deliver binaries for those that just want to play games instead of building the files themselves?

I do now as the bundle request for those donated to my project for QEMU featuring qemu-3dfx. 😁 I cordially call it *the Ultimate Retro PC Gaming pack* on modern systems for thousands of games from the DOS era into the 1996-2004 Windows gaming "donut hole".

DOSBox has never been short of community builds. The patches are GPL'ed and available for everyone.