Grim Dawn Item Assistant on MacOS (Crossover)

Grim Dawn Item Assistant on MacOS (Crossover)

A step-by-step guide to getting Item Assistant running on macOS under CrossOver.

I am not a Wine expert — this is simply what I worked out getting it running on my own machine, and what I could verify by testing. Corrections welcome.

Updated October 2026: step 2 now sets a third registry rule. If you followed an earlier version of this guide and have a black item panel, that missing rule is why — see Troubleshooting at the end.


Overview

Item Assistant is a Windows application, so on macOS it runs under CrossOver, a commercial Wine distribution. CrossOver keeps each application in a bottle — a self-contained fake C: drive.

Three separate programs go into one bottle:

  • Microsoft Edge WebView2 runtime — draws the item grid
  • .NET 10 Desktop Runtime — IAGD will not start without it
  • Item Assistant itself

Only the last comes from the IAGD project. The first two are Microsoft runtimes that IAGD checks for and refuses to run without. On a real Windows PC they are usually already installed, which is why Windows users never encounter any of this.

Note: the order matters, and one step cannot be done retrospectively. See step 2.


Tested on

macOS       26.4.1 (Tahoe)
CrossOver   26.3
Hardware    Apple Silicon (M1 Max)
IAGD        1.5.9763.13501
WebView2    109.0.1518.140
.NET        10.0.2 Desktop Runtime (x64)
Grim Dawn   GOG standalone installer (not Galaxy)

Earlier versions of macOS or CrossOver may well work, but I have not tested them and would not recommend them. Intel Macs are untested.

A note on where Grim Dawn came from. Mine is the GOG standalone installer. IAGD locates the game by looking in three places — GOG’s registry entries, Steam’s library list, and a Proton path — so a Steam or GOG Galaxy install should work just as well, the difference being which of those it finds. I have not tried either, and the paths will differ, so if you are on Steam expect the steps to hold but the game path to look different from mine.


The problem this guide exists to solve

Microsoft serves different builds of WebView2 to different Windows versions, and the most current version does not work under Wine. It installs cleanly, reports success, and then displays a permanently blank item grid — the renderer starts but never draws a single frame.

The build that does work is 109.0.1518.140, the last release for Windows 7 and 8. Microsoft still serves it, but only to a client that identifies itself as Windows 7.

So the trick is to tell Microsoft’s installer it is running on Windows 7, which is how you are given the working build. The same has to be done for the runtime itself once it is installed: WebView2 109 draws differently depending on which Windows it believes it is on, and on Windows 10 what it draws never reaches the window — you get Item Assistant’s normal interface with a solid black panel where the items should be, and nothing reports an error.

Both are per-program rules. Nothing else in the bottle is affected, and the bottle itself stays on Windows 10.

Note: the two installer rules have to be in place before WebView2 is installed. Afterwards is too late, and the fix then involves uninstalling it again. The third rule can be set at any time.


Prerequisites

Downloads, in the order you will need them:

  • WebView2 Evergreen Bootstrapper (~1.8 MB) — go.microsoft.com/fwlink/p/?LinkId=2124703
    It must be the bootstrapper, not the “Evergreen Standalone Installer.” The bootstrapper asks Microsoft which build suits the reported Windows version, which is the whole point. The standalone carries a fixed current payload and ignores it — I tested this, and it installs the broken version regardless.
    IAGD’s own missing-runtime message currently recommends the standalone installer. On macOS, do not follow it.
  • .NET Desktop Runtime 10.0.x, Windows x64 — dotnet.microsoft.com/download/dotnet/10.0
    Must be the Desktop runtime and the x64 build. The plain “.NET Runtime” is not enough.
  • GDItemAssistant.exe — github.com/marius00/iagd/releases

Before you start

Some steps use Terminal. Open one and set two shortcuts so the commands stay readable:

CX=/Applications/CrossOver.app/Contents/SharedSupport/CrossOver/bin
BOTTLE=IAGD

$CX is where CrossOver keeps its command-line tools — the same path on every Mac, copy it exactly. $BOTTLE is your bottle’s name; change IAGD if you call it something else.

Check they took:

echo "$CX" "$BOTTLE"

These last only for the life of that Terminal window.

This guide assumes CrossOver is in the standard location. If you have it on an external drive, adjust the paths to match.


Instructions

1. Create the bottle

A Windows 10 64-bit bottle. It stays Windows 10 throughout — nothing here changes it.

Where to put it is worth a thought:

  • Inside Grim Dawn’s own bottle — IAGD then detects the game automatically. Simplest, and what I run.
  • In a bottle of its own — cleaner separation, but IAGD cannot auto-detect the game and you will set the path by hand at the end. The IAGD hook may not work since GD is in another bottle.

Do not install IAGD yet.

2. Tell Microsoft’s programs they are on Windows 7

Three registry entries. The first two must exist before anything is installed:

"$CX/wine" --bottle "$BOTTLE" reg add 'HKCU\Software\Wine\AppDefaults\MicrosoftEdgeWebview2Setup.exe' /v Version /t REG_SZ /d win7 /f
"$CX/wine" --bottle "$BOTTLE" reg add 'HKCU\Software\Wine\AppDefaults\MicrosoftEdgeUpdate.exe' /v Version /t REG_SZ /d win7 /f
"$CX/wine" --bottle "$BOTTLE" reg add 'HKCU\Software\Wine\AppDefaults\msedgewebview2.exe' /v Version /t REG_SZ /d win7 /f

All three are needed, and they do two different jobs.

The first covers the downloaded stub; the second covers the updater it unpacks and runs, which is the process that actually asks Microsoft which version to fetch. Those two decide which build you are given.

The third is the runtime itself — the process that draws the item grid once everything is installed. It decides whether that build can draw. Without it, Item Assistant starts, finds your items, reports no error anywhere, and shows a solid black panel where the grid should be.

These are Wine AppDefaults rules, matched on a bare filename with no path, so the files need not exist yet. That is also the only thing that could work for the first two — the updater unpacks itself into a randomly named temporary folder each time — and it is why the third can be set here, before the runtime it names has been installed.

Verify:

"$CX/wine" --bottle "$BOTTLE" reg query 'HKCU\Software\Wine\AppDefaults\MicrosoftEdgeWebview2Setup.exe' /v Version
"$CX/wine" --bottle "$BOTTLE" reg query 'HKCU\Software\Wine\AppDefaults\MicrosoftEdgeUpdate.exe' /v Version
"$CX/wine" --bottle "$BOTTLE" reg query 'HKCU\Software\Wine\AppDefaults\msedgewebview2.exe' /v Version

Each should report Version REG_SZ win7.

Note: do not check by opening the bottle’s user.reg — it can look empty, because the registry is held in memory while the bottle runs and only written on shutdown.

Leave these rules in place permanently. The first two affect only Microsoft executables that run during a WebView2 install, and they mean any future re-installation also gets the working version. The third affects only the WebView2 runtime, and it is needed every time Item Assistant runs.

Prefer regedit? Click here

Save this as webview2-win7.reg:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Wine\AppDefaults\MicrosoftEdgeWebview2Setup.exe]
"Version"="win7"

[HKEY_CURRENT_USER\Software\Wine\AppDefaults\MicrosoftEdgeUpdate.exe]
"Version"="win7"

[HKEY_CURRENT_USER\Software\Wine\AppDefaults\msedgewebview2.exe]
"Version"="win7"

Import it:

"$CX/cxstart" --bottle "$BOTTLE" 'C:\windows\regedit.exe' /S ~/Downloads/webview2-win7.reg

Drop the /S for the import dialog. Or run regedit interactively — in CrossOver, the bottle’s Run Command… → regedit — navigate to HKEY_CURRENT_USER\Software\Wine\AppDefaults, create a key named exactly MicrosoftEdgeWebview2Setup.exe, and inside it a String Value called Version with the data win7. Repeat for MicrosoftEdgeUpdate.exe and for msedgewebview2.exe.

3. Install WebView2

In CrossOver: select the bottle → Run Command… → browse to the bootstrapper → arguments /silent /install → Run.

Or from Terminal, straight from Downloads — no need to copy it into the bottle:

"$CX/cxstart" --bottle "$BOTTLE" ~/Downloads/MicrosoftEdgeWebview2Setup.exe /silent /install

Give it a minute; it pulls down about 140 MB.

Verify before going any further:

"$CX/wine" --bottle "$BOTTLE" reg query 'HKLM\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}' /v pv

It must report:

    pv    REG_SZ    109.0.1518.140

Anything higher means step 2 did not take effect. Fix that before continuing — nothing after this will work otherwise.

4. Install the .NET 10 Desktop Runtime

"$CX/cxstart" --bottle "$BOTTLE" ~/Downloads/windowsdesktop-runtime-10.0.2-win-x64.exe /install /quiet /norestart

Adjust the filename to match what you downloaded. Verify:

"$CX/wine" --bottle "$BOTTLE" 'C:\Program Files\dotnet\dotnet.exe' --list-runtimes

Both Microsoft.NETCore.App and Microsoft.WindowsDesktop.App should appear at 10.0.x.

5. Install Item Assistant

"$CX/cxstart" --bottle "$BOTTLE" ~/Downloads/GDItemAssistant.exe

Runs the installer interactively; append /VERYSILENT /SUPPRESSMSGBOXES /NORESTART for a silent install. It lands in C:\Program Files\IAGD and adds a CrossOver menu entry.

6. First run

Launch IAGD from CrossOver. The item area should render — a dark page with a navigation bar reading Items / Collections / Help / Components / Discord / Patreon, and a “Getting started” card. It will say No items found, which is correct on a fresh install.

If that panel is solid black instead, the third rule in step 2 is missing — see Troubleshooting below.

Then point it at the game: the Grim Dawn tab → Load Database. If IAGD is in a different bottle from Grim Dawn, set the path by hand.


No environment variables are needed

No WEBVIEW2_* arguments, no --no-sandbox, no DOTNET_* settings. A bottle built this way on CrossOver 26.3 works with none of them.

Older guides list a couple of these. They were genuinely needed on earlier CrossOver releases; they are not any more. This was retested in October 2026 by varying each one on its own against a working install — browser arguments, MSync and the graphics backend included — and none of them affects whether the item grid renders.

What does matter is the third registry rule in step 2, which is not an environment variable. If you already have the old variables configured and everything works, leave well alone.


Troubleshooting

There is a diagnostic script that checks setup and reports if anything is wrong: github.com/GrimDawn-max/gdia-crossover-diagnostic. Run this to either check the setup you have done or you encounter the black panel issue.

A black item panel

Item Assistant opens normally, its filters and search bar draw correctly, the status bar counts your items — and the panel where the grid should be is solid black. Nothing appears in any log; Item Assistant records the renderer starting and navigating successfully, because from its side it did.

That is the msedgewebview2.exe rule in Step 2. Add it, restart Item Assistant, and the grid appears immediately — no reinstall, and nothing else to change.

This was the one step missing from earlier versions of this guide, so if you followed it before October 2026 and have been living with a black panel, that is why. It is also worth knowing what is not the cause: the graphics backend (D3DMetal or Auto), MSync, and the WEBVIEW2_* browser arguments were each tested on their own against a working install, and none of them produces this. Forcing software rendering with the browser arguments hides it rather than fixing it.

IAGD closes instantly with nothing in its log

This affects bottles that existed before a CrossOver upgrade. CrossOver 26.3 added ICU libraries to already-existing bottles, and .NET fails on them before any application code runs — which is why there is no log entry at all.

Check whether the file is there:

ls -l ~/Library/Application\ Support/CrossOver/Bottles/IAGD/drive_c/windows/system32/icu.dll

If it exists, add this to the bottle’s cxbottle.conf, in the [EnvironmentVariables] section, with the bottle shut down:

"DOTNET_SYSTEM_GLOBALIZATION_USENLS" = "1"

Do not use DOTNET_SYSTEM_GLOBALIZATION_INVARIANT instead — it gets past the ICU error and then fails differently, because IAGD asks for en-US explicitly at startup.

Bottles created new under 26.3 have no icu.dll at all and are unaffected.

Wrong WebView2 version installed

The updater will not replace a newer runtime with an older one, so the newer one has to go first. With the bottle shut down:

rm -rf ~/Library/Application\ Support/CrossOver/Bottles/IAGD/drive_c/Program\ Files\ \(x86\)/Microsoft/EdgeWebView

"$CX/wine" --bottle "$BOTTLE" reg delete 'HKLM\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}' /f

Then confirm the step 2 rules are in place and repeat step 3.

If the newer runtime had actually been run, also delete the browser profile — Chromium refuses to open one written by a newer version:

rm -rf ~/Library/Application\ Support/CrossOver/Bottles/IAGD/drive_c/users/crossover/AppData/Local/EvilSoft/IAGD/edge/EBWebView

Resizing the window can blank the item grid. This is a Wine bug rather than anything to do with the setup — the WebView2 process is killed by an internal Wine assertion and IAGD carries on without noticing, so nothing appears in its log. Restart IAGD to recover. Easiest avoided by leaving the window at a size you like.

Never update WebView2 in this bottle. There is no newer version that works under Wine. In particular, do not run CrossOver’s own “Microsoft Edge WebView2” installer entry, which fetches the current one. The runtime cannot update itself under Wine, so left alone it will stay put.


Happy to answer questions, and if anyone gets this working on an earlier CrossOver or on an Intel Mac I would be glad to hear what you had to change.

I so wanted this to work, I’ve been trying various things for months myself. Bit no luck with your method either for me.

I’m on 26.3, tried three different ways, in a clone of my standard GD bottle, in a new bottle with both GD and GDIA, and a new bottle with only GDIA and your instructions. In all three cases I see only the big black window, or a blank panel. No luck on seeing the contents of the tricky main display.

IA works, it receives items just fine, I just can’t see them.

Any further thoughts I might try?

I can try and troubleshoot with you. Setup of GD and IAGD in the same bottle is best. It can be temperamental to start but hopefully we can figure out how to get it running. It should look like this.
Ignore the 32-bit install. That doesn’t need to be there.

IAGD

First thing to do is run this diagnostic tool - IAGD diagnostic tool.

See what that tells you. After checking there are no details you don’t want others to see you can attach the file here and we can determine next steps.

I’ve run the attached script. Here’s the info on the bottle with both GD and IAGD installed. FYI, this bottle is running in the 26.3 version of CrossOver, not the preview version.

It did find an issue (highlighed), but I don’t know what to do to fix it.


Item Assistant / CrossOver diagnostic
generated 2026-10-20 18:29 CDT

── Machine
macOS 26.6.2 (25G83)
chip Apple M5 Pro
arch arm64

── CrossOver
/Applications/CrossOver.app version 26.3
/Applications/CrossOver Preview.app version 20261006

── Bottles
in ~/Library/Application Support/CrossOver/Bottles:
BG 3
GD-IA
Grim Dawn
Witcher 3
Z - Steam Clean (Clone for new Steam bottles)

── The bottle holding Item Assistant
GD-IA at ~/Library/Application Support/CrossOver/Bottles/GD-IA
template win10_64
windows 6.3

── WebView2 runtime (the usual cause of a black window)
[ ok ] WebView2 109.0.1518.140
registry reports pv = 109.0.1518.140

── Step 2 rules (which WebView2 build Microsoft offers)
[ ok ] MicrosoftEdgeWebview2Setup.exe → win7
[ ok ] MicrosoftEdgeUpdate.exe → win7

── Renderer settings (why a window can be black with the right runtime)
** [warn] WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS is not set**
** msedgewebview2.exe version override: none**

── .NET 10 Desktop Runtime
[ ok ] Microsoft.WindowsDesktop.App 10.0.2
[ ok ] Microsoft.NETCore.App 10.0.2

── Item Assistant
installed at ~/Library/Application Support/CrossOver/Bottles/GD-IA/drive_c/Program Files/IAGD
main program IAGrim.exe
files 48 items

── Logs
no Item Assistant log files found

── Summary
Worth checking:
- WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS is not set – a working reference install sets it to force software rendering; see the summary

Great. Let me check a few things based on this.
Is GD and IAGD in the same bottle - looks like different bottles.
Can you load a screenshot here to see what the issue looks like visually

Not at my computer at the moment but I can confirm they are in the same bottle.

Could you grab the latest version and run it again? It checks several things the first one didn’t — in particular how many of your own items Item Assistant actually has stored, and whether it’s installed in more than one bottle.

zsh ~/Downloads/gdia-diagnose.sh | tee ~/Desktop/gdia-report.txt | pbcopy

Release v1.4 · GrimDawn-max/gdia-crossover-diagnostic · GitHub

Please don’t change anything yet, even if the report suggests something at the end. Just post the new report here, plus the screenshot. Some of the suggested flags in the report may be irrelevant to your case, and changing several things at once would make it harder to work out which one mattered.

Quick work! Thank you so much. I have not changed anything so far.

The 1 item in the GDIA is the one I was using to test if the new install was working at all. Eventually I’ll sync my old stash from a couple year old Parallels install.

Screenshot at the bottom.

Item Assistant / CrossOver diagnostic
generated 2026-10-20 20:28 CDT

── Machine
macOS 26.6.2 (25G83)
chip Apple M5 Pro
arch arm64

── CrossOver
/Applications/CrossOver.app version 26.3
/Applications/CrossOver Preview.app version 20261006

── Bottles
in ~/Library/Application Support/CrossOver/Bottles:
BG 3
GD-IA
Grim Dawn
Witcher 3
Z - Steam Clean (Clone for new Steam bottles)

── The bottle holding Item Assistant
GD-IA at ~/Library/Application Support/CrossOver/Bottles/GD-IA
template win10_64
windows Windows 10 Pro build 19045
made by CrossOver 26.3.0.39832
[warn] more than one CrossOver is installed, and a bottle behaves differently under each

── WebView2 runtime (the usual cause of a black window)
[ ok ] WebView2 109.0.1518.140
registry reports pv = 109.0.1518.140

── Step 2 rules (which WebView2 build Microsoft offers)
[ ok ] MicrosoftEdgeWebview2Setup.exe → win7
[ ok ] MicrosoftEdgeUpdate.exe → win7

── Environment (why a window can be black with the right runtime)
[warn] WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS is not set
[warn] DOTNET_SYSTEM_GLOBALIZATION_USENLS is not set
[warn] WINEMSYNC is “1”
[warn] CX_GRAPHICS_BACKEND is “d3dmetal”
[warn] msedgewebview2.exe has no Version rule

── .NET 10 Desktop Runtime
[ ok ] Microsoft.WindowsDesktop.App 10.0.2
[ ok ] Microsoft.NETCore.App 10.0.2

── Item Assistant
installed at ~/Library/Application Support/CrossOver/Bottles/GD-IA/drive_c/Program Files/IAGD
main program IAGrim.exe
[FAIL] Item Assistant is missing WebView2Loader.dll

── Does it know any items
Grim Dawn is NOT in this bottle – Item Assistant cannot find it by itself
[ ok ] it recognises 29796 item types from Grim Dawn’s database
[ ok ] 1 of your own items are stored in it
the most recent was stored on 2026-10-18
(base game), softcore 1

── Which Grim Dawn it reads
folder c:\program files (x86)\steam\steamapps\common\grim dawn
which is ~/Library/Application Support/CrossOver/Bottles/GD-IA/drive_c/Program Files (x86)/Steam/steamapps/common/Grim Dawn
(inside this bottle)
[ ok ] databases there: database.arz GDX1.arz GDX2.arz GDX3.arz
mod none (the base game)
[ ok ] it has finished reading that folder
[ ok ] read Ashes of Malmouth (1488 records)
[ ok ] read Forgotten Gods (909 records)
[ ok ] read Fangs of Asterkarn (2346 records)

── Item Assistant’s own report
from ~/Library/Application Support/CrossOver/Bottles/GD-IA/drive_c/users/crossover/AppData/Local/EvilSoft/IAGD/log.txt, 2026-10-18 13:06

── How far it got last time
[ ok ] read the game’s item database
[ ok ] started the renderer
[ ok ] drew the item grid

── Summary
Problems:
- Item Assistant is missing WebView2Loader.dll – reinstall it – step 5
Worth checking:
- more than one CrossOver is installed, and a bottle behaves differently under each – the version above says which one made it – run Item Assistant from that one
- WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS is not set – a bottle that renders sets it to “–no-sandbox --disable-gpu --disable-gpu-compositing --disable-gpu-sandbox --disable-accelerated-2d-canvas --disable-accelerated-video-decode --use-gl=swiftshader --in-process-gpu”
- DOTNET_SYSTEM_GLOBALIZATION_USENLS is not set – a bottle that renders sets it to “1”
- WINEMSYNC is “1” – a bottle that renders sets it to “0”
- CX_GRAPHICS_BACKEND is “d3dmetal” – a bottle that renders sets it to “”
- msedgewebview2.exe has no Version rule – a bottle that renders sets it to win7 – the renderer takes a different drawing path depending on what Windows it thinks it is on

── Setting those

  1. Quit CrossOver – it rewrites this file when it exits.

  2. Open this file in TextEdit:

    ~/Library/Application Support/CrossOver/Bottles/GD-IA/cxbottle.conf

    Find the line that reads [EnvironmentVariables], near the bottom,
    and put these underneath it, replacing any of the same name that
    are already there:

    “WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS” = “–no-sandbox --disable-gpu --disable-gpu-compositing --disable-gpu-sandbox --disable-accelerated-2d-canvas --disable-accelerated-video-decode --use-gl=swiftshader --in-process-gpu”
    “DOTNET_SYSTEM_GLOBALIZATION_USENLS” = “1”
    “WINEMSYNC” = “0”
    “CX_GRAPHICS_BACKEND” = “”

    Save and close it.

  3. Start CrossOver, and set the same kind of rule step 2 of the
    setup guide sets – a Version of win7 – but on the renderer itself.
    In this bottle: Control Panel > Wine Configuration > Applications,
    add

    c:\Program Files (x86)\Microsoft\EdgeWebView\Application\109.0.1518.140\msedgewebview2.exe

    and set its Windows version to Windows 7.

  4. Run Item Assistant, then run this script again.

Can you open IAGrim and screenshot the screen you get. Meanwhile let me take a look at the new log data. Are you running GD via Steam ?

I’m running GD via Steam. It’s the latest patch version on Steam, 1.3.1.1 x64.

As you mention in your initial post, if I drag to resize the window, the black section goes away until I restart. Not an issue, just need to resize, exit, then restart once it gets working. But good to know that it’s “working as intended” or at least as well as it can in this environment.

Found it — and it’s one change.

Step 2 of the guide has you set a Windows 7 rule on two programs: MicrosoftEdgeWebview2Setup.exe and MicrosoftEdgeUpdate.exe. Your report shows both set correctly, so you did that part properly. The problem is that there’s a third program needing the same rule and the guide doesn’t mention it — the renderer itself, msedgewebview2.exe.

In the GD-IA bottle: Control Panel → Wine Configuration → Applications.

Look for msedgewebview2.exe in the list. It probably won’t be there — that tab only shows programs that have been added explicitly, and your report suggests only the two from step 2 are.

  • If it’s there, select it and set its Windows version to Windows 7.
  • If it isn’t, click Add application…, navigate to
    c:\Program Files (x86)\Microsoft\EdgeWebView\Application\109.0.1518.140,
    pick msedgewebview2.exe, then set its Windows version to Windows 7.

Then:

  1. Start Item Assistant and check your item appears.
  2. Re-run the diagnostic — grab the latest version first, it’s had several fixes since you last ran it:

zsh ~/Downloads/gdia-diagnose.sh | tee ~/Desktop/gdia-report.txt | pbcopy

  1. Post the output either way — working or not.

Nothing else needs changing — the graphics backend, MSync and the browser flags all turn out to be irrelevant. I reproduced your black panel exactly on my own machine by removing that one rule, and got the grid back by putting it in.

You’re also a few versions behind on Item Assistant, but please don’t update yet — if you change both at once we won’t know which fixed it, and I want to get this right in the setup guide. Once the grid is working, updating is a good idea.

1 Like

You, Sir, are a genius!

I’ve made the change and IA works perfectly. I can transfer to and from it from within the game no problem at all. Once I verified that, I immediately made a backup of the working bottle just in case updates break it. It’ll be nice to have a known good go work from if issues arise in the future.

Diag log at the bottom.

Diagnostic log of working version:

Item Assistant / CrossOver diagnostic
generated 2026-10-20 21:30 CDT

── Machine
macOS 26.6.2 (25G83)
chip Apple M5 Pro
arch arm64

── CrossOver
/Applications/CrossOver.app version 26.3
/Applications/CrossOver Preview.app version 20261006

── Bottles
in ~/Library/Application Support/CrossOver/Bottles:
BG 3
GD-IA
Grim Dawn
Witcher 3
Z - Steam Clean (Clone for new Steam bottles)

── The bottle holding Item Assistant
GD-IA at ~/Library/Application Support/CrossOver/Bottles/GD-IA
template win10_64
windows Windows 10 Pro build 19045
made by CrossOver 26.3.0.39832
[warn] more than one CrossOver is installed, and a bottle behaves differently under each

── WebView2 runtime (the usual cause of a black window)
[ ok ] WebView2 109.0.1518.140
registry reports pv = 109.0.1518.140

── Step 2 rules (which WebView2 build Microsoft offers)
[ ok ] MicrosoftEdgeWebview2Setup.exe → win7
[ ok ] MicrosoftEdgeUpdate.exe → win7

── Environment (why a window can be black with the right runtime)
[warn] WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS is not set
[warn] DOTNET_SYSTEM_GLOBALIZATION_USENLS is not set
[warn] WINEMSYNC is “1”
[warn] CX_GRAPHICS_BACKEND is “d3dmetal”
[ ok ] msedgewebview2.exe → win7

── .NET 10 Desktop Runtime
[ ok ] Microsoft.WindowsDesktop.App 10.0.2
[ ok ] Microsoft.NETCore.App 10.0.2

── Item Assistant
installed at ~/Library/Application Support/CrossOver/Bottles/GD-IA/drive_c/Program Files/IAGD
main program IAGrim.exe
[ ok ] the WebView2 pieces it draws the grid with are all present

── Does it know any items
Grim Dawn is in this bottle too, at /Program Files (x86)/Steam/steamapps/common/Grim Dawn/compat
[ ok ] it recognises 29796 item types from Grim Dawn’s database
[ ok ] 1 of your own items are stored in it
the most recent was stored on 2026-10-18
(base game), softcore 1

── Which Grim Dawn it reads
folder c:\program files (x86)\steam\steamapps\common\grim dawn
which is ~/Library/Application Support/CrossOver/Bottles/GD-IA/drive_c/Program Files (x86)/Steam/steamapps/common/Grim Dawn
(inside this bottle)
[ ok ] databases there: database.arz GDX1.arz GDX2.arz GDX3.arz
mod none (the base game)
[ ok ] it has finished reading that folder
[ ok ] read Ashes of Malmouth (1488 records)
[ ok ] read Forgotten Gods (909 records)
[ ok ] read Fangs of Asterkarn (2346 records)

── Item Assistant’s own report
from ~/Library/Application Support/CrossOver/Bottles/GD-IA/drive_c/users/crossover/AppData/Local/EvilSoft/IAGD/log.txt, 2026-10-20 21:28

        this version of Item Assistant does not write one -- the milestones below come from the log itself

── How far it got last time
[ ok ] read the game’s item database
[ ok ] started the renderer
[ ok ] drew the item grid

── Summary
Worth checking:
- more than one CrossOver is installed, and a bottle behaves differently under each – the version above says which one made it – run Item Assistant from that one
- WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS is not set – a bottle that renders sets it to “–no-sandbox --disable-gpu --disable-gpu-compositing --disable-gpu-sandbox --disable-accelerated-2d-canvas --disable-accelerated-video-decode --use-gl=swiftshader --in-process-gpu”
- DOTNET_SYSTEM_GLOBALIZATION_USENLS is not set – a bottle that renders sets it to “1”
- WINEMSYNC is “1” – a bottle that renders sets it to “0”
- CX_GRAPHICS_BACKEND is “d3dmetal” – a bottle that renders sets it to “”

── Setting those

  1. Quit CrossOver – it rewrites this file when it exits.

  2. Open this file in TextEdit:

    ~/Library/Application Support/CrossOver/Bottles/GD-IA/cxbottle.conf

    Find the line that reads [EnvironmentVariables], near the bottom,
    and put these underneath it, replacing any of the same name that
    are already there:

    “WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS” = “–no-sandbox --disable-gpu --disable-gpu-compositing --disable-gpu-sandbox --disable-accelerated-2d-canvas --disable-accelerated-video-decode --use-gl=swiftshader --in-process-gpu”
    “DOTNET_SYSTEM_GLOBALIZATION_USENLS” = “1”
    “WINEMSYNC” = “0”
    “CX_GRAPHICS_BACKEND” = “”

    Save and close it.

  3. Run Item Assistant, then run this script again.

Further update, in the backup I just made, IAGrim updated itself and continues to work.

Not sure about that. The change I had you make should have been in the guide. I’ll update the guide so others don’t run in to the same issue. Glad to see it is all running properly now.

You may also want to look at another app called gd-edit. It allows you to create a complete build from a grimtools link. It also allows you to create items that have maximum stats. It’s command line, but easy to use. There is also a command in there to generate a webview of a character with all it’s stats Character viewer Also a number of other things the tool can do related to the character file.

This app has a native MacOS version - so no need to run it from within Crossover.