Just found out about this and excited to try it out! I've been playing this for years with Sven's wrapper on Linux/Wine. Now I have a windows 10 install and trying to get it to look the same as I do on Linux. I have it set to render fullscreen, but at 1x1:1x1 with a big black border. Then I use nvidia integer scaling via the command "nvidia-settings --verbose --assign CurrentMetaMode="DPY-2: 2560x1440_144 { ViewPortIn=1280x720, ViewPortOut=2560x1440, ResamplingMethod=Nearest }", which would basically halve the x and y resolution and use integer scaling for crisp pixel art. Well nvidia doesn't have integer scaling for my nvidia titan x pascal on Windows(needs turing arch vs. pascal) even though it supports it on linux, so I am looking to do the scaling via the wrapper.
First was playing around with Sven's wrapper settings. The only way I can get that to look the way I want is through windowed mode. Any time I use full-screen with all other combinations it will introduce non-integer scaling. But windowed mode isn't bad even though I rather have a solid black border all around.
TLDR: Is there a mode where a 1x1 diablo pixel equals 2x2 native mode pixels(i think this is what windowed mode does?), with a black border surrounding it? My monitor is 2560x1440 so it looks great to me this way! I might be able to figure this out myself, but it doesn't look like the changes I am making are taking any effect. I copied the glide dlls over to d2 folder and launch dgVooDdoCpl.exe from C:\Program Files (x86)\dgVoodoo2_8_2.
Alright! Got it going... I had to copy the conf file into the d2 directory. Also, earlier I was grabbing the x64 versions forgetting about bitness.
Right now using settings:
Yeah... was wrestling with it for ages. When I set the scaling to GPU and hit apply, right after I click Yes on the "Do you want to keep..." I can see it appear and disappear several times really fast, only for it to finally disappear. And yes, I did try to sneak in an ambush click of it! rofl. I do keep reading that it requires turing architecture, so I am guessing it is that and I wouldn't be surprised if the linux devs snuck it in. As a matter of fact the only reason integer scaling got implemented at all is because folks petitioned them for the sake of pixel art.
But I also would not be surprised if it is available somehow. There were a couple fixes that were a bit too scary for me to just throw myself into full-tilt. Thanks again for the help! Oh and also I was able to tweak Sven's wrapper more to my liking, which is:
1----------------------------------------------------------------------------------------------------- 21. reset via std/export -> restore default values 3 mainly noting deltas from these defaults 4 5settings 6x captured mouse if you don't do this it will run way past right border 71600x1200 static size 8x desktop resolution checked, vert int scaling, unchecked a full vert stretch 9 10extentions 11x GL_EXT_vertex_array more efficient 12o GL_ATI_fragment_shader 13o GL_ARB_fragment_program 14x GL_EXT_paletted_texture this takes precedence over 2 just above it, more efficient 15x GL_EXT_shared_texture_palette all share same pallet, uncheck if problems seen 16o GL_EXT_packed_pixels if emulating 8 bit textures, which i don't think we are? 17o GL_EXT_texture_env_combine for transparency, but i have it already. switch if problems 18o WGL_EXT_swap_control can control vert sync. do i need to? i don't think so 19x WGL_ARB_render_texture this and supersampling required if scaling is done by glide 20 21back up to renderer 22x supersampling requires WGL_ARB_render_texture to be on. use if scaling via glide 23x no gamma unchecked=lighter, checked=darker, sometimes i like one, sometimes t'other 24 25-----------------------------------------------------------------------------------------------------
I do see a cursor type object zipping across the bottom of the screen at a couple points which always appears when WGL_ARB_render_texture is set, but I think it goes away after that. Hopefully it won't cause a buffer overflow or something 🤣.
Also including 1:1 fullscreen mode. Posting in case these help someone in the future. It took me a bit to figure them out and it I think it looks sharp and vibrant.
I know I mentioned something pretty obvious but I wasn't sure how familiar with Windows you were since you mentioned coming from a Linux environment. I also thought I had used this on my 1080Ti but I just checked that system and the integer scaling option is definitely not there. Sorry about that.
No problemo! Thank you for taking time to check it out and passing that info. I am still going to keep checking and will update if I find anything out, might be a different path to same goal.
uniform_pixelswrote on 2023-06-18, 20:56:Alright! Got it going... I had to copy the conf file into the d2 directory. Also, earlier I was grabbing the x64 versions forget […] Show full quote
Alright! Got it going... I had to copy the conf file into the d2 directory. Also, earlier I was grabbing the x64 versions forgetting about bitness.
Right now using settings:
Seems to be what I'm after, but if anyone has any tips please share. Since my use-case is so simple maybe I can turn off some stuff.
You can set the scaling mode to 'Centered, keep aspect ratio' so dgVoodoo will use your current desktop resolution for image presenting, independently on the game resolution or the forced resolution.
So, in this scenario the game output will be rendered in the center of your sceen either in the game resolution or the forced resolution (if anything other than 'unforced' is specified in DX\Resolution config element).
And you can also scale the output in a postprocess step, set 'GeneralExt\ImageScaleFactor' to 2 or whatever you want with a point-sampling filter. It's the equivalent of NV and other vendor built-in pixel scaling.
You can make all the config tab pages appear in the CPL by right-clicking somewhere on the CPL and enable "Show all sections of the configuration" in the context menu.
So, all in all:
General\ScalingMode: Centered, keep aspect ratio
DirectX\Resolution: unforced (let the game render its stuff at its own resolution)
GeneralExt\ImageScaleFactor: 2
GeneralExt\Resampling: point sampled