Delta Chat on FreeBSD

Can anyone create an installation package for FreeBSD?

While that would be cool, I think it’s out of scope for the core team currently.
But I could try to help you here in this thread when you try to compile it yourself.

Thank you. This is what I get git clone deltachat-deskt -

Ok nodebindings are problematic, we will remove them in the following months until then you can try the method with the jsonrpc binary.
For this you need to compile the dc-core-jsonrpc-stdio-server for freebsd (deltachat-core-rust/deltachat-rpc-server at main · deltachat/deltachat-core-rust · GitHub) and use this desktop pr/branch use stdio binary instead of dc node by Simon-Laux · Pull Request #3567 · deltachat/deltachat-desktop · GitHub

And add the name of the binary build for freebsd to src/main/deltachat/stdio_server.ts

Keep in mind that this branch is does not have the newest changes as it is already a bit older.

git clone
cd deltachat-core-rust/
cargo build
   Compiling deltachat v1.135.1 (/home/user/Repos/
    Finished dev [optimized] target(s) in 7m 27s
cd ..
git clone
cd deltachat-desktop

What to do next?


npm install
npm run build
npm start

And see if it works. I’m happy to be of more help once I get myself a FreeBSD system which should happen in midterm future which should be 1-3 months. I mean having a FreeBSD base is already on my schedule.

Sorry, I didn’t understand how to use pr/branch

build jsonrpc server binary

cd deltachat-core-rust/
cargo build -p deltachat-rpc-server --release

Then confirm that it worked:

file ./target/release/deltachat-rpc-server
./target/release/deltachat-rpc-server --openrpc # this should have technical output (a big JSON file)

then copy the file (./target/release/deltachat-rpc-server) to the desktop folder after you checked out the special branch

# copy the file to it
# then
cd deltachat-desktop
git checkout origin/stdio-experiment-with-jikstra

then edit src/main/deltachat/stdio_server.ts to add a case for freebsd, so it finds the binary.

then run the commands farooqkz send above:

npm install
npm run build
npm start

Update: I updated the branch, so it now also contains the new account switcher.

I copy ./target/release/deltachat-rpc-server to /home/user/bin/ and edited src/main/deltachat/stdio_server.ts

  binary_name() {
    } else if ( p === 'freebsd' && a === 'x64' ) {
      return 'deltachat-rpc-server'

npm install

looks like electron does not support freebsd, you need to research if there is a recent unofficial build of it somewhere

maybe GitHub - tagattie/FreeBSD-Electron: Electron port for FreeBSD might work.

I run

pkg install electron25

and window opened
but same errors with npm install

1 Like

Seems you can skip download with


Edit: in package.json edit the script for "start": replace electron with electron25

Let’s hope electron 25 is new enough, currently we use 28 on the official version


looks like you need to patch node_modules/application-config-path/index.js to add support for FreeBSD

This module basically returns the path where the config file and accounts should be saved.

+ case 'freebsd': return linux(name)
~/Repos/ $ cp /home/user/bin/deltachat-rpc-server ./
npm run build
npm start

And it worked! Thank you!


I know that BSDs can easily run Linux apps. So maybe a native Electron for BSDs is not necessary after all?

Edit: And as far as I remember, Linux apps for BSDs work much better than Windows apps for Linux/BSD(like Wine).