Watch Dogs Legion / - Ubisoft's DRM practices irritate the DRM $hill -

This game’s in really bad shape… I’m going to compile a short list of issues, be aware that the game is riddled with anti-debug booby traps in addition to being broken in normal ways. Ubisoft’s done it again :wink:


  1. Game hitches every time input changes between keyboard & mouse, remind you of any other games? (ugh).

To any responsible developer who will listen:

  • Never load resources for input icons synchronously in response to input, precache these textures and leave them loaded at all times. Nothing good comes from loading and unloading UI textures like this.

If you fix only one thing: Don’t use blocking loads every time the user pushes a button (!!)


  1. Game uses maximum supported screen resolution as a measure of aspect ratio, which means many users with UHDTVs that support 4096x2160 (but are native 3840x2160) are going to draw their UI at the wrong aspect ratio.

  2. uPlay overlay hooks both XInput 1.4 and XInput 9.1.0 and then proceeds to cause a recursive loop any time the game initiates haptic feedback (since these DLLs forward to one another and only one should be hooked).

Ideally the game would stop linking directly to XInput9_1_0.dll in its Import Address Table, and instead call LoadLibrary (…) to load XInput 1.4, this would prevent the uPlay overlay from hooking two different versions of the same DLL.

  1. Game cannot be patched to use XInput 1.4 instead of XInput 9.1.0 without causing the DRM to panic

  2. Game doesn’t support Flip Model in the D3D11 renderer due to sRGB SwapChain, and you want Flip Model for performance reasons.

uPlay overlay must be disabled to fix this, but you already should have done this as-per broken bullet-point no. 2

  1. Engine believes that Fullscreen Exclusive is required for HDR to work

  2. Engine has worst Framerate Limiter I have seen in a long time.

Set Special K’s framerate limiter to 100% CPU to defeat the game’s busted limiter.

  1. The anti-debug stupidity going on under the hood is suicidal, and not effective at preventing reverse engineering – only effective at creating weird compatibility problems for legitimate customers

Here is a build of Special K that bypasses some of the anti-debug measures:

SpecialK64.7z (7.6 MB)

  • Injection requires turning off BattleEye, and using local injection (dxgi.dll)
1 Like

Owners of LG OLEDs are going to contend with this mess:

Instead of what the UI is supposed to look like:

All because the EDID contains 4096x2160 and the game is convinced that’s your display’s aspect ratio.

Well, yeah. It’s Ubisoft :wink:

BTW, to fix the XInput issues, one needs to copy XInput1_4.dll from System32 to the game’s directory, then make a second copy of that DLL and name it XInput9_1_0.dll. This prevents the DLL forwarding problem, shame that only affects performance when the controller is rumbling, because it’s got performance problems in a million other places :stuck_out_tongue:

1 Like

Sounds like your usual Ubisoft game.

I used Custom Resolution Utilities to delete those resolutions to eliminate similar problems. I don’t play this game but possibly it can help.

SK has the ability to remove them too :wink: But it’s probably better in the long-term to remove them completely rather than on a game-by-game basis. This problem is rare, but is a well-known one.

Experimental HDR10 Signal (Re)processing

( Supports the game’s D3D11 Renderer ONLY )

Since I am not happy with the game’s official HDR, and believe the correct course of action is to re-process it rather than work with the SDR image like most of my previous HDR mods have done, I am going to be building some new adjustments and visualizations for HDR10.

You can adjust these things yourself using SK’s sliders

Or,

You can use SK’s visualization modes to validate the game’s calibration is not exceeding the capabilities of your display.

Clipped details are bright pink; eliminate clipping (!!)

Max-Local-Y represents the brightest value your display wants to process in a 10% window
Max-Average-Y represents the brightest your display can handle across the entire screen

This is much easier than eyeballing crushed image detail against the image Ubisoft offers :slight_smile: Color-coded signal ranges for the win!


HDR10Reprocess.7z (7.6 MB)

This is configured to translate HDR10 to scRGB and let you use HDR in borderless window mode. Just open the HDR widget and make adjustments as you see fit. HDR10 tonemap mode should leave the peak brightness @ 10,000 nits.

1 Like

Hmm I see flip discard works now going by the config file included here and also improvements to HDR nice even if the game being set in London is quite gray ha ha.

Some of the more colorful areas of the game and the night time areas probably light up real well though. :smiley:

EDIT: Should flip over to D3D11 and give it another try, maybe also find some of the less fine shaders and set them to disabled as I think I see a slight scene fringing or chromatic aberration effect in the screen grabs I’ve taken so far.

Doubt D3D12 gives much in the current state of the game although perhaps the update later today does resolve some of these current issues. :slight_smile:

EDIT: Yeah it’s fairly gray but there are some neat areas and locales here and there.

EDIT: I do hope Ubisoft can sort out some of these technical errors over time though.

Feels like this GAAS model is getting more and more games launched earlier than they really should be.

It can still be quite buggy getting flip model to work in this game, it has a tendency to try and re-create the swapchain every frame if it finds out the format of the swapchain isn’t what it expects. That leads to massive amounts of stutter and prevents me from using a latency waitable swapchain :frowning:

That’s my favorite thing to do to a graphics engine, so it makes me sad that I cannot use the most advanced feature of my framerate limiter :-\

1 Like

Unfortunate though given the many summarized issues and problems with the game or the PC port of it at least not too surprising there’s some caveats in getting some of these settings to work right in the current state of how the game is doing things.

Sigh one of the biggest publisher and developer corporations with multiple sub studios and what must be a excellent group of managers coordinating it all and there’s still several issues.

Suppose it’s not all that uncommon (unfortunately.) even with near limitless resources available at least the service model ensures the game will be supported and updated but the launch state well there’s a reason long-term sales for Ubi games tend to be in the millions they do deep discounts really early and a few months later the games get in fairly good shape at least comparably.

UPlay Plus aside it’s a weird thing they and EA have had for some years going into the 30 - 50% off sales really early using pre-order bonuses and online content to ensure early sales also.

EDIT:
https://steamdb.info/app/812140/

October 5th 2018 at 59.99 and then November 21st a 30% discount then December 20th it was at 50% off.

Although since Odyssey and I believe Anno 1800 Ubisoft is holding on the Steam releases.
Thought they’d pull a EA getting their UPlay Plus service going with a return but it seems that’s not happening quite yet.

But business practices of a curious nature aside good to see some of these updates and features do work with the game now or at least mostly work if the game isn’t acting up. :slight_smile:

Only thing to do is to see what the games actual patches will then resolve and hopefully some of the major technical problems will be fixed before Ubisoft shifts into a less active small bug fixes only routine for the game.
(Two major content packs first though and also the free MP content update in December.)

With flip mode enabled, game became much more darker on SDR display.

Yeah, that’s because they use sRGB gamma. They could just as easily handle that w/ a pixel shader, but they leave it in the SwapChain, where it has to be removed or flip model doesn’t work.

Looks like the math for colorspace conversion went horribly wrong somewhere :frowning:

scRGB should cap out at 10,000.0 nits. Ubisoft’s metadata claims their image caps out at 8000 nits (localized). Somewhere along the line, I gained about 3000 nits :slight_smile:

Either that, or Ubisoft’s completely full of … when they populate their metadata.


Doh!

It’s the CEGUI text OSD that’s throwing all the numbers off. That thing needs to die :slight_smile: I never was able to correctly convert it to HDR because I don’t feel like re-compiling that codebase, so it’s just cheated and scaled the wrong way.

1 Like

Wonder if the newer ImGUI code could eventually replace some of the CEGUI functionality, actually being UPlay I don’t think CEGUI does anything here it’s for Steam achievement management / pop-ups and adding a sound playback no?

EDIT: Good to know about the image darkening under SDR conditions too with flip model.

EDIT: Ah explanations and stuff that I’m so good at.
CEGUI being enabled by default would probably do some stuff as a result of it being enabled but since it’s far as I’m aware about at least only managing the Steam achievement functionality it can be safely set to disabled without any real loss of functionality.

There shouldn’t be a Steam .dll file this time so the entire Steam functionality could probably be set off for that matter too but it could be part of some other bits.

Though these parts might be of use if the game is added as a non-Steam game for some of the client functionality at least once BattlEye is out of the picture if that would risk blocking anything.
(Maybe, sounds like the gamepad and input code is a bit problematic - to put it mildly - as to how it currently is working so adding more to it might not be the best idea until that’s been resolved.)

Ooops, that image was tonemapped twice :slight_smile: Ubisoft’s HDR is okay, but it’s not that incredible. I might turn this into a feature. It darkens the image a lot, but you get dynamic range from here to the moon.

On that note, perhaps defaulting CEGUI to be disabled on blank config in latest releases would be the best? Requiring users to manually enable it, unless they use one of the new fancy default_ config presets to override the behavior?

This sort of change is usually the first step towards official obsoletion of features.

As long as I don’t tonemap the image twice (lol !!), the range of CEGUI does not rocket into outerspace.

Accidental 2x Tonemap:

Correct Tonemap:

It’s hard to live with the 2nd image once you’ve seen the first, hah. Perhaps easier if I worked at Ubisoft and knew what the scene was supposed to look like in the first place. Because, damn! That’s some high dynamic range if ever there were any.

Kinda hard to know, default HDR seem to be targeting 600 but I presume that’s due to HDR600 as the certification for more affordable mid-range TV’s (And displays.) but it’s also less strict than the full HDR1000 or higher. (Though I think I’ve only seen those higher ones in UE4)

Something with the local dimming zones and backlight plus the panel qualities although the newer 2019 to 2020 displays are improving.

But once that’s lifted there’s the tone mapping and a whole bunch of other shaders, Watch_Dogs 2 actually has a slight skewing where it from what I remember drifts a bit too much into the yellow color range as a common issue.

The game also mixes in some sharpening and noisiness plus effects like chromatic aberration and a few stylized filter effects pushing contrast up.

Haven’t dug into the Dunia or rather Disrupt but most of it’s Dunia engine much either, there’s a bunch of stuff but I haven’t gotten much out of it yet.

EDIT: So there is a unpacker after all, interesting. :slight_smile:
Now the settings can be compared a bit better.

Ultra shadows for example increase shadow resolution by a factor of 1.5x to 2x over V.High and enables a few effects like PCSS moon shadows and the amount of shadow casters total.

Can also see the presets used for Prospero, Yeti and Scarlett Anaconda plus Lockhart including additional 60 FPS modes for some of these. :slight_smile:
There’s also a e3_marketing preset but it’s closer to PC_3 (V.High) than PC_4 (Ultra) from current comparisons I’ve done.
(And a console_marketing preset though closer to the current-gen consoles than the settings for the upcoming models.)

Bit like this.

Similar since Far Cry 2 and nothing too useful unless you really want to know the specifics of these presets and more for curiosity really.

Patch is out, it does something but I haven’t read much about it improving performance where results seem pretty similar still.

EDIT: Looks like the next update which is also the first major patch will come out on November 9th.