This is a fork of b-inary's desktop postflop that I will be maintaining.
Important
As of October 2023, I have started developing a poker solver as a business and have decided to suspend development of this open-source project. See this issue for more information.
Desktop Postflop is a free, open-source GTO solver for Texas hold'em poker.
This is a port of WASM Postflop to a native desktop application using the Tauri framework. Since WASM Postflop works on web browsers, it is more suitable for casual use. However, if you want to use the solver for more serious purposes, please consider trying Desktop Postflop.
Related repositories
- Solver engine: https://github.com/bkushigian/postflop-solver
- Shared features:
- Free to use and open-source
- Same solver engine and user interface
- Advantages:
- Faster computation
- Able to use more than 4GB of memory
- Disadvantages:
- Needs to download the program and trust the execution
- macOS builds are not distributed (you need to build the app yourself)
See the WASM Postflop repository for more detailed comparisons, including some commercial solvers.
- OS
- Windows: 10/11
- macOS: 11.7 and later
- We do not distribute macOS builds because we are not enrolled in the Apple Developer Program and cannot sign the app (please see the "Build" section below and build it yourself).
- Linux: glibc 2.31 and later (e.g., Ubuntu 20.04 and later)
- CPU
- x86-64: must support AVX2 instructions
- Intel: Haswell (2013) and later
- AMD: Zen (1st gen; 2017) and later
- If you have a CPU without AVX2 support, you can modify
src-tauri/.cargo/config.toml
and build it yourself.
- Apple silicon: M1 and later
- x86-64: must support AVX2 instructions
You can download the app from the GitHub releases page.
- Windows
- The installer version (.msi) automatically installs dependent runtimes.
- The portable version (.exe) requires the WebView2 runtime to be installed.
- In most cases, the runtime should already be installed on Windows 10/11.
- Linux
- AppImage should work on most Linux distributions.
- Alternatively, the .deb package is available for Debian-based distributions, including Ubuntu.
On Windows, please remove the following folder after the regular uninstallation to completely uninstall Desktop Postflop:
C:\Users\<username>\AppData\Local\b-inary.desktop-postflop
Rust and Node.js need to be installed to build. On Linux, you will also need to install some dependencies; please see the Tauri documentation for details. For better performance, we also recommend installing the Rust nightly channel:
$ rustup install nightly
$ rustup default nightly
Then clone this reporitory and run the following commands:
$ npm install
$ npm run tauri build
Note there is an issue with nightly builds of the time crate. If you get the following error:
error[E0282]: type annotations needed for `Box<_>`
--> /Users/benku/.cargo/registry/src/index.crates.io-6f17d22bba15001f/time-0.3.29/src/format_description/parse/mod.rs:83:9
|
83 | let items = format_items
| ^^^^^
...
86 | Ok(items.into())
| ---- type must be known at this point
|
help: consider giving `items` an explicit type, where the placeholders `_` are specified
|
83 | let items: Box<_> = format_items
| ++++++++
run the command
cargo update -p time
.
If the build was successful, you should be able to find the application in the src-tauri/target/release/bundle/
directory.
If you want to use stable Rust instead of nightly Rust, please modify the following line in src-tauri/Cargo.toml
(performance will be sacrificed):
[dependencies]
...
- postflop-solver = { git = "https://github.com/bkushigian/postflop-solver", features = ["custom-alloc"] }
+ postflop-solver = { git = "https://github.com/bkushigian/postflop-solver" }
- Results saving/loading feature (#8)
- Hand filter feature for the result viewer (#6)
- Node-locking feature
- Short deck support
- Aggregated reporting feature for multiple flops
- GTO training mode (#9)
Copyright (C) 2022 Wataru Inariba
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.