Your rating: None Average: 5 (10 votes)

Aenigma (Latin for puzzle) is a Sudoku puzzle game for Sailfish OS.

Implemented Features

  • Random Sudoku generator
  • Different difficulties (Easy / Medium / Hard / Insane)
  • Taking notes
  • Show errors in grid
  • Highlighting
  • Hinting
  • Undo
  • Auto notes
  • Auto clean notes
  • Different board styles
  • Results (required steps / required time / used hints)
  • Custom board styling
  • Bookmarking game state / return to bookmarked game state (request by elBoberido)
  • Revert to last correct game state

Planned Features

  • Save games
  • Visual timeline to rewind actions
  • Feature requests are welcome


Available translations:

  • English
  • German
  • Hungarian by Szabó G. (1Zgp)
  • Spanish by Carmen F. B. (carmenfdezb)
  • Polish by likot180
  • Dutch by rgrnetalk
  • Russian by potap14108
  • French by Bérenger (baxyz)

Your language is not available? You are welcome to support this project by translating it on my self hosted Weblate server:

Source code is available on Github:


If you like my work you can buy me a beer.


Donate using Liberapay



Application versions: 
File harbour-aenigma-0.1.0-1.aarch64.rpm86.17 KB29/12/2021 - 22:47
File harbour-aenigma-0.1.0-1.i486.rpm88.05 KB29/12/2021 - 22:47
File harbour-aenigma-0.1.0-1.armv7hl.rpm83.65 KB29/12/2021 - 22:47
File harbour-aenigma-0.1.1-1.armv7hl.rpm85.75 KB30/12/2021 - 10:28
File harbour-aenigma-0.1.1-1.i486.rpm90.5 KB30/12/2021 - 10:28
File harbour-aenigma-0.1.1-1.aarch64.rpm88.31 KB30/12/2021 - 10:28
File harbour-aenigma-0.1.2-1.aarch64.rpm89.57 KB30/12/2021 - 14:22
File harbour-aenigma-0.1.2-1.armv7hl.rpm86.86 KB30/12/2021 - 14:22
File harbour-aenigma-0.1.2-1.i486.rpm91.89 KB30/12/2021 - 14:22
File harbour-aenigma-0.1.3-1.i486.rpm93.85 KB31/12/2021 - 12:52
File harbour-aenigma-0.1.3-1.armv7hl.rpm88.72 KB31/12/2021 - 12:52
File harbour-aenigma-0.1.3-1.aarch64.rpm91.46 KB31/12/2021 - 12:52
File harbour-aenigma-0.1.4-1.aarch64.rpm95.47 KB31/12/2021 - 18:26
File harbour-aenigma-0.1.4-1.armv7hl.rpm92.55 KB31/12/2021 - 18:26
File harbour-aenigma-0.1.4-1.i486.rpm97.7 KB31/12/2021 - 18:26
File harbour-aenigma-0.1.5-1.i486.rpm97.68 KB01/01/2022 - 19:49
File harbour-aenigma-0.1.5-1.armv7hl.rpm92.32 KB01/01/2022 - 19:49
File harbour-aenigma-0.1.5-1.aarch64.rpm95.26 KB01/01/2022 - 19:49
File harbour-aenigma-0.1.6-1.aarch64.rpm95.5 KB02/01/2022 - 04:44
File harbour-aenigma-0.1.6-1.i486.rpm97.81 KB02/01/2022 - 04:44
File harbour-aenigma-0.1.6-1.armv7hl.rpm92.52 KB02/01/2022 - 04:44
File harbour-aenigma-0.1.7-1.armv7hl.rpm93.52 KB03/01/2022 - 22:48
File harbour-aenigma-0.1.7-1.aarch64.rpm96.31 KB03/01/2022 - 22:48
File harbour-aenigma-0.1.7-1.i486.rpm98.84 KB03/01/2022 - 22:48
File harbour-aenigma-0.1.8-1.i486.rpm102.09 KB04/01/2022 - 14:45
File harbour-aenigma-0.1.8-1.armv7hl.rpm96.02 KB04/01/2022 - 14:45
File harbour-aenigma-0.1.8-1.aarch64.rpm99.11 KB04/01/2022 - 14:45
File harbour-aenigma-0.1.9-1.i486.rpm102.23 KB05/01/2022 - 10:34
File harbour-aenigma-0.1.9-1.armv7hl.rpm96.27 KB05/01/2022 - 10:34
File harbour-aenigma-0.1.9-1.aarch64.rpm99.24 KB05/01/2022 - 10:34
File harbour-aenigma-0.1.10-1.i486.rpm103.34 KB08/01/2022 - 12:04
File harbour-aenigma-0.1.10-1.armv7hl.rpm97.39 KB08/01/2022 - 12:04
File harbour-aenigma-0.1.10-1.aarch64.rpm100.32 KB08/01/2022 - 12:04
File harbour-aenigma-0.2.0-1.i486.rpm116.63 KB13/01/2022 - 18:45
File harbour-aenigma-0.2.0-1.armv7hl.rpm108.9 KB13/01/2022 - 18:45
File harbour-aenigma-0.2.0-1.aarch64.rpm112.31 KB13/01/2022 - 18:45
File harbour-aenigma-0.3.0-1.armv7hl.rpm115.56 KB15/01/2022 - 16:47
File harbour-aenigma-0.3.0-1.i486.rpm123.41 KB15/01/2022 - 16:47
File harbour-aenigma-0.3.0-1.aarch64.rpm119.21 KB15/01/2022 - 16:47
File harbour-aenigma-0.3.1-1.aarch64.rpm120.28 KB17/01/2022 - 19:18
File harbour-aenigma-0.3.1-1.armv7hl.rpm116.45 KB17/01/2022 - 19:18
File harbour-aenigma-0.3.1-1.i486.rpm124.25 KB17/01/2022 - 19:18
File harbour-aenigma-0.3.2-1.armv7hl.rpm119.04 KB20/01/2022 - 22:47
File harbour-aenigma-0.3.2-1.aarch64.rpm122.7 KB20/01/2022 - 22:47
File harbour-aenigma-0.3.2-1.i486.rpm126.92 KB20/01/2022 - 22:47
File harbour-aenigma-0.3.3-1.armv7hl.rpm120.55 KB23/01/2022 - 10:40
File harbour-aenigma-0.3.3-1.aarch64.rpm124.75 KB23/01/2022 - 10:40
File harbour-aenigma-0.3.3-1.i486.rpm128.79 KB23/01/2022 - 10:40
File harbour-aenigma-0.3.4-1.i486.rpm129.78 KB29/01/2022 - 18:05
File harbour-aenigma-0.3.4-1.armv7hl.rpm121.93 KB29/01/2022 - 18:05
File harbour-aenigma-0.3.4-1.aarch64.rpm125.71 KB29/01/2022 - 18:05
File harbour-aenigma-0.3.5-1.aarch64.rpm126.34 KB03/02/2022 - 19:49
File harbour-aenigma-0.3.5-1.armv7hl.rpm121.94 KB03/02/2022 - 19:49
File harbour-aenigma-0.3.5-1.i486.rpm130.11 KB03/02/2022 - 19:49
File harbour-aenigma-0.3.7-1.aarch64.rpm131.52 KB05/02/2022 - 13:37
File harbour-aenigma-0.3.7-1.armv7hl.rpm127.11 KB05/02/2022 - 13:37
File harbour-aenigma-0.3.7-1.i486.rpm136.86 KB05/02/2022 - 13:37
File harbour-aenigma-0.3.8-1.i486.rpm136.96 KB11/02/2022 - 14:49
File harbour-aenigma-0.3.8-1.armv7hl.rpm127.45 KB11/02/2022 - 14:49
File harbour-aenigma-0.3.8-1.aarch64.rpm131.65 KB11/02/2022 - 14:49
File harbour-aenigma-0.4.0-1.i486.rpm137.12 KB18/05/2022 - 08:48
File harbour-aenigma-0.4.0-1.aarch64.rpm132.23 KB18/05/2022 - 08:48
File harbour-aenigma-0.4.0-1.armv7hl.rpm127.25 KB18/05/2022 - 08:48
* Wed May 18 2022 Samuel Kron <> 0.4.0-1
- Added Sailjail permissions

* Fri Feb 11 2022 Samuel Kron <> 0.3.8-1
- Added landscape mode

* Sat Feb 05 2022 Samuel Kron <> 0.3.7-1
- Use Monichs harbour-lib instead of libkeepalive for backward compatibility
- Fixes for backward compatibility
- Updated dutch translation

* Thu Feb 03 2022 Samuel Kron <> 0.3.5-1
- Updated translations

* Sat Jan 29 2022 Samuel Kron <> 0.3.4-1
- Fixed bug screenshots of bookmarks not showing
- Add description to bookmarks
- Revert to last correct state of game
- Improved highlighting of notes
- Bugfixes

* Sun Jan 23 2022 Samuel Kron <> 0.3.3-1
- Updated translations
- Cleanup old bookmark screenshots

* Thu Jan 20 2022 Samuel Kron <> 0.3.2-1
- Add bookmarking of game states / return to bookmarked gamestate (requested by elBoberido)
- Overwrite existing number with an other by double tap instead of one tap
- Changed controls layout (requested by elBoberido)
- Highlight notes if number is selected (requested by elBoberido)
- Changed some icons because they were not available in older SailfishOS versions
- Bugfixes

* Mon Jan 17 2022 Samuel Kron <> 0.3.1-1
- Fix bug saved games difficulty is always easy
- Update French / Hungarian / Polish / Russian / Spanish translation

* Sat Jan 15 2022 Samuel Kron <> 0.3.0-1
- Add custom styling of game board
- Add difficulty level on result board
- Moved main functionality to separate library
- Update translations

* Thu Jan 13 2022 Samuel Kron <> 0.2.0-1
- Add game statistics
- New Theme "Dark Shadow" requested by rob_kouw
- Add french translation by Berenger(baxyz)
- Translation udaptes for Dutch / Hungarian / Polish / Russian
- Bugfixes
- UI Fixes

* Sat Jan 08 2022 Samuel Kron <> 0.1.10-1
- Add Dutch language by rgrnetalk

* Wed Jan 05 2022 Samuel Kron <> 0.1.9-1
- Update Hungarian translation

* Tue Jan 04 2022 Samuel Kron <> 0.1.8-1
- Save game state when closing app / will be loaded again on next app start
- Add option to reset settings to default values
- Add elapsed time to sudoku board
- Fixed used hints where not shown correctly
- Visual changes to default style
- Updated Polish, Spanish and Hungarian translation
- Bugfixes
- Code cleanup

* Mon Jan 03 2022 Samuel Kron <> 0.1.7-1
- Add game generator cancellation after defined number of retries (Sudoku unsolvable / multiple solutions)
- Hungarian translation update by Szabó G. (1Zgp)

* Sun Jan 02 2022 Samuel Kron <> 0.1.6-1
- Fixed a bug with game states not changing correct
- Update Polish translation
- Code cleanup

* Sat Jan 01 2022 Samuel Kron <> 0.1.5-1
- Replaced all std:: functions
- Updated Spanish and Polish translation
- Improvements
- Several bugfixes

* Fri Dec 31 2021 Samuel Kron <> 0.1.4-1
- Add different board styles
- Highlight modes (only cell / rows, colums, blocks)
- Result board with step count, used time, used hints
- Polish translation by likot180
- Fixed build dependencies (thanks to slava)
- Bugfixes

* Fri Dec 31 2021 Samuel Kron <> 0.1.3-1
- Hungarian translation by Szabó G. (1Zgp)
- Spanish translation by Carmen F. B. (carmenfdezb)

* Thu Dec 30 2021 Samuel Kron <> 0.1.2-1
- Option for auto cleaning notes
- Improved undo
- Fixed display keeps on when app is minimized
- Fixed mode buttons could be turned off

* Thu Dec 30 2021 Samuel Kron <> 0.1.1-1
- Auto notes
- Option to turn on/off display blanking
- Higlight finsihed buttons
- Fixed adding notes to non empty cells
- Bugfixes / Improvements

* Wed Dec 29 2021 Samuel Kron <> 0.1.0-1
- Initial release



dimoon91's picture

Потратил некоторое время, чтобы разобраться с управлением и настройками. Игра очень классная! Спасибо!

mz_i_norge's picture

This is the best available Sudoku for Sailfish. The help-function is amazing. Thumbs up! Thanks for publishing. 5* from me. :-)

werdinand's picture

I've got two feature request or ideas:

- Option to add auto notes in the middle of a game.

- Instead of generating a puzzle, an option to insert (or create) your own puzzle and then solve it. The app is much more comfortable and with better user interface than paper :P

rob_k's picture

Is there always a logical solution? Sometimes at the insane level my only solution is to try something. (The bookmarks are great for that!) But if there is always a puzzle trail that may be followed, it means I have to learn some new tactics...

werdinand's picture

I've had the same question. Sometimes the insane level feels easy but sometimes impossible. So I've tried couple of impossible ones with online sudoku solver ( and looks like there is a logical solution but it doesn't need only "tough strategies" but also "diabolical" ones. 

black_sheep_dev's picture

Thats why I called it insane ;-).
There is allways a solution. The only way to influence the difficulty of game is to remove a defined number of cells.

objectifnul's picture

Erased harbour-aenigma-fr.qm as it's full of mistakes, don't know how to fix them.

black_sheep_dev's picture

Thanks for reporting this.
You can support translation here:

ninepine's picture

Thank you for this App @black_sheep_dev it is really great and annoyingly addictive!

My only request is that the final screen, as well as showing your time etc., also shows the Level that you were playing the game at e.g. Insane

Thanks again!

werdinand's picture

For me the app doesn't start any more. I tried to start a new game on insane difficulty and with automatic notes (or whatever that was called). After that the game was generating several second, I got bored and closed the app and now it doesn't start. I've tried to reinstall but with no luck. Also couldn't find the app location to delete the confic files manually. Mashka doesn't find the game also.

black_sheep_dev's picture


thank you for your report. There is no config file because everything is stored in Nemo.Configuration.
You can reset the complete app with "dconf reset -f /apps/harbour-aenigma/" from console.
But I don't believe it is the problem. It can happen that a sudoku has no solution, and the process doesn't end. The generation is done in an other thread to keep UI responsive. I think the app is still active in background and so you can not start it again. Does a phone restart helps?
Nevertheless I will add a breakpoint after a defined number of retries, do let this don't happen again.

werdinand's picture

You're right - the app was still active in the background and after killing that process the app starts just fine. Thank you!

achilles07's picture

Thanks for the new year gift.

rob_k's picture

Great stuff, thank you!

black_sheep_dev's picture

Thank you!

olf's picture

Fails to install on SFOS 3.2.1, unfortunately.
Is there a real functional dependency, or just the SDK target chosen?

black_sheep_dev's picture

Hi there,
I build the package with 4.3 target. On my Jolla with 3.4 it works.
The only dependency is the Nemo Keepalive thing to prevent display blanking
Used some c++11 functions in code.
Can you please try to install it over console to get some log whats going wrong?

slava's picture

And libkeepalive >= 1.7.0 requirement could be a show stopper for 3.0, let alone earlier versions of SFOS. That's why I wrote this instead.

black_sheep_dev's picture


does this work with Sailjail? I failed to get DBus work with sailjailed apps, and this one uses DBus. Could this be a show stopper for newer Versions (4.4+)?

slava's picture

AFAICT that libkeepalive thing works more or less the same way as my code, i.e. making the same D-Bus calls. Meaning that either both would work under SailJail or both won't. Since is allowed in Harbour, I would expect it to work but after openssl 1.0 removal I'm no longer sure about anything...

slava's picture

Sailfish OS 3.0:

Fatal error: nothing provides needed by harbour-aenigma-0.1.0-1.armv7hl

black_sheep_dev's picture

Will try to build it with an older target. May I provide you a link for testing?

slava's picture

FYI, quite a few legacy SDK versions are available in Sailfish OS public OBS:

The oldest one is

slava's picture

Build 0.1.2 fails to install with a slightly different dependency error:

Fatal error: nothing provides needed by harbour-aenigma-0.1.2-1.armv7hl

I tried to build it in OBS against older targets - all builds fail, some with nothing provides pkgconfig(sailfishsilica), some with could not exec '/usr/lib/qt5/bin/lrelease': No such file or directory

black_sheep_dev's picture

Hi there,

replaced all std:: functions with own / Qt ones. Maybe now it works with older versions?!?

slava's picture

It looks like you have unnecessary BuildRequires: pkgconfig(sailfishsilica) in your spec but don't have the necessary BuildRequires: qt5-qttools-linguist.

olf's picture

@slava & @black_sheep_dev: On SFOS 3.2.1 the same dependency error is triggered, and sure I am willing to test, too (given that I notice the link posted here).

slava's picture

Sure, why not. Glad to help (if I don't miss the notification)