It looks like this is very nearly ready in upstream Chromium, apparently just blocked on [this CL](https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2037803), which has to do with an upload issue on Fedora.

Upstream tracking issue: https://bugs.chromium.org/p/crashpad/issues/detail?id=30

Once this CL is landed we should consider enabling Crashpad on Linux and removing our Breakpad-related code.
shell/app/electron_main.cc
if (exit_code_watcher->Initialize(std::move(parent_process))) {
          exit_code_watcher->StartWatching();
        }
      }
    }
    
    
    DCHECK(command_line->HasSwitch(kUserDataDir));
    base::FilePath user_data_dir =
        command_line->GetSwitchValuePath(kUserDataDir);
    int crashpad_status = crash_reporter::RunAsCrashpadHandler(
        *command_line, user_data_dir, kProcessType, kUserDataDir);
    if (crashpad_status != 0 && exit_code_watcher) {
      
      
      exit_code_watcher->StopWatching();
    }
    return crashpad_status;
  }
#if defined(ARCH_CPU_32_BITS)
  
  CHECK_EQ(fiber_status, FiberStatus::kSuccess);
#endif  
  if (!electron::CheckCommandLineArguments(arguments.argc, arguments.argv))
    return -1;
  sandbox::SandboxInterfaceInfo sandbox_info = {0};
  content::InitializeSandboxInfo(&sandbox_info);
  electron::ElectronMainDelegate delegate;
  content::ContentMainParams params(&delegate);
  params.instance = instance;