Don't want to see articles from a certain category? When logged in, go to your User Settings and adjust your feed in the Content Preferences section where you can block tags!
Fairtris 2
wvstolzing Apr 26
I found out about this recently, and thought I'd let you guys know. There's a NES Tetris clone, written in FreePascal, called 'Fairtris' that runs on SDL2. I've come to favor this over the NES ROM I'd been playing on Nestopia.

They've recently released a new version for it, with subtle enhancements that are explained in detail in the readme:

https://github.com/furious-programming/Fairtris-2-UC

(The first version of the game has been taken down for some reason, but a fork can still be found here, with patches that make building a Linux native binary more convenient: https://github.com/chronoscz/Fairtris)

To build it you need to install the FreePascal IDE called 'Lazarus' -- it's on the official repos of pretty much every mainstream distro: https://repology.org/project/lazarus/versions

A very minor patch needs to be applied to make the Linux build work properly -- & it's possible to apply the same change via the Lazarus GUI (the cog/wrench icon next to the play button; 'Config and Target' heading; 'Target OS' tab):

 
diff --git a/source/Fairtris.Main.lpi b/source/Fairtris.Main.lpi
index 4739517..28915b5 100644
--- a/source/Fairtris.Main.lpi
+++ b/source/Fairtris.Main.lpi
@@ -45,6 +45,8 @@
           </SearchPaths>
           <CodeGeneration>
             <SmartLinkUnit Value="True"/>
+            <TargetCPU Value="x86_64"/>
+            <TargetOS Value="linux"/>
             <Optimizations>
               <OptimizationLevel Value="3"/>
             </Optimizations>
@@ -55,11 +57,6 @@
               <RunWithoutDebug Value="True"/>
             </Debugging>
             <LinkSmart Value="True"/>
-            <Options>
-              <Win32>
-                <GraphicApplication Value="True"/>
-              </Win32>
-            </Options>
           </Linking>
           <Other>
             <WriteFPCLogo Value="False"/>


AFAICT the only runtime requirement is SDL2; the FreePascal bindings are all included in the game repo.

Unfortunately the 2nd version of the game launches only on X11. The first launches fine on XWayland too.

Last edited by wvstolzing on 26 April 2024 at 8:20 pm UTC
whizse Apr 26
Pretty neat, nice find!

Quoting: wvstolzingdiff --git a/source/Fairtris.Main.lpi b/source/Fairtris.Main.lpi
index 4739517..28915b5 100644
--- a/source/Fairtris.Main.lpi
+++ b/source/Fairtris.Main.lpi
@@ -45,6 +45,8 @@
</SearchPaths>
<CodeGeneration>
<SmartLinkUnit Value="True"/>
+ <TargetCPU Value="x86_64"/>
+ <TargetOS Value="linux"/>
<Optimizations>
<OptimizationLevel Value="3"/>
</Optimizations>
@@ -55,11 +57,6 @@
<RunWithoutDebug Value="True"/>
</Debugging>
<LinkSmart Value="True"/>
- <Options>
- <Win32>
- <GraphicApplication Value="True"/>
- </Win32>
- </Options>
</Linking>
<Other>
<WriteFPCLogo Value="False"/>
Your first Linux port?

Quoting: wvstolzingUnfortunately the 2nd version of the game launches only on X11. The first launches fine on XWayland too.
I only made a quick test with Weston, but it seems to run fine here, both in Xwayland and natively in Weston.
wvstolzing Apr 26
Quoting: whizsePretty neat, nice find!

Quoting: wvstolzingdiff --git a/source/Fairtris.Main.lpi b/source/Fairtris.Main.lpi
index 4739517..28915b5 100644
--- a/source/Fairtris.Main.lpi
+++ b/source/Fairtris.Main.lpi
@@ -45,6 +45,8 @@
</SearchPaths>
<CodeGeneration>
<SmartLinkUnit Value="True"/>
+ <TargetCPU Value="x86_64"/>
+ <TargetOS Value="linux"/>
<Optimizations>
<OptimizationLevel Value="3"/>
</Optimizations>
@@ -55,11 +57,6 @@
<RunWithoutDebug Value="True"/>
</Debugging>
<LinkSmart Value="True"/>
- <Options>
- <Win32>
- <GraphicApplication Value="True"/>
- </Win32>
- </Options>
</Linking>
<Other>
<WriteFPCLogo Value="False"/>
Your first Linux port?

See, it's *that* simple -- if only detractors like Tim Sweeney understood that.

QuoteI only made a quick test with Weston, but it seems to run fine here, both in Xwayland and natively in Weston.

So it might be a Plasma 6 / Wayland problem.

-- EDIT: It runs fine on Sway, but not labwc; both wlroots compositors w/ the default Fedora configurations. Weird.

Last edited by wvstolzing on 27 April 2024 at 12:04 am UTC
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.