supermemo/SuperMemoAssistant

SMA in Wine

nanjigen opened this issue · 4 comments

Description

Attempting to install SuperMemoAssistant in a Wine prefix using Lutris.

Expected behavior

Be able to run SuperMemoAssistant.exe in a Wine prefix.
The installer completes when the prefix is provided with the correct .NET version and a SMA dialogue appears saying the install was successful. However immediately after the winedbg backtrace appears and an SMA dialogue box appears saying that the application could not be started.
On inspecting the install files for SMA I see that the .exe's are in the correct folders. Perhaps the backtrace could reveal if we are missing some .dll (sometimes when it fails it says it could not find run32dll.exe, if that helps).

Logs, Screenshots, ...

If applicable, add relevant files:

  • Logs (My Documents\SuperMemoAssistant\Logs)

No logs produced (Dialogue box does appear however, but doesn't create any files in above folder).

Environment (fill where applicable)

  • Version:
    SMA 2.0.3.435
    No plugins used

  • Last version that did not exhibit the issue:
    N/A

  • SM Version:
    SM 18.04

  • OS: [e.g. Windows 10 64bit]

Manjaro Linux/Lutris with 32bit Wine prefix using a wine-4.21 Wine runner

  • OS Language: [e.g. English (UK), French (FR)]
    English (AU)

  • Browser: [e.g. Chrome 68, Safari 45]
    Firefox 71

Additional context

I first attempted to use the Wine prefix generated by @alessivs supermemo-wine .verb Here and later their Lutris version Here.

However these use wine-mono and SMA requires .NET 4.72 and so I created an additional script to test just the installer.

Here is the .yml I used:

name: SuperMemoAssistant
game_slug: supermemo-assistant
version: Installer
slug: supermemo-assistant-installer
runner: wine

script:
  game:
    exe: $GAMEDIR/prefix/drive_c/users/nanjigen/Local Settings/Application Data/SuperMemoAssistant/SuperMemoAssistant.exe
    prefix: $GAMEDIR/prefix
    arch: win32
    working_dir: $GAMEDIR/prefix/drive_c/users/nanjigen/Local Settings/Application Data/SuperMemoAssistant
  files:
  - installer: "N/A:Select the game's setup file"
  installer:
  - task:
      app: dotnet472 nuget win7
      name: winetricks
      prefix: $GAMEDIR/prefix
      arch: win32
  - task:
      executable: installer
      name: wineexec
      prefix: $GAMEDIR/prefix
      arch: win32
  wine:
    Desktop: true
    WineDesktop: 1024x768
    overrides:
      ddraw.dll: n
  system:
    terminal: true
    env:
      WINEDLLOVERRIDES: d3d11=
      SOMEENV: true

This can be run with lutris -i sma-test.yml
Please also change instances of nanjigen with your own username, I'm not sure what the equivalent of $USER is in Windows (%USER% ??)

This is the backtrace produced by Wine:

Unhandled exception: 0xe0434352 in 32-bit code (0x7ea0a1ec).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:7ea0a1ec ESP:0032ec34 EBP:0032eca8 EFLAGS:00000212(   - --  I   -A- - )
 EAX:0032ec4c EBX:00000000 ECX:0032ec30 EDX:0032ec60
 ESI:0032ed18 EDI:00000001
Stack dump:
0x0032ec34:  0032ed18 00000014 00000000 0853a300
0x0032ec44:  cccc41f4 0032ed24 e0434352 00000001
0x0032ec54:  00000000 7ea0a1ec 00000005 88980406
0x0032ec64:  00000000 00000000 00000000 00880000
0x0032ec74:  00000005 00000000 00000000 00164490
0x0032ec84:  0032ed6c 00000001 0091c064 00110000
Backtrace:
=>0 0x7ea0a1ec (0x0032eca8)
  1 0x009d5383 EntryPoint+0x13c782() in clr (0x0032ed4c)
  2 0x009d5588 EntryPoint+0x13c987() in clr (0x0032ee14)
  3 0x0d45683f in presentationcore.ni (+0x9c683e) (0x0032ee44)
  4 0x0cc8b100 in presentationcore.ni (+0x1fb0ff) (0x0032efe0)
  5 0x0cc8b908 in presentationcore.ni (+0x1fb907) (0x0032f09c)
  6 0x0cc8a0b9 in presentationcore.ni (+0x1fa0b8) (0x0032f0b4)
  7 0x5859c27b in windowsbase.ni (+0xbc27a) (0x0032f0f0)
  8 0x5859c1cb in windowsbase.ni (+0xbc1ca) (0x0032f110)
  9 0x5859c052 in windowsbase.ni (+0xbc051) (0x0032f128)
  10 0x5859bf94 in windowsbase.ni (+0xbbf93) (0x0032f164)
  11 0x5859a571 in windowsbase.ni (+0xba570) (0x0032f1bc)
  12 0x5859ba9e in windowsbase.ni (+0xbba9d) (0x0032f204)
  13 0x0038d5aa (0x0032f238)
  14 0xf77b5b3c in user32 (+0xa5b3b) (0x0032f268)
  15 0xf77b60cd in user32 (+0xa60cc) (0x0032f2a8)
  16 0xf77b84c5 in user32 (+0xa84c4) (0x0032f2f8)
  17 0xf777d6af in user32 (+0x6d6ae) (0x0032f398)
  18 0x585c947c in windowsbase.ni (+0xe947b) (0x0032f3e0)
  19 0x5859856d in windowsbase.ni (+0xb856c) (0x0032f42c)
  20 0x5859815e in windowsbase.ni (+0xb815d) (0x0032f438)
  21 0x568d4eca in presentationframework.ni (+0x2c4ec9) (0x0032f448)
  22 0x568d4d60 in presentationframework.ni (+0x2c4d5f) (0x0032f468)
  23 0x568d4b07 in presentationframework.ni (+0x2c4b06) (0x0032f478)
  24 0x568d46e4 in presentationframework.ni (+0x2c46e3) (0x0032f484)
  25 0x0f4ecc34 (0x0032f498)
  26 0x0088eaf6 EntryPoint+0xffffffff() in clr (0x0032f4a4)
  27 0x00891d50 EntryPoint+0xffffffff() in clr (0x0032f4f8)
  28 0x00897764 EntryPoint+0xffffffff() in clr (0x0032f560)
  29 0x009093f0 EntryPoint+0x707ef() in clr (0x0032f68c)
  30 0x00909ad1 EntryPoint+0x70ed0() in clr (0x0032f900)
  31 0x009099b7 EntryPoint+0x70db6() in clr (0x0032fdf8)
  32 0x00909c9d EntryPoint+0x7109c() in clr (0x0032fe50)
  33 0x00909be3 EntryPoint+0x70fe2() in clr (0x0032fe90)
  34 0x008d9d5c EntryPoint+0x4115b() in clr (0x0032fecc)
  35 0x1000d93b EntryPoint+0xffffffff() in mscoreei (0x0032ff08)
  36 0x79007f16 EntryPoint+0x50c1() in mscoree (0x0032ff18)
  37 0x79004de3 EntryPoint+0x1f8e() in mscoree (0x0032ff48)
  38 0x7b45f5d0 in kernel32 (+0x3f5cf) (0x0032ffd8)
  39 0x7b45f0ea in kernel32 (+0x3f0e9) (0x0032ffec)
0x7ea0a1ec: addl	$12,%esp
Modules:
Module	Address			Debug info	Name (88 modules)
PE	  400000-  546000	Deferred        supermemoassistant
PE	  880000-  f6e000	Export          clr
PE	  f70000- 1065000	Deferred        msvcr120_clr0400
PE	 3550000- 35d0000	Deferred        clrjit
PE	 36b0000- 36c3000	Deferred        nlssorting
PE	 c080000- ca90000	Deferred        system.ni
PE	 ca90000- d63e000	Export          presentationcore.ni
PE	 d640000- d789000	Deferred        wpfgfx_v0400
PE	 d790000- d808000	Deferred        msvcp120_clr0400
PE	 d810000- d8da000	Deferred        presentationnative_v0400
PE	 dc00000- dc45000	Deferred        system.numerics.ni
PE	 de70000- df58000	Deferred        diasymreader
PE	 e1a0000- e4f0000	Deferred        system.data
PE	 e4f0000- ec2e000	Deferred        system.xml.ni
PE	 ef80000- efa1000	Deferred        wminet_utils
PE	 fa50000- fa59000	Deferred        normaliz
PE	 fdb0000- fddc000	Deferred        fasm.net
PE	10000000-1007d000	Export          mscoreei
PE	10350000-10b34000	Deferred        system.data.ni
PE	10b40000-1185d000	Deferred        system.windows.forms.ni
PE	12010000-12aa1000	Deferred        ieframe
PE	12be0000-12c09000	Deferred        msls31
PE	13390000-133af000	Deferred        clrcompression
PE	512a0000-5155b000	Deferred        system.runtime.serialization.ni
PE	56610000-57917000	Export          presentationframework.ni
PE	580d0000-582c4000	Deferred        system.xaml.ni
PE	584e0000-588d3000	Export          windowsbase.ni
PE	5dca0000-5de88000	Deferred        iertutil
PE	60370000-6046c000	Deferred        system.configuration.ni
PE	61a00000-621e0000	Deferred        system.core.ni
PE	62440000-62701000	Deferred        d3d9
PE	63000000-630e6000	Deferred        wininet
PE	63580000-63b2c000	Deferred        mshtml
PE	63c00000-63d23000	Deferred        system.management.ni
PE	64c20000-64ce9000	Deferred        system.runtime.remoting.ni
PE	65d60000-66ab6000	Deferred        system.web.ni
PE	6f400000-6f606000	Deferred        dxgi
PE	77f60000-77fd6000	Deferred        shlwapi
PE	79000000-7904a000	Export          mscoree
PE	79720000-7aa9e000	Deferred        mscorlib.ni
PE	7aea0000-7b034000	Deferred        system.drawing.ni
PE	7b420000-7b5f1000	Export          kernel32
PE	7bc30000-7bc47000	Deferred        ntdll
PE	7e9d0000-7e9d3000	Deferred        wow64cpu
PE	7e9f0000-7ea08000	Deferred        kernelbase
PE	e4ca0000-e4ca5000	Deferred        d3dcompiler_47
PE	e4d20000-e4da0000	Deferred        winmm
PE	e4f00000-e4f05000	Deferred        schannel
PE	e5010000-e5014000	Deferred        kerberos
PE	e5030000-e5038000	Deferred        netapi32
PE	e50b0000-e50b9000	Deferred        jsproxy
PE	e9360000-e9366000	Deferred        atl100
PE	e93c0000-e93cb000	Deferred        actxprxy
PE	e94d0000-e94d6000	Deferred        shcore
PE	e9510000-e95e6000	Deferred        msvcr110
PE	ec210000-ec214000	Deferred        sxs
PE	ec240000-ec248000	Deferred        propsys
PE	f4f50000-f4f56000	Deferred        dwmapi
PE	f52a0000-f52a8000	Deferred        winevulkan
PE	f52e0000-f52e7000	Deferred        iphlpapi
PE	f5420000-f5428000	Deferred        vulkan-1
PE	f5430000-f543e000	Deferred        winspool
PE	f5490000-f5495000	Deferred        wbemprox
PE	f54d0000-f54d7000	Deferred        ws2_32
PE	f5610000-f5615000	Deferred        wmiutils
PE	f5630000-f5634000	Deferred        api-ms-win-core-winrt-string-l1-1-0
PE	f5650000-f5656000	Deferred        uxtheme
PE	f5690000-f5694000	Deferred        usp10
PE	f56f0000-f5746000	Deferred        comctl32
PE	f5840000-f584a000	Deferred        aclui
PE	f62a0000-f62a4000	Deferred        dwrite
PE	f6820000-f6868000	Deferred        crypt32
PE	f6900000-f6905000	Deferred        bcrypt
PE	f6930000-f6935000	Deferred        rsaenh
PE	f6990000-f699e000	Deferred        oleaut32
PE	f6ab0000-f6ab4000	Deferred        api-ms-win-core-xstate-l2-1-0
PE	f6ac0000-f6ac8000	Deferred        combase
PE	f71b0000-f71c9000	Deferred        setupapi
PE	f73e0000-f73e5000	Deferred        winex11
PE	f7490000-f749d000	Deferred        rpcrt4
PE	f7680000-f7684000	Deferred        api-ms-win-core-quirks-l1-1-0
PE	f76a0000-f76a4000	Deferred        api-ms-win-appmodel-runtime-l1-1-2
PE	f76b0000-f76b6000	Deferred        imm32
PE	f76d0000-f76d5000	Deferred        version
PE	f7710000-f7804000	Export          user32
PE	f7940000-f7955000	Deferred        msvcrt
PE	f7a20000-f7a2e000	Deferred        gdi32
PE	f7b70000-f7b7d000	Deferred        advapi32
Threads:
process  tid      prio (all id:s are in hex)
0000000e services.exe
	[C:\windows\system32\services.exe]
	00000025    0
	00000020    0
	0000001b    0
	00000014    0
	00000013    0
	00000010    0
	0000000f    0
00000011 winedevice.exe
	[C:\windows\system32\winedevice.exe]
	00000018    0
	00000017    0
	00000016    0
	00000012    0
00000019 plugplay.exe
	[C:\windows\system32\plugplay.exe]
	0000001d    0
	0000001c    0
	0000001a    0
0000001e winedevice.exe
	[C:\windows\system32\winedevice.exe]
	00000024    0
	00000023    0
	00000022    0
	00000021    0
	0000001f    0
00000026 explorer.exe
	[C:\windows\system32\explorer.exe /desktop]
	0000002b    0
	0000002a    0
	00000029    0
	00000028    0
	00000027    0
0000002c (D) C:\users\nanjigen\Local Settings\Application Data\SuperMemoAssistant\app-2.0.3.435\SuperMemoAssistant.exe
	["C:\users\nanjigen\Local Settings\Application Data\SuperMemoAssistant\app-2.0.3.435\SuperMemoAssistant.exe" ]
	00000057    0
	0000004d    0
	0000004c    0
	0000004b    0
	0000004a    0
	00000049    0
	00000046    0
	00000045    0
	00000044    0
	00000043   -2
	00000042   -2
	00000041    0
	00000040    0
	0000003f    0
	0000003e    0
	0000003d    0
	0000003c    0
	0000003b    0
	0000003a    0
	00000039    0
	00000035    0
	00000033    0
	00000032    0
	00000030    0
	0000002f    2
	0000002e    0
	0000002d    0 <==
00000051 explorer.exe
	[C:\windows\system32\explorer.exe /desktop]
	00000055    0
	00000054    0
	00000053    0
	00000052    0
System information:
    Wine build: wine-4.21.r0.g9be789b2 ( TkG Staging Esync Fsync )
    Platform: i386
    Version: Windows 7
    Host system: Linux
    Host version: 5.4.43-1-MANJARO

Maybe someone like @alessivs who is more versed in Wine could assist with some testing should they have the time.

Thanks for your input @alessivs

  • "That is quite an old Wine runner. "
    Yes, however it is the included one and so I made some assumptions. Of course I tested with many runners, to no avail.
  • "please, don't–released distributions ought to just work"
    My apologies, its searchable in the Lutris database - I wasn't aware it was under wraps.
  • "I suggest the dismembering of features you, in fact, need with SM under Wine"
  1. Ability to use browser extraction, preferably with FF or chrome
    Under Wine we do not even have IE import functionality at present. Via SMA's importer we potentially have an avenue to move this forward
  2. LaTeX functionality
    I can hear the resounding applause as SM users around the world finally have LaTeX functionality, something Anki has had nearly since its inception. A no brainer.
  3. Ability to extend SM itself

Let's take a look at some of SMA's claims:

What can it do ?

Almost anything that SuperMemo itself can do:

Create new elements (topics, items, ...),
Change displayed content (html, images, ...)
Navigate to new elements,
Browse the Knowledge Tree,
Review, reschedule, dismiss, or delete elements,
etc.

I'm not familiar with C#, and so I have difficulty reading the source and verifying these claims or how productive the functionality is in practice. However should they be true, exposing the knowledge tree, elements, manipulating reviews and schedules and the ability to alter displayed content seem enormous to me. What about a helm-sm-elements, or an automated org-id insertion into items? What about the potential, however small, to call pdftools upon opening a topic?

I have seen no such work elsewhere to create a full fledged API for SM. The remote chance of it working in Linux under Wine seems an incredible opportunity to me to assist users in integrating SM into workflows - even if we have to learn C# to get things working in our niche.

But perhaps my naivety is showing.

Could you post the .NET stacktrace ? It should have been prepended to the rest of the text you have already posted. As far as I can tell, the full crash report should be structured like the excerpt below.

From my limited experience with running .NET on Linux, and considering the technical implementation of SMA, I believe it will take more than tweaking your wine configuration to successfully run SMA, if that's possible at all.

Compiling SMA with Mono would probably be a good start.

env WINEPREFIX="$HOME/.wine_captvty_V3" wine $HOME/.captvty_V3/Captvty.exe
0009:err:eventlog:ReportEventW L"Application: Captvty.exe\nFramework Version: v4.0.30319\nDescription: The process was terminated due to an unhandled exception.\nException Info: System.TypeInitializationException\nStack:\n   at _zz._lJ(Byte[])\n   at _LP._a9()\n"

Unhandled Exception: System.TypeInitializationException: The type initializer for '_zz' threw an exception. ---> System.TypeInitializationException: The type initializer for 'Gdip' threw an exception. ---> System.BadImageFormatException: Format incorrect. (Exception from HRESULT: 0x8007000B)
   at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
   at System.Drawing.SafeNativeMethods.Gdip.Initialize()
   at System.Drawing.SafeNativeMethods.Gdip..cctor()
   --- End of inner exception stack trace ---
   at System.Drawing.SafeNativeMethods.Gdip.GdipNewPrivateFontCollection(IntPtr& fontCollection)
   at System.Drawing.Text.PrivateFontCollection..ctor()
   at _zz..cctor()
   --- End of inner exception stack trace ---
   at _zz._lJ(Byte[] )
   at _LP._a9()
wine: Unhandled exception 0xe0434352 in thread 9 at address 0x7b43e1f3 (thread 0009), starting debugger...
Unhandled exception: 0xe0434352 in 32-bit code (0x7b43e1f3).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:006b GS:0063
 EIP:7b43e1f3 ESP:0032ec64 EBP:0032ece8 EFLAGS:00200212(   - --  I   -A- - )
 EAX:7b42a5c1 EBX:00000010 ECX:0032ec90 EDX:0032ed5c
 ESI:00000000 EDI:e0434352
Stack dump:
0x0032ec64:  1e74af95 0186e0b4 0186e0b4 0013a668
0x0032ec74:  00000001 0032ed00 e0434352 00000001
0x0032ec84:  00000000 7b43e1f3 00000005 80131534
0x0032ec94:  00000000 00000000 00000000 00d60000
0x0032eca4:  1e74af05 00000000 0186e0b4 00000005
0x0032ecb4:  00000000 00000000 0013a668 0032ede8
Backtrace:
=>0 0x7b43e1f3 in kernel32 (+0x1e1f3) (0x0032ece8)
  1 0x00e848c7 EntryPoint+0xa2096() in clr (0x0032ed90)
  2 0x00f8015c AttachProfiler+0x2e309() in clr (0x0032eda8)
  3 0x00f8038d AttachProfiler+0x2e53a() in clr (0x0032edd0)
  4 0x00f803bd AttachProfiler+0x2e56a() in clr (0x0032ee04)
  5 0x00f077ee EntryPoint+0x124fbd() in clr (0x0032f2ec)
  6 0x00eb0f4d EntryPoint+0xce71c() in clr (0x0032f35c)
  7 0x00d7bcd5 EntryPoint+0xffffffff() in clr (0x0032f3c4)
  8 0x00d62ae9 EntryPoint+0xffffffff() in clr (0x0032f3f4)
  9 0x03f9a793 (0x0032f418)
  10 0x00d62652 EntryPoint+0xffffffff() in clr (0x0032f424)
  11 0x00d7264f EntryPoint+0xffffffff() in clr (0x0032f478)
  12 0x00d72e95 EntryPoint+0xffffffff() in clr (0x0032f4f0)
  13 0x00e274ec EntryPoint+0x44cbb() in clr (0x0032f61c)
  14 0x00e27610 EntryPoint+0x44ddf() in clr (0x0032f890)
  15 0x00eb1dc4 EntryPoint+0xcf593() in clr (0x0032fd94)
  16 0x00eb1e67 EntryPoint+0xcf636() in clr (0x0032fdf0)
  17 0x00eb1f7a EntryPoint+0xcf749() in clr (0x0032fe30)
  18 0x00eb416a EntryPoint+0xd1939() in clr (0x0032fe6c)
  19 0x1000f5a3 CLRCreateInstance+0xaa3e() in mscoreei (0x0032fea8)
  20 0x79007f16 EntryPoint+0x50c1() in mscoree (0x0032feb8)
  21 0x79004de3 EntryPoint+0x1f8e() in mscoree (0x0032fed8)
  22 0x7b465fdc in kernel32 (+0x45fdb) (0x0032ffd8)
  23 0x7b463d1e in kernel32 (+0x43d1d) (0x0032ffec)
0x7b43e1f3: addl	$12,%esp
Modules:
Module	Address			Debug info	Name (29 modules)
PE	  400000-  91a000	Deferred        captvty
PE	  d60000- 13f2000	Export          clr
PE	 1400000- 14d3000	Deferred        msvcr110_clr0400
PE	 3f00000- 3f6e000	Deferred        clrjit
PE	 6dd0000- 6de2000	Deferred        nlssorting
PE	 7760000- 7a6b000	Deferred        system.data
PE	10000000-1007a000	Export          mscoreei
PE	5e0d0000-5e1a4000	Deferred        diasymreader
PE	77f60000-77fd6000	Deferred        shlwapi
PE	79000000-7904a000	Export          mscoree
PE	7b420000-7b5c6000	Export          kernel32
PE	7bc10000-7bc14000	Deferred        ntdll
PE	f6770000-f6774000	Deferred        ws2_32
PE	f6d80000-f6dc1000	Deferred        crypt32
PE	f6e50000-f6e54000	Deferred        bcrypt
PE	f6e70000-f6e74000	Deferred        rsaenh
PE	f6eb0000-f6eb4000	Deferred        uxtheme
PE	f6ef0000-f6ef3000	Deferred        api-ms-win-core-winrt-roparameterizediid-l1-1-0
PE	f6f00000-f6f03000	Deferred        combase
PE	f6f30000-f6f33000	Deferred        api-ms-win-core-winrt-l1-1-0
PE	f7180000-f7184000	Deferred        winex11
PE	f7210000-f7214000	Deferred        rpcrt4
PE	f72b0000-f72d8000	Deferred        ole32
PE	f7400000-f7404000	Deferred        imm32
PE	f7710000-f7714000	Deferred        version
PE	f7730000-f7817000	Deferred        user32
PE	f7940000-f7944000	Deferred        msvcrt
PE	f79f0000-f79f7000	Deferred        gdi32
PE	f7b30000-f7b34000	Deferred        advapi32
Threads:
process  tid      prio (all id:s are in hex)
00000008 (D) Z:\home\guy\.captvty_V3\Captvty.exe
	00000032    0
	00000031    2
	00000030    0
	00000009    0 <==
0000000e services.exe
	0000002e    0
	00000029    0
	00000024    0
	0000001d    0
	00000017    0
	00000016    0
	00000015    0
	00000010    0
	0000000f    0
00000011 mscorsvw.exe
	0000001a    0
	00000019    0
	00000018    0
	00000012    0
00000013 explorer.exe
	0000002d    0
	0000002a    0
	00000023    0
	00000014    0
0000001b winedevice.exe
	00000020    0
	0000001f    0
	0000001e    0
	0000001c    0
00000021 plugplay.exe
	00000026    0
	00000025    0
	00000022    0
00000027 winedevice.exe
	0000002f    0
	0000002c    0
	0000002b    0
	00000028    0
System information:
    Wine build: wine-4.0-rc3 (Debian 4.0~rc3-1)
    Platform: i386
    Version: Windows 7
    Host system: Linux
    Host version: 4.19.0-1-amd64

No longer having trouble with the installer (it no longer throws an error) but now am having trouble actually running the SuperMemoAssistant.exe.
It seems like Wine 5.9-staging, wine-mono 5.1 installed via the msi (don't use the winetricks dotnet4.x.x installs) and a WINEDLLOVERRIDES on mscoree seem to be the trick for the installer to complete.

Attempting to start SuperMemoAssisstant.exe fails silently, producing only a Wine Virtual Desktop where I can see the SMA icon and a windows start button (courtesy of the Virtual Desktop).
I do have some output from winedbg if its running and I get the following

Running /usr/bin/wine /home/volk/Games/supermemo-assistant/prefix/drive_c/users/volk/Local Settings/Application Data/SuperMemoAssistant/SuperMemoAssistant.exe
Initial process has started with pid 28308
Game is considered started.
028c:fixme:mscoree:parse_supported_runtime sku=L".NETFramework,Version=v4.7.2" not implemented
028c:fixme:mscoree:parse_supported_runtime sku=L".NETFramework,Version=v4.7.2" not implemented
028c:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
028c:fixme:wmiutils:path_GetInfo some flags are not implemented
028c:fixme:wmiutils:path_GetInfo some flags are not implemented
02ac:fixme:wbemprox:wbem_locator_ConnectServer authentication not supported
02ac:fixme:wbemprox:wbem_locator_ConnectServer specific locale not supported
02ac:fixme:wbemprox:wbem_locator_ConnectServer unsupported flags 028c:fixme:wbemprox:wbem_services_CreateInstanceEnum unsupported flags 0x00000011
028c:fixme:wmiutils:path_GetInfo some flags are not implemented
028c:fixme:wmiutils:path_GetInfo some flags are not implemented
02b0:fixme:wbemprox:wbem_locator_ConnectServer authentication not supported
02b0:fixme:wbemprox:wbem_locator_ConnectServer specific locale not supported
02b0:fixme:wbemprox:wbem_locator_ConnectServer unsupported flags
028c:fixme:wbemprox:wbem_services_CreateInstanceEnum unsupported flags 0x00000011
028c:fixme:wmiutils:path_GetInfo some flags are not implemented
028c:fixme:wmiutils:path_GetInfo some flags are not implemented
02b4:fixme:wbemprox:wbem_locator_ConnectServer authentication not supported
02b4:fixme:wbemprox:wbem_locator_ConnectServer specific locale not supported
02b4:fixme:wbemprox:wbem_locator_ConnectServer unsupported flags
028c:fixme:wbemprox:wbem_services_CreateInstanceEnum unsupported flags 0x00000011
028c:fixme:nls:GetFileMUIPath stub: 0x10, L"C:\\windows\\system32\\tzres.dll", (null), 0031EE18, 00CDDB80, 0031EE1C, 0031EE10
028c:fixme:nls:GetFileMUIPath stub: 0x10, L"C:\\windows\\system32\\tzres.dll", (null), 0031EE18, 00CDDB80, 0031EE1C, 0031EE10
028c:fixme:ntdll:EtwEventRegister ({e13b77a8-14b6-11de-8069-001b212b5009}, 0xcdd1538, (nil), 0x31f568) stub.
028c:fixme:ntdll:EtwEventRegister ({e13b77a8-14b6-11de-8069-001b212b5009}, 0xeea7060, 0xf3af018, 0xf3b4c08) stub.
0284:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFA, 0031FEAC
028c:fixme:msg:ChangeWindowMessageFilter c077 00000001
028c:fixme:dwmapi:DwmAttachMilContent (00070128) stub
02d0:fixme:driver:GdiEntry13 stub
info:  Game: SuperMemoAssistant.exe
info:  DXVK: v1.7-1-g84bb768a+
Initial process has exited.
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
INTEL-MESA: warning: Ivy Bridge Vulkan support is incomplete
warn:  D3D9: VK_FORMAT_D16_UNORM_S8_UINT -> VK_FORMAT_D24_UNORM_S8_UINT
info:  Intel(R) HD Graphics 4000 (IVB GT2):
info:    Driver: 20.0.7
info:    Vulkan: 1.2.131
info:    Memory Heap[0]:
info:      Size: 1536 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0xf
info:  Process set as DPI aware
info:  Adapter LUID 0: 0:411
02d0:fixme:dwrite:dwritefactory_CreateMonitorRenderingParams (0x1): monitor setting ignored
028c:fixme:ntdll:EtwRegisterTraceGuidsA (0x6307379f, 0x630b1cf8, {0cfe0455-93ba-440d-a3fe-553973d0b723}, 1, 0x31c148, (null), (null), 0x630b1d00): stub
028c:fixme:ntdll:EtwRegisterTraceGuidsA (0x6307379f, 0x630b1d18, {797fabac-7b58-4796-b924-d51178a59ce4}, 1, 0x31c148, (null), (null), 0x630b1d20): stub
028c:fixme:ntdll:EtwEventRegister ({43d1a55c-76d6-4f7e-995c-64c711e5cafe}, 0x6309ce28, (nil), 0x630b1500) stub.
[ERROR] FATAL UNHANDLED EXCEPTION: System.Windows.Markup.XamlParseException: 'Set property 'Hardcodet.Wpf.TaskbarNotification.TaskbarIcon.IconSource' threw an exception.' Line number '6' and line position '19'. ---> System.TypeInitializationException: The type initializer for 'System.Drawing.GDIPlus' threw an exception. ---> System.DllNotFoundException: gdiplus assembly:<unknown assembly> type:<unknown type> member:(null)
  at (wrapper managed-to-native) System.Drawing.GDIPlus.GdiplusStartup(ulong&,System.Drawing.GdiplusStartupInput&,System.Drawing.GdiplusStartupOutput&)
  at System.Drawing.GDIPlus..cctor () [0x000b0] in <4e5326be950f45168a17e3e7e065db24>:0
   --- End of inner exception stack trace ---
  at System.Drawing.Icon.get_Handle () [0x0001a] in <4e5326be950f45168a17e3e7e065db24>:0
  at (wrapper remoting-invoke-with-check) System.Drawing.Icon.get_Handle()
  at Hardcodet.Wpf.TaskbarNotification.TaskbarIcon.set_Icon (System.Drawing.Icon value) [0x00007] in <de0fad3b41114d18b82c45cbfef04134>:0
  at Hardcodet.Wpf.TaskbarNotification.TaskbarIcon.OnIconSourcePropertyChanged (System.Windows.DependencyPropertyChangedEventArgs e) [0x0001b] in <de0fad3b41114d18b82c45cbfef04134>:0
  at Hardcodet.Wpf.TaskbarNotification.TaskbarIcon.IconSourcePropertyChanged (System.Windows.DependencyObject d, System.Windows.DependencyPropertyChangedEventArgs e) [0x00007] in <de0fad3b41114d18b82c45cbfef04134>:0
  at (wrapper delegate-invoke) <Module>.invoke_void_DependencyObject_DependencyPropertyChangedEventArgs(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)
  at System.Windows.DependencyObject.OnPropertyChanged (System.Windows.DependencyPropertyChangedEventArgs e) [0x00079] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Windows.FrameworkElement.OnPropertyChanged (System.Windows.DependencyPropertyChangedEventArgs e) [0x00010] in <9d269d40eb8b4d6b86907a189974d2e8>:0
  at System.Windows.DependencyObject.NotifyPropertyChange (System.Windows.DependencyPropertyChangedEventArgs args) [0x00001] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Windows.DependencyObject.UpdateEffectiveValue (System.Windows.EntryIndex entryIndex, System.Windows.DependencyProperty dp, System.Windows.PropertyMetadata metadata, System.Windows.EffectiveValueEntry oldEntry, System.Windows.EffectiveValueEntry& newEntry, System.Boolean coerceWithDeferredReference, System.Boolean coerceWithCurrentValue, System.Windows.OperationType operationType) [0x004fb] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Windows.DependencyObject.SetValueCommon (System.Windows.DependencyProperty dp, System.Object value, System.Windows.PropertyMetadata metadata, System.Boolean coerceWithDeferredReference, System.Boolean coerceWithCurrentValue, System.Windows.OperationType operationType, System.Boolean isInternal) [0x00339] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Windows.DependencyObject.SetValue (System.Windows.DependencyProperty dp, System.Object value) [0x00010] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Windows.Baml2006.WpfMemberInvoker.SetValue (System.Object instance, System.Object value) [0x00030] in <9d269d40eb8b4d6b86907a189974d2e8>:0
  at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue (System.Xaml.XamlMember member, System.Object obj, System.Object value) [0x00007] in <8afd1fc6c51043d9bbe8a396c5c43860>:0
  at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue (System.Object inst, System.Xaml.XamlMember property, System.Object value) [0x0000f] in <8afd1fc6c51043d9bbe8a396c5c43860>:0
   --- End of inner exception stack trace ---
  at System.Windows.Markup.XamlReader.RewrapException (System.Exception e, System.Xaml.IXamlLineInfo lineInfo, System.Uri baseUri) [0x00009] in <9d269d40eb8b4d6b86907a189974d2e8>:0
  at System.Windows.Markup.WpfXamlLoader.Load (System.Xaml.XamlReader xamlReader, System.Xaml.IXamlObjectWriterFactory writerFactory, System.Boolean skipJournaledProperties, System.Object rootObject, System.Xaml.XamlObjectWriterSettings settings, System.Uri baseUri) [0x00120] in <9d269d40eb8b4d6b86907a189974d2e8>:0
  at System.Windows.Markup.WpfXamlLoader.LoadDeferredContent (System.Xaml.XamlReader xamlReader, System.Xaml.IXamlObjectWriterFactory writerFactory, System.Boolean skipJournaledProperties, System.Object rootObject, System.Xaml.XamlObjectWriterSettings parentSettings, System.Uri baseUri) [0x00009] in <9d269d40eb8b4d6b86907a189974d2e8>:0
  at System.Windows.ResourceDictionary.CreateObject (System.Windows.Baml2006.KeyRecord key) [0x00040] in <9d269d40eb8b4d6b86907a189974d2e8>:0
  at System.Windows.ResourceDictionary.OnGettingValue (System.Object key, System.Object& value, System.Boolean& canCache) [0x00063] in <9d269d40eb8b4d6b86907a189974d2e8>:0
  at System.Windows.ResourceDictionary.OnGettingValuePrivate (System.Object key, System.Object& value, System.Boolean& canCache) [0x00009] in <9d269d40eb8b4d6b86907a189974d2e8>:0
  at System.Windows.ResourceDictionary.GetValueWithoutLock (System.Object key, System.Boolean& canCache) [0x00017] in <9d269d40eb8b4d6b86907a189974d2e8>:0
  at System.Windows.ResourceDictionary.GetValue (System.Object key, System.Boolean& canCache) [0x0001f] in <9d269d40eb8b4d6b86907a189974d2e8>:0
  at System.Windows.ResourceDictionary.GetValueWithoutLock (System.Object key, System.Boolean& canCache) [0x00062] in <9d269d40eb8b4d6b86907a189974d2e8>:0
  at System.Windows.ResourceDictionary.GetValue (System.Object key, System.Boolean& canCache) [0x0001f] in <9d269d40eb8b4d6b86907a189974d2e8>:0
  at System.Windows.ResourceDictionary.get_Item (System.Object key) [0x00001] in <9d269d40eb8b4d6b86907a189974d2e8>:0
  at System.Windows.Application.FindResource (System.Object resourceKey) [0x00013] in <9d269d40eb8b4d6b86907a189974d2e8>:0
  at SuperMemoAssistant.App.Application_Startup (System.Object o, System.Windows.StartupEventArgs e) [0x00012] in <96be3afce573480a89637cc806b56a96>:0
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) [0x00000] in <7713cb95b33244ed9608bf0b23fbdce9>:0
  at System.Windows.Threading.ExceptionWrapper.InternalRealCall (System.Delegate callback, System.Object args, System.Int32 numArgs) [0x000e7] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Windows.Threading.ExceptionWrapper.TryCatchWhen (System.Object source, System.Delegate callback, System.Object args, System.Int32 numArgs, System.Delegate catchHandler) [0x00004] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Windows.Threading.Dispatcher.WrappedInvoke (System.Delegate callback, System.Object args, System.Int32 numArgs, System.Delegate catchHandler) [0x00001] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Windows.Threading.DispatcherOperation.InvokeImpl () [0x00099] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext (System.Object state) [0x00008] in <450ea49bfc2d4174a61ea6653385e394>:0
  at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper (System.Object obj) [0x0001d] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00071] in <7713cb95b33244ed9608bf0b23fbdce9>:0
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <7713cb95b33244ed9608bf0b23fbdce9>:0
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x0002b] in <7713cb95b33244ed9608bf0b23fbdce9>:0
  at MS.Internal.CulturePreservingExecutionContext.Run (MS.Internal.CulturePreservingExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x00047] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Windows.Threading.DispatcherOperation.Invoke () [0x00016] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Windows.Threading.Dispatcher.ProcessQueue () [0x00114] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Windows.Threading.Dispatcher.WndProcHook (System.IntPtr hwnd, System.Int32 msg, System.IntPtr wParam, System.IntPtr lParam, System.Boolean& handled) [0x00061] in <450ea49bfc2d4174a61ea6653385e394>:0
  at MS.Win32.HwndWrapper.WndProc (System.IntPtr hwnd, System.Int32 msg, System.IntPtr wParam, System.IntPtr lParam, System.Boolean& handled) [0x0003a] in <450ea49bfc2d4174a61ea6653385e394>:0
  at MS.Win32.HwndSubclass.DispatcherCallbackOperation (System.Object o) [0x00042] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Windows.Threading.ExceptionWrapper.InternalRealCall (System.Delegate callback, System.Object args, System.Int32 numArgs) [0x000c6] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Windows.Threading.ExceptionWrapper.TryCatchWhen (System.Object source, System.Delegate callback, System.Object args, System.Int32 numArgs, System.Delegate catchHandler) [0x00004] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Windows.Threading.Dispatcher.WrappedInvoke (System.Delegate callback, System.Object args, System.Int32 numArgs, System.Delegate catchHandler) [0x00001] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Windows.Threading.Dispatcher.LegacyInvokeImpl (System.Windows.Threading.DispatcherPriority priority, System.TimeSpan timeout, System.Delegate method, System.Object args, System.Int32 numArgs) [0x000fc] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Windows.Threading.Dispatcher.Invoke (System.Windows.Threading.DispatcherPriority priority, System.Delegate method, System.Object arg) [0x00011] in <450ea49bfc2d4174a61ea6653385e394>:0
  at MS.Win32.HwndSubclass.SubclassWndProc (System.IntPtr hwnd, System.Int32 msg, System.IntPtr wParam, System.IntPtr lParam) [0x00154] in <450ea49bfc2d4174a61ea6653385e394>:0
  at (wrapper native-to-managed) MS.Win32.HwndSubclass.SubclassWndProc(intptr,int,intptr,intptr)
  at (wrapper managed-to-native) MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG&)
  at System.Windows.Threading.Dispatcher.TranslateAndDispatchMessage (System.Windows.Interop.MSG& msg) [0x0001a] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Windows.Threading.Dispatcher.PushFrameImpl (System.Windows.Threading.DispatcherFrame frame) [0x0004c] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Windows.Threading.Dispatcher.PushFrame (System.Windows.Threading.DispatcherFrame frame) [0x00077] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Windows.Threading.Dispatcher.Run () [0x00006] in <450ea49bfc2d4174a61ea6653385e394>:0
  at System.Windows.Application.RunDispatcher (System.Object ignore) [0x00023] in <9d269d40eb8b4d6b86907a189974d2e8>:0
  at System.Windows.Application.RunInternal (System.Windows.Window window) [0x0010d] in <9d269d40eb8b4d6b86907a189974d2e8>:0
  at System.Windows.Application.Run (System.Windows.Window window) [0x00008] in <9d269d40eb8b4d6b86907a189974d2e8>:0
  at System.Windows.Application.Run () [0x00009] in <9d269d40eb8b4d6b86907a189974d2e8>:0
  at SuperMemoAssistant.App.Main () [0x0000e] in <96be3afce573480a89637cc806b56a96>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'System.Drawing.GDIPlus' threw an exception. ---> System.DllNotFoundException: gdiplus assembly:<unknown assembly> type:<unknown type> member:(null)
  at (wrapper managed-to-native) System.Drawing.GDIPlus.GdiplusStartup(ulong&,System.Drawing.GdiplusStartupInput&,System.Drawing.GdiplusStartupOutput&)
  at System.Drawing.GDIPlus..cctor () [0x000b0] in <4e5326be950f45168a17e3e7e065db24>:0
   --- End of inner exception stack trace ---
  at System.Drawing.Icon.Dispose () [0x00011] in <4e5326be950f45168a17e3e7e065db24>:0
  at (wrapper remoting-invoke-with-check) System.Drawing.Icon.Dispose()
  at System.Drawing.Icon.Finalize () [0x00000] in <4e5326be950f45168a17e3e7e065db24>:0
0294:err:ntdll:RtlpWaitForCriticalSection section 0x7ea968a0 "../../../wine-staging/dlls/mscoree/metahost.c: runtime_list_cs" wait timed out in thread 0294, blocked by 028c, retrying (60 sec)
0294:err:ntdll:RtlpWaitForCriticalSection section 0x7ea968a0 "../../../wine-staging/dlls/mscoree/metahost.c: runtime_list_cs" wait timed out in thread 0294, blocked by 028c, retrying (60 sec)
0294:err:ntdll:RtlpWaitForCriticalSection section 0x7ea968a0 "../../../wine-staging/dlls/mscoree/metahost.c: runtime_list_cs" wait timed out in thread 0294, blocked by 028c, retrying (60 sec)
0294:err:ntdll:RtlpWaitForCriticalSection section 0x7ea968a0 "../../../wine-staging/dlls/mscoree/metahost.c: runtime_list_cs" wait timed out in thread 0294, blocked by 028c, retrying (60 sec)
0294:err:ntdll:RtlpWaitForCriticalSection section 0x7ea968a0 "../../../wine-staging/dlls/mscoree/metahost.c: runtime_list_cs" wait timed out in thread 0294, blocked by 028c, retrying (60 sec)
0294:err:ntdll:RtlpWaitForCriticalSection section 0x7ea968a0 "../../../wine-staging/dlls/mscoree/metahost.c: runtime_list_cs" wait timed out in thread 0294, blocked by 028c, retrying (60 sec)
0294:err:ntdll:RtlpWaitForCriticalSection section 0x7ea968a0 "../../../wine-staging/dlls/mscoree/metahost.c: runtime_list_cs" wait timed out in thread 0294, blocked by 028c, retrying (60 sec)
0294:err:ntdll:RtlpWaitForCriticalSection section 0x7ea968a0 "../../../wine-staging/dlls/mscoree/metahost.c: runtime_list_cs" wait timed out in thread 0294, blocked by 028c, retrying (60 sec)
0294:err:ntdll:RtlpWaitForCriticalSection section 0x7ea968a0 "../../../wine-staging/dlls/mscoree/metahost.c: runtime_list_cs" wait timed out in thread 0294, blocked by 028c, retrying (60 sec)
0294:err:ntdll:RtlpWaitForCriticalSection section 0x7ea968a0 "../../../wine-staging/dlls/mscoree/metahost.c: runtime_list_cs" wait timed out in thread 0294, blocked by 028c, retrying (60 sec)
0294:err:ntdll:RtlpWaitForCriticalSection section 0x7ea968a0 "../../../wine-staging/dlls/mscoree/metahost.c: runtime_list_cs" wait timed out in thread 0294, blocked by 028c, retrying (60 sec)
0294:err:ntdll:RtlpWaitForCriticalSection section 0x7ea968a0 "../../../wine-staging/dlls/mscoree/metahost.c: runtime_list_cs" wait timed out in thread 0294, blocked by 028c, retrying (60 sec)
0294:err:ntdll:RtlpWaitForCriticalSection section 0x7ea968a0 "../../../wine-staging/dlls/mscoree/metahost.c: runtime_list_cs" wait timed out in thread 0294, blocked by 028c, retrying (60 sec)
0294:err:ntdll:RtlpWaitForCriticalSection section 0x7ea968a0 "../../../wine-staging/dlls/mscoree/metahost.c: runtime_list_cs" wait timed out in thread 0294, blocked by 028c, retrying (60 sec)
0294:err:ntdll:RtlpWaitForCriticalSection section 0x7ea968a0 "../../../wine-staging/dlls/mscoree/metahost.c: runtime_list_cs" wait timed out in thread 0294, blocked by 028c, retrying (60 sec)
0294:err:ntdll:RtlpWaitForCriticalSection section 0x7ea968a0 "../../../wine-staging/dlls/mscoree/metahost.c: runtime_list_cs" wait timed out in thread 0294, blocked by 028c, retrying (60 sec)
0294:err:ntdll:RtlpWaitForCriticalSection section 0x7ea968a0 "../../../wine-staging/dlls/mscoree/metahost.c: runtime_list_cs" wait timed out in thread 0294, blocked by 028c, retrying (60 sec)

Of note seems to be this DLL not found error:

[ERROR] FATAL UNHANDLED EXCEPTION: System.Windows.Markup.XamlParseException: 'Set property 'Hardcodet.Wpf.TaskbarNotification.TaskbarIcon.IconSource' threw an exception.' Line number '6' and line position '19'. ---> System.TypeInitializationException: The type initializer for 'System.Drawing.GDIPlus' threw an exception. ---> System.DllNotFoundException: gdiplus assembly:<unknown assembly> type:<unknown type> member:(null)

Have you hit a blocking issue @nanjigen ?