{
  "name": "goblin-skiff",
  "version": "1.4.0+goblin20260919.2.rm2.1",
  "model": "reMarkable 2",
  "architecture": "armv7-hard-float",
  "firmware_line": "3.27",
  "release": "2026-09-19",
  "debian_packages": {
    "libbz2-1.0": {
      "version": "1.0.8-5+b1",
      "filename": "libbz2-1.0_1.0.8-5+b1_armhf.deb",
      "url": "https://deb.debian.org/debian/pool/main/b/bzip2/libbz2-1.0_1.0.8-5+b1_armhf.deb",
      "sha256": "aeed5e720eb41badf6ab8b0e719007fe446c13ce93a8d75ca37d1cdfaaf7f5b4",
      "source": "bzip2",
      "source_version": "1.0.8-5"
    },
    "libcrypt1": {
      "version": "1:4.4.33-2",
      "filename": "libcrypt1_4.4.33-2_armhf.deb",
      "url": "https://deb.debian.org/debian/pool/main/libx/libxcrypt/libcrypt1_4.4.33-2_armhf.deb",
      "sha256": "6bb061a2279a27ff61791cda6edc8925455e5423e475e5e6c41ad7e04d8efc3c",
      "source": "libxcrypt",
      "source_version": "1:4.4.33-2"
    },
    "libdb5.3": {
      "version": "5.3.28+dfsg2-1",
      "filename": "libdb5.3_5.3.28+dfsg2-1_armhf.deb",
      "url": "https://deb.debian.org/debian/pool/main/d/db5.3/libdb5.3_5.3.28+dfsg2-1_armhf.deb",
      "sha256": "cd3816b76546c2e39de75863e9615d4244dc173e157672a2970e22ee606094be",
      "source": "db5.3",
      "source_version": "5.3.28+dfsg2-1"
    },
    "libgdbm-compat4": {
      "version": "1.23-3",
      "filename": "libgdbm-compat4_1.23-3_armhf.deb",
      "url": "https://deb.debian.org/debian/pool/main/g/gdbm/libgdbm-compat4_1.23-3_armhf.deb",
      "sha256": "9e55a0ac2ea09f37e3cd7d5f81579712314c6dad2c100e878a622c242ecb0d93",
      "source": "gdbm",
      "source_version": "1.23-3"
    },
    "libgdbm6": {
      "version": "1.23-3",
      "filename": "libgdbm6_1.23-3_armhf.deb",
      "url": "https://deb.debian.org/debian/pool/main/g/gdbm/libgdbm6_1.23-3_armhf.deb",
      "sha256": "28b9b49b726c4e359b82ddf9489c3e8f4ae0cd79e045407a3b09799bfa83356e",
      "source": "gdbm",
      "source_version": "1.23-3"
    },
    "libperl5.36": {
      "version": "5.36.0-7+deb12u3",
      "filename": "libperl5.36_5.36.0-7+deb12u3_armhf.deb",
      "url": "https://deb.debian.org/debian/pool/main/p/perl/libperl5.36_5.36.0-7+deb12u3_armhf.deb",
      "sha256": "46e60ef29014d818f991c695696401cb1d172e6eec35a3ed6c48efb36a5297c5",
      "source": "perl",
      "source_version": "5.36.0-7+deb12u3"
    },
    "perl-base": {
      "version": "5.36.0-7+deb12u3",
      "filename": "perl-base_5.36.0-7+deb12u3_armhf.deb",
      "url": "https://deb.debian.org/debian/pool/main/p/perl/perl-base_5.36.0-7+deb12u3_armhf.deb",
      "sha256": "d66e9e6d050b1d33465cad2cea5ce309c828ed0c2440ef143df26dc0c79259f4",
      "source": "perl",
      "source_version": "5.36.0-7+deb12u3"
    },
    "perl-modules-5.36": {
      "version": "5.36.0-7+deb12u3",
      "filename": "perl-modules-5.36_5.36.0-7+deb12u3_all.deb",
      "url": "https://deb.debian.org/debian/pool/main/p/perl/perl-modules-5.36_5.36.0-7+deb12u3_all.deb",
      "sha256": "3d237ccb1ea32727b6573d43c67d78337aa928a81148d36cef54b369a07c240a",
      "source": "perl",
      "source_version": "5.36.0-7+deb12u3"
    }
  },
  "source_commit": "04f2e1d414f8b03d1ee0ec031453b4c67a3e4078",
  "source": "https://inkline.goblinreactor.com/downloads/utilities/2026-09-19/sources/goblin-skiff-1.4.0-goblin20260919.2.tar.gz",
  "target_firmware": "3.27.3.0",
  "verification": {
    "build": "pass",
    "execution": "QEMU ARM user emulation with reMarkable target sysroot",
    "core_tests": {
      "total": 28,
      "pass": 26,
      "skip": 2,
      "fail": 0,
      "error": 0,
      "skipped": [
        "optional FIPS provider disabled",
        "librsync integration disabled"
      ]
    },
    "private_perl_utf8": "pass",
    "prebuilt_fec_policy": "pass",
    "sessions": [
      {
        "direction": "ARM Skiff client -> native Skiff server",
        "status": "PASS",
        "exit": 0,
        "keyboard_roundtrip": true,
        "screen_output": true,
        "transport": "real loopback UDP, real PTYs, wrapper bootstrap with --local"
      },
      {
        "direction": "native Skiff client -> ARM Skiff server",
        "status": "PASS",
        "exit": 0,
        "keyboard_roundtrip": true,
        "screen_output": true,
        "transport": "real loopback UDP, real PTYs, wrapper bootstrap with --local"
      }
    ],
    "device": {
      "model": "reMarkable 2",
      "firmware": "3.27.3.0",
      "installation": "pass",
      "private_runtime_preflight": "pass",
      "graphics_regression": "pass",
      "sessions": [
        {
          "direction": "tablet Skiff client to upstream Mosh server",
          "status": "PASS",
          "transport": "tablet loopback UDP",
          "keyboard_roundtrip": true,
          "screen_output": true,
          "exit": 0
        },
        {
          "direction": "tablet upstream Mosh client to Skiff server",
          "status": "PASS",
          "transport": "tablet loopback UDP",
          "keyboard_roundtrip": true,
          "screen_output": true,
          "exit": 0
        },
        {
          "direction": "tablet Skiff client to Skiff server",
          "status": "PASS",
          "transport": "tablet loopback UDP",
          "keyboard_roundtrip": true,
          "screen_output": true,
          "exit": 0
        },
        {
          "direction": "Mac Skiff client to tablet Skiff server",
          "status": "PASS",
          "transport": "USB network UDP with actual SSH bootstrap; --no-ssh-pty for tablet Dropbear",
          "keyboard_roundtrip": true,
          "screen_output": true,
          "exit": 0
        }
      ],
      "superseded_package_removal": "pass"
    }
  },
  "features": {
    "raptorq": false,
    "librsync": false,
    "fips_crypto": false,
    "automatic_downloads_default": false,
    "webp": "static",
    "djvulibre": "static, with private cjb2"
  },
  "build_inputs": {
    "skiff_source_sha256": "b3db69c56ad12c1ac672aba0c171732658a4841b42e5de232e3f2c6f850c5924",
    "source_commit": "04f2e1d414f8b03d1ee0ec031453b4c67a3e4078",
    "protoc_url": "https://github.com/protocolbuffers/protobuf/releases/download/v25.8/protoc-25.8-linux-x86_64.zip",
    "protoc_sha256": "f7873a2b57811575c661faffa847e0e9b1bb06a1aea5021eccb05e8c04b260d5",
    "zig_version": "0.16.0",
    "sdk": "5.7.119",
    "djvulibre_source": {
      "djvulibre_3.5.28-2.2~deb12u1.debian.tar.xz": "30af2c973ba7aaf988dbf9c5c342af7baba1662accb4373658e841ff924545c8",
      "djvulibre_3.5.28-2.2~deb12u1.dsc": "379a5063097f1928b3755aab5c0105a6e1cdb111f06c50bce417f814971f9bcb",
      "djvulibre_3.5.28.orig.tar.xz": "1223b7bf7c8dfe2e290882f3bfb88ba2468b30495a1bf8dfd54dc7e810987887"
    },
    "webp_source_sha256": "e4ab7009bf0629fd11982d4c2aa83964cf244cffba7347ecd39019a9e38c4564",
    "sdk_metadata": {
      "sdk_sha256": "1349416c64fdc4ccd71729604b57b64acf7329a179a82dd768a3e4da2ab9a6b7",
      "target": "cortexa7hf-neon-remarkable-linux-gnueabi",
      "selection_version": 2
    }
  }
}
