VOGONS


WIP versions

Topic actions

  • This topic is locked. You cannot reply or edit posts.

Reply 421 of 1111, by batterymandark

User metadata
Rank Newbie
Rank
Newbie

it seems Hitman 47, get messed up its 2d scaling and fonts, if any resolution is other than "unforced"
this is a problem with nglide as well, so its not only dgvoodoo's problem,

Also running the game in normal 640x480, the game turns into widescreen mode.
Maybe there something incorrect with the unforced scaling in this instance for this game , its like its doing the inverted
running unforced as stretched mode, but running 4:3 as, from 4:3 to 16:9 and then back again to 4:3

Or maybe it doesn't render the last pixels at the corners of 2d as transparent?

Reply 423 of 1111, by ZellSF

User metadata
Rank Oldbie
Rank
Oldbie
batterymandark wrote:

Also running the game in normal 640x480, the game turns into widescreen mode.
Maybe there something incorrect with the unforced scaling in this instance for this game , its like its doing the inverted
running unforced as stretched mode, but running 4:3 as, from 4:3 to 16:9 and then back again to 4:3

Your English is a bit confusing here, but when running the game in 640x480 I get a 4:3 picture just fine.

Which scaling mode are you using? Remember that the handling of "Unspecified" is entirely up to your GPU drivers. "Centered" and "Stretched" are too, but those two have concrete meanings. Also make sure you're not running windowed.

Reply 424 of 1111, by Dege

User metadata
Rank Oldbie
Rank
Oldbie
batterymandark wrote:
it seems Hitman 47, get messed up its 2d scaling and fonts, if any resolution is other than "unforced" this is a problem with ng […]
Show full quote

it seems Hitman 47, get messed up its 2d scaling and fonts, if any resolution is other than "unforced"
this is a problem with nglide as well, so its not only dgvoodoo's problem,

Also running the game in normal 640x480, the game turns into widescreen mode.
Maybe there something incorrect with the unforced scaling in this instance for this game , its like its doing the inverted
running unforced as stretched mode, but running 4:3 as, from 4:3 to 16:9 and then back again to 4:3

Or maybe it doesn't render the last pixels at the corners of 2d as transparent?

Aren't you running Hitman through Glide in (accidental) windowed mode and that's why its window is stretched along the screen?
Unfortunately font and other texturing artifacts is very common with forced resolution/msaa.

Reply 426 of 1111, by batterymandark

User metadata
Rank Newbie
Rank
Newbie
Dege wrote:
batterymandark wrote:
it seems Hitman 47, get messed up its 2d scaling and fonts, if any resolution is other than "unforced" this is a problem with ng […]
Show full quote

it seems Hitman 47, get messed up its 2d scaling and fonts, if any resolution is other than "unforced"
this is a problem with nglide as well, so its not only dgvoodoo's problem,

Also running the game in normal 640x480, the game turns into widescreen mode.
Maybe there something incorrect with the unforced scaling in this instance for this game , its like its doing the inverted
running unforced as stretched mode, but running 4:3 as, from 4:3 to 16:9 and then back again to 4:3

Or maybe it doesn't render the last pixels at the corners of 2d as transparent?

Aren't you running Hitman through Glide in (accidental) windowed mode and that's why its window is stretched along the screen?
Unfortunately font and other texturing artifacts is very common with forced resolution/msaa.

glide and Direct 3d, and fullscreen its what I tryed, and it might be very possible my gpu doing some stretching, even if the game running in 640x480 unforced.
but for whatever reason, it all streches, even if i explicit force the gpu scaling to preserve aspect ratio.

The artifacts its doing when upscale the resolution , i wouldn't bother if it whas minor, but its bad.. it look almost like its repeating its pixels.
nGlide also gives the same problem, and forcing point filtering in dgvoodoo, does not fix the problem, so it isn't the usual bilinear pixel-mess glitch.

The more i think about it, its almost as the 2d and text won't resize properly. like it got stuck , its kinda hard to explain.

Reply 427 of 1111, by batterymandark

User metadata
Rank Newbie
Rank
Newbie

here is a screen shoot : https://1drv.ms/u/s!Agj8jUvjAJjznS7dLWlTGppxCQX4

Also my NVIDIA card did manage to force the game back again to 4:3 when running unforced.
My AMD doesn't do it for some reason

Edit 2 : My Intel GPU can also scale the game to proper aspect ratio, now its just my AMD card left for some stupid reason
I should also mention that I had to select "Override application scaling" in the gpu control panel for NVIDIA and INTEL

Reply 428 of 1111, by ZellSF

User metadata
Rank Oldbie
Rank
Oldbie
batterymandark wrote:
here is a screen shoot : https://1drv.ms/u/s!Agj8jUvjAJjznS7dLWlTGppxCQX4 […]
Show full quote

here is a screen shoot : https://1drv.ms/u/s!Agj8jUvjAJjznS7dLWlTGppxCQX4

Also my NVIDIA card did manage to force the game back again to 4:3 when running unforced.
My AMD doesn't do it for some reason

Edit 2 : My Intel GPU can also scale the game to proper aspect ratio, now its just my AMD card left for some stupid reason
I should also mention that I had to select "Override application scaling" in the gpu control panel for NVIDIA and INTEL

D3D11 which dgVoodoo2 uses has a setting for scaling with three options and it needs to be set. those are the three first modes available in dgVoodoo2:

  • Unspecified
  • Centered
  • Stretched

When any of those modes are selected, that's just a flag that's passed to the driver along with the 640x480 image, dgVoodoo2 has no say in how the image is actually scaled.

So AMD treating "Unspecified" as "Stretched" with no workaround is an AMD issue (that also affects other D3D11 software), not a dgVoodoo2 issue, but dgVoodoo2 has other scaling modes available where dgVoodoo2 tries to resize the image itself. This can work around this specific issue. Those scaling modes are the following:

  • Centered, keep Aspect Ratio
  • Stretched, keep Aspect Ratio
  • Stretched, 4:3 Aspect Ratio

Use those. There's also some filtered options and advanced options in the config file that will also work.

You can also try disabling GPU scaling and leaving the scaling to your display. This obviously gives inconsistent results across different setups though.

Reply 429 of 1111, by batterymandark

User metadata
Rank Newbie
Rank
Newbie

That my AMD doesn't scale low 4:3 resolution properly, isn't a big issue, but good for troubleshooting or testing before applying any features

i'v done some tedious testing, and this is what I discover

Cleanest result, almost perfect.
Game running in 640x480 or 640x400, dgvoodoo running 2x resolution, Stretched, keep Aspect Ratio and ImageScaleFactor 2

Cleanest but incorrect main menu scaling, menu getting cropped
Game running in 320x200 or 300x200, dgvoodoo running 2x resolution, Stretched, keep Aspect Ratio and ImageScaleFactor 2

Any higher resolution gives ugly text back, and some hud elements doesn't render properly.
Any higher than 3x like 4x or max QHD gives the worst result , leading back to how the screenshoot shows.
This is also with no AA, or any filtering enabled.

Edit 2 : I discovered that the text is actual TrueTypeFonts , that is converted to bitmap graphic by the game, since I actually tried to replace one of the game font files from windows, and it did work, but the same issues remained.
and a bold font seems to make it even worse.

Reply 431 of 1111, by UCyborg

User metadata
Rank Member
Rank
Member
UCyborg wrote:

Progress!

BNQj6Llh.png

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 432 of 1111, by Dege

User metadata
Rank Oldbie
Rank
Oldbie

Whoa!!
Unfortunately testing DXVK is a pain for me because I permanently have my secondary monitor attached to my integrated Intel (for testing purposes) and DXVK hangs in Intel's Vulkan driver at startup.
What about its performance?

batterymandark wrote:
That my AMD doesn't scale low 4:3 resolution properly, isn't a big issue, but good for troubleshooting or testing before applyin […]
Show full quote

That my AMD doesn't scale low 4:3 resolution properly, isn't a big issue, but good for troubleshooting or testing before applying any features

i'v done some tedious testing, and this is what I discover

Cleanest result, almost perfect.
Game running in 640x480 or 640x400, dgvoodoo running 2x resolution, Stretched, keep Aspect Ratio and ImageScaleFactor 2

Cleanest but incorrect main menu scaling, menu getting cropped
Game running in 320x200 or 300x200, dgvoodoo running 2x resolution, Stretched, keep Aspect Ratio and ImageScaleFactor 2

Any higher resolution gives ugly text back, and some hud elements doesn't render properly.
Any higher than 3x like 4x or max QHD gives the worst result , leading back to how the screenshoot shows.
This is also with no AA, or any filtering enabled.

Edit 2 : I discovered that the text is actual TrueTypeFonts , that is converted to bitmap graphic by the game, since I actually tried to replace one of the game font files from windows, and it did work, but the same issues remained.
and a bold font seems to make it even worse.

Hitman's text glitches are because of the incorrect texel->pixel mapping caused by the forced resolution or MSAA. 😖

Reply 433 of 1111, by batterymandark

User metadata
Rank Newbie
Rank
Newbie

I see, but I wonder, how is dgvoodoo render 2d and 3d together ?
I was just wondering, could it be possible to do separate rendering for 2d and 3d, so let's say
the 2d is untouched and then just scaled up , like what you would do normaly on 2d , and render that as a layer on top of the 3d?
and what I mean by scaled up, I don't mean the resolution, but just scaled it up like you would resize an image with nearest neighbor.
I know in that case, the 2d would be pixelated, but not blurry.
I was thinking of all those games that have similar issues like hitman. , so that would require an additional render option.

Reply 434 of 1111, by UCyborg

User metadata
Rank Member
Rank
Member
Dege wrote:

Unfortunately testing DXVK is a pain for me because I permanently have my secondary monitor attached to my integrated Intel (for testing purposes) and DXVK hangs in Intel's Vulkan driver at startup.

Intel is not recommended at this time, too shaky drivers I guess.

Dege wrote:

What about its performance?

By quick and unprofessional assessment, I'd say it needs 2 - 5 ms more time to produce a frame on my card on Windows. Linux driver is slower for me, so it also adds up there. Forcing MSAA also has noticeable negative impact, which otherwise may not make much of a difference natively.

It also has problems handling multiple monitors when you try fullscreen mode (it tries some odd resolution instead of the selected one).

Last edited by UCyborg on 2018-05-27, 22:59. Edited 1 time in total.
Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 435 of 1111, by ZellSF

User metadata
Rank Oldbie
Rank
Oldbie

Maybe DXVK eventually will be a workaround for games dgVoodoo2 has driver bugs with? Here's MechCommander 2 running under dgVoodoo2 + DXVK on a Nvidia setup that would otherwise just crash when running only with dgVoodoo2:

mc2.jpg
Filename
mc2.jpg
File size
322.65 KiB
Views
1406 views
File license
Fair use/fair dealing exception

Sadly, there's no way of doing antialiasing. dgVoodoo2's antialiasing is not working (and has artifacts with this game anyway), Nvidia forced FXAA is not working and obviously ReShade SMAA is not working since it doesn't support Vulkan. V-sync is also broken.

Reply 436 of 1111, by UCyborg

User metadata
Rank Member
Rank
Member

I've been experimenting with dgVoodoo and DXVK on WINE on Linux. One shouldn't forget about installing d3dcompiler_47.dll and set that DLL override to native. Also had to install comctl32 with winetricks and afterwards delete DLL override settings related to it. Without installing comctl32, drop-down lists in dgVoodooCpl.exe weren't functioning properly; changes to selections in those lists didn't register. And without the final step of removing DLL override setting for comctl32 (or just setting it to builtin), pop-up descriptions of individual options were absent.

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 437 of 1111, by Dege

User metadata
Rank Oldbie
Rank
Oldbie
batterymandark wrote:
I see, but I wonder, how is dgvoodoo render 2d and 3d together ? I was just wondering, could it be possible to do separate rende […]
Show full quote

I see, but I wonder, how is dgvoodoo render 2d and 3d together ?
I was just wondering, could it be possible to do separate rendering for 2d and 3d, so let's say
the 2d is untouched and then just scaled up , like what you would do normaly on 2d , and render that as a layer on top of the 3d?
and what I mean by scaled up, I don't mean the resolution, but just scaled it up like you would resize an image with nearest neighbor.
I know in that case, the 2d would be pixelated, but not blurry.
I was thinking of all those games that have similar issues like hitman. , so that would require an additional render option.

2d and 3d cannot be distingusihed for Hitman. All that dgVoodoo can see when rendering a frame is 'draw-triangles'. Text is composed of 2 small textured triangles per character and dgVoodoo doesn't know what it's actually drawing. 😖

ZellSF wrote:

Maybe DXVK eventually will be a workaround for games dgVoodoo2 has driver bugs with? Here's MechCommander 2 running under dgVoodoo2 + DXVK on a Nvidia setup that would otherwise just crash when running only with dgVoodoo2:

This game is really weird. When I try to run it on nVidia I get the following messages from initializing D3D11: 😕 😕

*** WARNING - PE SIGNATURE VERIFICATION FAILED !!!
*** Filename: C:\WINDOWS\System32\DriverStore\FileRepository\nv_ref_pubwu.inf_amd64_708ec8f9a4d134c6\nvwgf2um.dll
*** Error: 0x80092009
*** WARNING - PE SIGNATURE VERIFICATION FAILED !!!
*** Filename: C:\WINDOWS\System32\DriverStore\FileRepository\nv_ref_pubwu.inf_amd64_708ec8f9a4d134c6\nvwgf2um.dll
*** Error: 0x80092009
*** WARNING - PE SIGNATURE VERIFICATION FAILED !!!
*** Filename: C:\WINDOWS\System32\DriverStore\FileRepository\nv_ref_pubwu.inf_amd64_708ec8f9a4d134c6\nvwgf2um.dll
*** Error: 0x80092009
*** WARNING - PE SIGNATURE VERIFICATION FAILED !!!
*** Filename: C:\WINDOWS\System32\DriverStore\FileRepository\nv_ref_pubwu.inf_amd64_708ec8f9a4d134c6\nvwgf2um.dll
*** Error: 0x80092009
*** WARNING - PE SIGNATURE VERIFICATION FAILED !!!
*** Filename: C:\WINDOWS\System32\DriverStore\FileRepository\nv_ref_pubwu.inf_amd64_708ec8f9a4d134c6\nvwgf2um.dll
*** Error: 0x80092009
*** WARNING - PE SIGNATURE VERIFICATION FAILED !!!
*** Filename: C:\WINDOWS\System32\DriverStore\FileRepository\nv_ref_pubwu.inf_amd64_708ec8f9a4d134c6\nvwgf2um.dll
*** Error: 0x80092009

I guessed it had to be because of compat settings in the system database but didn't find anything for this game. Works perfectly on AMD though.

Reply 438 of 1111, by CoolGamer

User metadata
Rank Member
Rank
Member

Dege, when I set "EnumeratedResolutionBitdepths = 32", I noticed that both 16bit and 32bit gets enumerated to the application. Is this a bug? Is there a way to enumerate only 32bit resolutions to the game?

Some games (such as Star Wars Racer) automatically choose 16bit display mode when both 32bit and 16bit are enumerated. That's how I discovered this issue.

Is it possible to add an option to the INI config file to enumerate 24bit resolutions to the games?

Reply 439 of 1111, by Dege

User metadata
Rank Oldbie
Rank
Oldbie

Yes, that's a bug, nice find! Fixed.
As for 24 bit things, I always wanted to avoid them as much as possible. It must be supported at some degree though because 24bit surfaces in system memory are always supported natively and also, I encountered some games assuming 24bit z-buffer is available by default.
But using 24 bit resources are just call for trouble, they are inefficient, dgVoodoo cannot provide fast-access for them, etc., so I omitted supporting 24 bit display modes too. Is there a particular game that want to use such a display mode?