Skip to content

proot-termux: unstable-2024-05-04 -> unstable-2026-02-20#529

Open
newAM wants to merge 1 commit into
nix-community:masterfrom
newAM:update-proot
Open

proot-termux: unstable-2024-05-04 -> unstable-2026-02-20#529
newAM wants to merge 1 commit into
nix-community:masterfrom
newAM:update-proot

Conversation

@newAM
Copy link
Copy Markdown

@newAM newAM commented May 5, 2026

Fixes #495

The proot-termux update contains patches to fix the TCSETS2 syscall used by tcgetattr.

I have tested this on a fresh nix-on-droid install using the F-Droid apk. Steps to test:

  1. Unpin the nixpkgs input for nix-on-droid in your flake.nix (assume you pinned to workaround Activation failed with the latest nixos-unstable #495)
  2. Build nix build .#prootTermux-x86_64 and nix build .#prootTermux-aarch64
  3. Copy the proot builds to a public nix cache, put your cache URL and key in modules/environment/nix.nix
  4. Update the /nix/store proot paths in modules/environment/login/default.nix to whatever you uploaded to the cache
  5. Build nix build ".#bootstrapZip-aarch64" --impure and copy the resulting .zip to a public https server (http didn't work for me)
  6. Clear application data
  7. Launch the app, use the URL of your public https server hosting the bootstrap zip when prompted

@newAM newAM marked this pull request as ready for review May 5, 2026 03:11
This contains a patch to fix the TCSETS2 syscall used by tcgetattr.
@newAM newAM changed the title proot-termux: unstable-2025-05-04 -> unstable-2026-02-20 proot-termux: unstable-2024-05-04 -> unstable-2026-02-20 May 5, 2026
@newAM
Copy link
Copy Markdown
Author

newAM commented May 5, 2026

I did more testing, and eventually this broke. I'm not sure if that was from restarting the app, or one of my rebuilds, or if this fix never really worked in the first place...

I think it's a good idea to update proot anyway, even if this isn't a complete fix.

Edit: Found the problem, I pointed my nix-on-droid flake input to this PR, but I needed to point it to a flake input that sets the /nix/store path in modules/environment/login/default.nix. I didn't do that in this pull-request because the store path will change when built by a maintainer.

worldofgeese added a commit to worldofgeese/den that referenced this pull request May 7, 2026
glibc 2.42 uses TCSETS2/TCGETS2 ioctls that proot can't handle,
causing "getting pseudoterminal attributes: Permission denied"
during nix-on-droid activation.

Pin to nixpkgs 88d3861 (2026-01-21, last working commit).
Track removal at: nix-community/nix-on-droid#529

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
worldofgeese added a commit to worldofgeese/den that referenced this pull request May 7, 2026
glibc 2.42 uses TCSETS2/TCGETS2 ioctls that proot can't handle,
causing "getting pseudoterminal attributes: Permission denied"
during nix-on-droid activation.

Pin to nixpkgs 88d3861 (2026-01-21, last working commit).
Track removal at: nix-community/nix-on-droid#529

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Activation failed with the latest nixos-unstable

1 participant