DISTRHO / Cardinal

Virtual modular synthesizer plugin
https://cardinal.kx.studio/
GNU General Public License v3.0
2.24k stars 156 forks source link

Startup crash on Windows 7 32bit with incomplete OpenGL2 drivers #310

Open afarlie opened 2 years ago

afarlie commented 2 years ago

Installed - Cardinal-win32-22.06-installer.exe

Attempted to start the program with a JACK server already running.

From the windows crash dialog : - Problem signature: Problem Event Name: APPCRASH Application Name: Cardinal.exe Application Version: 0.0.0.0 Application Timestamp: 62bc9236 Fault Module Name: Cardinal.exe Fault Module Version: 0.0.0.0 Fault Module Timestamp: 62bc9236 Exception Code: c0000005 Exception Offset: 008fe713 OS Version: 6.1.7601.2.1.0.256.48 Locale ID: 2057 Additional Information 1: 0a9e Additional Information 2: 0a9e372d3b4ad19135b953a78882e789 Additional Information 3: 0a9e Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

falkTX commented 2 years ago

Does your system have graphics drivers installed? Can it do OpenGL?

afarlie commented 2 years ago

Yes I have graahics drivers installed, but the chipset doesn't support the most recent OpenGL version, as it's a much older chipset.

Extract from DXdiag output:-


        Card name: Intel(R) G41 Express Chipset
       Manufacturer: Intel Corporation
          Chip type: Intel(R) 4 Series Express Chipset Family
           DAC type: Internal
     Display Memory: 1453 MB
   Dedicated Memory: 64 MB
      Shared Memory: 1389 MB
       Current Mode: 1440 x 900 (32 bit) (60Hz)
       Monitor Name:  Hanns.G HW191
      Monitor Model: Hanns.G HW191
         Monitor Id: HSD8991
        Native Mode: 1440 x 900(p) (59.887Hz)
        Output Type: HD15
        Driver Name: igdumdx32.dll,igd10umd32.dll
Driver File Version: 8.15.0010.2869 (English)
     Driver Version: 8.15.10.2869
        DDI Version: 10
       Driver Model: WDDM 1.1
  Driver Attributes: Final Retail
   Driver Date/Size: 11/8/2012 15:26:08, 571904 bytes
        WHQL Logo'd: n/a
    WHQL Date Stamp: n/a
          Vendor ID: 0x8086
          Device ID: 0x2E32
          SubSys ID: 0x04001028
        Revision ID: 0x0003
 Driver Strong Name: oem24.inf:IntelGfx.NTx86.6.0:iEGL0:8.15.10.2869:pci\ven_8086&dev_2e32&subsys_04001028
     Rank Of Driver: 00E60001
        Video Accel: ModeMPEG2_A ModeMPEG2_C ModeWMV9_B ModeWMV9_C ModeVC1_B ModeVC1_C 
       D3D9 Overlay: Supported
            DXVA-HD: Supported
       DDraw Status: Enabled
         D3D Status: Enabled
         AGP Status: Enabled
dromer commented 2 years ago

From what I can tell this is mainly a driver issue, but it does seem to be an old and under-powered GPU. Are you able to run Rack2Free on this?

afarlie commented 2 years ago

I haven't tested rack2free yet,

I also note - "https://github.com/makehumancommunity/makehuman/issues/62" and "https://github.com/makehumancommunity/makehuman/pull/68" in related to GL functionality on older drivers.

You have to use different names for certain functions, as a fallback, Although tit would perhaps have been useful if Cardinal had caught what may well be a related exception (if you say it's driver related) internally, instead of it eventually leading to a crash.

afarlie commented 2 years ago

Rack2Free doesn't support Windows 7 (or it needs the 64 bit version) as it complained that I had the wrong Windows version.

falkTX commented 2 years ago

Does the "makehuman" thing work for you? I can add the same workarounds, but only if they actually work, otherwise it is a waste of time.

Cardinal for sure shouldn't be crashing, I can fix that one.

dromer commented 2 years ago

@falkTX should it then show some error/warning screen when encountering incompatible OpenGL?

If it can't create a GL context, how can it then still present something useful to the user?

falkTX commented 2 years ago

it cant. so window just stays black in that case.

afarlie commented 2 years ago

The makehuman code works for me. (or the version in which the GL fallbacks were implemented does.) It would of course be acceptable to report the exception, and 'fail' gracefully if there's an issue with older OpenGL contexts.

I am of course not saying that this will solve the issue, given that I've had jackd crash on me when some clients have tried to connect to it.

falkTX commented 2 years ago

ok good. I added the fallback functions just now, will trigger a build for it later on. this will be part of the 22.07 release a bit later today.

falkTX commented 2 years ago

ok please try with the win32 builds in https://github.com/DISTRHO/Cardinal/releases/tag/22.07 hopefully that works now!

afarlie commented 2 years ago

Using the most recent build - Problem signature: " Problem Event Name: APPCRASH Application Name: Cardinal.exe Application Version: 0.0.0.0 Application Timestamp: 62d1d7c3 Fault Module Name: Cardinal.exe Fault Module Version: 0.0.0.0 Fault Module Timestamp: 62d1d7c3 Exception Code: c0000005 Exception Offset: 0038bf56 OS Version: 6.1.7601.2.1.0.256.48 Locale ID: 2057 Additional Information 1: 0a9e Additional Information 2: 0a9e372d3b4ad19135b953a78882e789 Additional Information 3: 0a9e Additional Information 4: 0a9e372d3b4ad19135b953a78882e789 "

afarlie commented 2 years ago

Also reporting - "Problem signature: Problem Event Name: APPCRASH Application Name: Carla.exe Application Version: 0.0.0.0 Application Timestamp: 625951bd Fault Module Name: CardinalSynth.dll Fault Module Version: 0.0.0.0 Fault Module Timestamp: 62d1e33d Exception Code: c0000005 Exception Offset: 00388f96 OS Version: 6.1.7601.2.1.0.256.48 Locale ID: 2057 Additional Information 1: 0a9e Additional Information 2: 0a9e372d3b4ad19135b953a78882e789 Additional Information 3: 0a9e Additional Information 4: 0a9e372d3b4ad19135b953a78882e789"

When I attempted to use the Carla based plugin as an alternative.

Something is screwed up here, and I lack the expertise to determine what.