VOGONS


Reply 20 of 27, by Dege

User metadata
Rank l33t
Rank
l33t
SkyHawk wrote on 2022-04-28, 02:09:

The game works, though I once had it fail to actually go fullscreen - the fullscreen was "behind" my desktop and the secondary display did not appear. I had to alt-tab out and click Supreme Commander on the taskbar, which showed two "windows" for the program, and I then had to click the window for the Secondary display, then the game came up and appeared correctly.

Something must have taken the app focus accidentally when starting the game.
Btw, if option DirectX\'Disable Alt-Enter...' is enabled then Alt-Tab should just work fine. Minimizes both game windows when alt-tabbing out and restores both to fullscreen when alt-tabbing back.

SkyHawk wrote on 2022-04-28, 02:09:
But the Secondary still looks off. Maybe the original game looked like this, but I don't remember it doing so. […]
Show full quote

But the Secondary still looks off. Maybe the original game looked like this, but I don't remember it doing so.

Debug output

Screenshot of dgVoodoo - note the blurry text on the ACU name on the Secondary display

Screenshot of Forged Alliance in Borderless Window mode - note the sharp text on the Secondary display

TBH I don't know what to say. I can reproduce it on my main monitor (125% DPI scaling) with my test app with fake fullscreen enabled in dgVoodoo, sometimes...
If I fiddle with DPI compatibility settings for the app and set it to 'Application' (per monitor aware) then it cures the problem, but honestly I don't understand the erroneous case, debugging only shows that the OS gives back dgVoodoo a virtualized window size, but that shouldn't be a problem.
I also cannot see anything in your log, your're driving the monitors at native resolutions.
What if not enabling Fake fullscreen in dgVoodoo cfg?

Reply 21 of 27, by SkyHawk

User metadata
Rank Newbie
Rank
Newbie

Interesting.

I had "Fake" Fullscreen mode turned *off*. When I turned it *on*, the problem went away. Seems more reliable as far as actually getting focus and displaying properly on startup, too.

"Capture mouse" on the General tab doesn't seem to be doing anything though.

For anyone finding this thread in the future, here are the relevant dgVoodoo installation and settings for getting this to work (I think):

I'm guessing you'll need at least version 2.79 of dgVoodoo - previous versions do not have the display mask capability, and may also have missing visual effects. You'll be installing into the \bin subdirectory of Supreme Commander, where SupremeCommander.exe lives.

From the dgVoodoo zipfile, extract the following files into \bin
dgVoodooCpl.exe
MS\x86\D3D9.dll

Run dgVoodooCpl.exe from \bin

First, you'll need the Extended options in the dgVoodoo config application. Right-click anywhere and select "Show all sections of the configuration"

I'm only describing changes from the Default configuration - if you've already messed with it, right-click and "Set configuration to default"

General tab
* Config folder / instance - click the ".\" button to ensure you're configuring in the directory where the Control Panel application lives.

DirectX tab
* You'll probably want to turn off the dgVoodoo watermark after you know it's working correctly

GeneralExt
* Fullscreen mode attributes "Fake" enabled

DirectXExt
* Individual Display Outputs Enabled - Select exactly 2 monitors that you want Supreme Commander to display on. You can presumably skip this if you only have 2 monitors.

When you launch Supreme Commander, go into Options -> Video and set Primary and Secondary adapter to the native resolutions of the connected displays.

There may be additional complications or steps needed for people with 1 or more High-DPI displays. I don't have any of those, so I can't comment. I can hazard a guess that, at minimum, you'll need to right-click SupremeCommander.exe, Properties, Compatability tab, Change High-DPI settings, Override High-DPI scaling behavior, select "Application" from the dropdown.

Reply 22 of 27, by Dege

User metadata
Rank l33t
Rank
l33t

Mouse capture: yes, my original concept was that mouse capture can't work in multihead cases. However I changed that , mouse is captured into the bound rect of the head displays. I updated the latest zip on my site.

This fake/non-fake window phenomenon is really strange. At least it works for you.
You can also try D3D12 (without Fake fullscreen enabled) because it's always borderless fullscreen at OS implementation level (D3D12 + dgVoodoo fake fullscreen didn't prove to be a great combo).

Reply 23 of 27, by Sorrydough

User metadata
Rank Newbie
Rank
Newbie

Hello! So I'm playing supreme commander on linux, and I was looking for solutions to the missing visual effects. Not only does it make the game look dull, but you're at a competitive disadvantage for various reasons since the particles are used as visual cues for various things. When proton translates the game from D3D9 to Vulkan, it appears to get the same error that D3D9 to DX12 translation is having on windows. So all linux users have this issue, and there's dozens of us I swear. I intend to write a guide for getting it to work if we can pull that off.

So in the process of looking for a solution to this Skyhawk put me onto this thread. I was able to get dgVoodoo to load up and work as expected by forcing the game to load it with a DLL override. I'm also able to configure it with the exe. But after a period of time that can be arbitrary to reproduce, the game crashes. The game log doesn't give any information about why the crash occurred - it just stops abruptly. I've loaded up the debug version of dgVoodoo and gotten a log with DebugView. However, I can't seem to see anything in there that would indicate the cause of the crash. Just like the game log, it just stops abruptly. Since the game has to run for a bit for the crash to occur, the log exceeds the allowed file size for attachments on this board. I've cut out a bunch of repeated error spam so it'll fit. There are definitely errors in there.

As far as replication goes, I talked to Skyhawk and he was unable to reproduce my crashes on windows. The most consistent way to trigger the crash for me is with forged alliance forever, playing the Black Day campaign mission where it crashes reliably every time at the 40 minute mark when the map expands. Additionally, I can reliably get a crash out of replay ID#16837506, happening somewhere between the 14 minute mark and the 25 minute mark. This is less consistent but you don't have to play the game for 40 minutes of realtime to get there, which is a plus. Exactly what time it crashes at seems to be semi-random, but the slower I run the game simulation at, the earlier in gametime the crash happens. I tried increasing the virtual memory in the dgVoodoo configuration menu, since I thought it would be related to vram capacity or something, but that didn't fix it.

Attachments

  • Filename
    supcrash.log
    File size
    4.28 MiB
    Downloads
    13 downloads
    File license
    Public domain

Reply 24 of 27, by SkyHawk

User metadata
Rank Newbie
Rank
Newbie

A little background, if my quick research is correct.

Proton is running Supreme Commander / dgVoodoo through a translation layer called DXVK. This support DX9 through DX11, and outputs to Vulkan. DXVK apparently has the same difficulties with shaders that dgVoodoo did before Dege kludged it in the test build of dgVoodoo.

Reply 25 of 27, by SkyHawk

User metadata
Rank Newbie
Rank
Newbie

Hi Dege,

Sorrydough seems to have fixed his crashing issue, you may be unsurprised to hear it was a Linux-related complication.

The linux-using community for Forged Alliance Forever is really excited about this test build of 2.79, as it allows Linux players to play the game correctly. May I ask you to re-publish the test build on your webserver? There are new players who really want that file, and they're not really comfortable redistributing something they have no right to redistribute.

Alternatively, if you tell me it's okay for me to redistribute that test build, Il'l happily do so.

Reply 27 of 27, by SkyHawk

User metadata
Rank Newbie
Rank
Newbie

Just for the record, for anyone finding this thread in the future, dgVoodoo 2.79, now publicly available on Dege's site, seems to work perfectly. Unless something breaks in the future, I would expect all future versions to also work perfectly.