# Gaming in Rocky

**URL:** <https://forums.rockylinux.org/t/gaming-in-rocky/5693>\
**Category:** Off-Topic\
**Created:** [March 23, 2022, 6:33pm UTC](https://forums.rockylinux.org/t/gaming-in-rocky/5693 "2022-03-23T18:33:22Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![FrankCox](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.rockylinux.org/frankcox/32/1572_2.png) [@FrankCox](https://forums.rockylinux.org/u/FrankCox)\
**Post date:** [March 30, 2022, 10:26pm UTC](https://forums.rockylinux.org/t/gaming-in-rocky/5693/22 "2022-03-30T22:26:27Z")

</div>

It isn’t that hard.

See my previous posts in this thread. 🙂

---

<div class="post-metadata">

**Author:** ![gerry666uk](https://avatars.discourse-cdn.com/v4/letter/g/dbc845/32.png) [@gerry666uk](https://forums.rockylinux.org/u/gerry666uk)\
**Post date:** [March 31, 2022, 6:32pm UTC](https://forums.rockylinux.org/t/gaming-in-rocky/5693/23 "2022-03-31T18:32:40Z")

</div>

If you want to build and play the AisleRiot card game follow the steps below. This is using only official Rocky repos, 100% open source, and avoids installing to system locations. In other words this is the safe way to do it.

Gnome projects tend to follow a pattern, and you’ll be able to build other Gnome projects by understanding this one.

---

<div class="post-metadata">

**Author:** ![gerry666uk](https://avatars.discourse-cdn.com/v4/letter/g/dbc845/32.png) [@gerry666uk](https://forums.rockylinux.org/u/gerry666uk)\
**Post date:** [March 31, 2022, 6:37pm UTC](https://forums.rockylinux.org/t/gaming-in-rocky/5693/24 "2022-03-31T18:37:57Z")

</div>

**Step #1 - Technology used**

GDK (GIMP Drawing Kit)  
GTK (GIMP ToolKit)  
GIO (Gnome Input/Output)  
GSettings (remembers the size of the AisleRiot window)  
GLib.KeyFile (store game settings in the homedir)  
GObject (used in Gnome projects as a kind of object orientation  
hard to write, but can be called e.g. from Python with introspection)  
Guile and Scheme (language used for the actual card games)

---

<div class="post-metadata">

**Author:** ![gerry666uk](https://avatars.discourse-cdn.com/v4/letter/g/dbc845/32.png) [@gerry666uk](https://forums.rockylinux.org/u/gerry666uk)\
**Post date:** [March 31, 2022, 6:41pm UTC](https://forums.rockylinux.org/t/gaming-in-rocky/5693/25 "2022-03-31T18:41:36Z")

</div>

**Step #2 - Install packages from official Rocky repos**

as root

make sure powertools repo is enabled

```auto
dnf repolist
dnf config-manager --set-enabled "powertools"

```

make sure dev tools are installed  
`dnf group install "Development Tools"`

install packages needed to build software in general

```auto
dnf install pkgconf-pkg-config
dnf install ninja-build
dnf install platform-python-devel
dnf install python36-devel
	python36, [d][e]
dnf install meson
dnf install glib2-devel
	baseos
dnf install gtk3-devel.x86_64
	appstream

```

install packages needed to build AisleRiot

```auto
dnf install libappstream-glib-devel
dnf install cairo-devel
dnf install GConf2-devel
dnf install glib2-devel
dnf install gtk3-devel
dnf install guile-devel
dnf install libcanberra-devel
//skip 'qt5-qtsvg-devel' and use librsvg2 instead
dnf install librsvg2-devel

```

still as root, create a directory for building software  
`mkdir -p /data/build`  
set permissions to allow create/read/write/delete for standard user  
log out of being root

**Step #3 - Build (and then play) the AisleRiot game**

this part does NOT need root  
as standard user

`cd /data/build`  
decide git or tar?  
the tarballs are too old, so we need to use git version which has tar.gz download option  
`wget "https://gitlab.gnome.org/GNOME/aisleriot/-/archive/master/aisleriot-master.tar.gz"`  
make sure it looks correct  
`ls -l aisleriot-master.tar.gz`  
extract it  
`tar -xf aisleriot-master.tar.gz`  
change to the extracted directory  
`cd /data/build/aisleriot-master`  
create two directories, one for building, one for “installing”

```auto
mkdir builddir/
mkdir inst/

```

configure it  
`meson setup builddir --prefix /data/build/aisleriot-master/inst/usr/local -Dtheme_kde_path=/usr/share/carddecks`

install it as standard user without affecting any system locations

```auto
meson install -C builddir
echo $?

```

start the game  
set the xdg data dirs, ‘glib-2.0/schemas’ will be added to the end of the path

```auto
cd /data/build/aisleriot-master
XDG_DATA_DIRS+=:inst/usr/local/share inst/usr/local/bin/sol

```

inside the game  
you might want “Control : Click to move”

**Step #4 - to uninstall later**

remove the conf file from homedir

```auto
cat ~/.config/gnome-games/aisleriot
rm ~/.config/gnome-games/aisleriot

```

delete everything in ‘builddir’ and ‘inst’

```auto
cd /data/build/aisleriot-master
rm -rf inst/
rm -rf builddir/

```

---

<div class="post-metadata">

**Author:** ![pajamian](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.rockylinux.org/pajamian/32/715_2.png) [@pajamian](https://forums.rockylinux.org/u/pajamian)\
**Post date:** [April 1, 2022, 4:50am UTC](https://forums.rockylinux.org/t/gaming-in-rocky/5693/26 "2022-04-01T04:50:14Z")

</div>

This is really not a good idea. If you want to build this package yourself then do it properly with package sources and using mock for the build, then you don’t end up having to dig through and manually install a bunch of build dependencies like this on your system and you don’t result with files splattered all over the place on your system without decent management in place

---

<div class="post-metadata">

**Author:** ![FrankCox](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.rockylinux.org/frankcox/32/1572_2.png) [@FrankCox](https://forums.rockylinux.org/u/FrankCox)\
**Post date:** [April 1, 2022, 7:36am UTC](https://forums.rockylinux.org/t/gaming-in-rocky/5693/27 "2022-04-01T07:36:43Z")

</div>

I still don’t understand why there’s all of this gyration going on.

Download the src.rpm that I mentioned above.

Do this:

as root:  
dnf install rpmdevtools  
dnf builddep aisleriot-3.22.9-3.fc32.src.rpm  
exit root, do the following as user:  
rpmdev-setuptree  
rpmbuild --rebuild aisleriot-3.22.9-3.fc32.src.rpm

That’s literally the entire list of commands that you need to type. The first line installs the basic toolset to allow you to build rpm’s in your home directory, the second command finds and installs all of the development dependencies that aisleriot requires for compiling it, the third command sets up the build tree in your home directory and the fourth command compiles the src.rpm into an executable rpm that you can install and use after it’s finished.

---

<div class="post-metadata">

**Author:** ![gerry666uk](https://avatars.discourse-cdn.com/v4/letter/g/dbc845/32.png) [@gerry666uk](https://forums.rockylinux.org/u/gerry666uk)\
**Post date:** [April 1, 2022, 3:20pm UTC](https://forums.rockylinux.org/t/gaming-in-rocky/5693/28 "2022-04-01T15:20:10Z")

</div>

> [@pajamian](#):
>
> result with files splattered all over the place on your system

In the three steps above, you don’t ned to install any files to any system location, and they are all in one safe place, which you can delete at any time.

> [@pajamian](#):
>
> do it properly with package sources

yes, but which package sources and from where?

---

<div class="post-metadata">

**Author:** ![FrankCox](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.rockylinux.org/frankcox/32/1572_2.png) [@FrankCox](https://forums.rockylinux.org/u/FrankCox)\
**Post date:** [April 1, 2022, 4:07pm UTC](https://forums.rockylinux.org/t/gaming-in-rocky/5693/29 "2022-04-01T16:07:41Z")

</div>

> yes, but which package sources and from where?

As I’ve stated previously in this thread (repeatedly).

aisleriot-3.22.9-3.fc32.src.rpm

That’s the one that I’ve compiled here with no issues arising.

Google can find you many places to download that src.rpm from.

Simply go go [google.com](http://google.com) and enter the name of that rpm (exactly, including everything from aisleriot to rpm) and you will see several links that will allow you to download that rpm. I see ten on that google search and there are probably more if you look in other places as well.

Download that rpm from you choice of those links (you can even download it from more than one of those links and compare them with cmp or sha256sum if you’re concerned about possible tampering) and then follow the steps that I posted just above this and you’ll be all set.

---

<div class="post-metadata">

**Author:** ![jlehtone](https://avatars.discourse-cdn.com/v4/letter/j/e9a140/32.png) [@jlehtone](https://forums.rockylinux.org/u/jlehtone)\
**Post date:** [April 1, 2022, 4:57pm UTC](https://forums.rockylinux.org/t/gaming-in-rocky/5693/30 "2022-04-01T16:57:29Z")

</div>

@pajamian and @gerry666uk are talking more generally, not just about ‘aisleriot’.

There are a lot of problem-domain specific (academic) programs that are not available as RPM, source nor built.  
Frankly, I would not let them near admin privileges even on a good day.

Furthermore, users might need multiple versions – for repeatablility of old results. So, one would need “Software Collections” type packaging. Hence, HPC clusters tend to use _environment modules_.

---

<div class="post-metadata">

**Author:** ![FrankCox](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.rockylinux.org/frankcox/32/1572_2.png) [@FrankCox](https://forums.rockylinux.org/u/FrankCox)\
**Post date:** [April 1, 2022, 5:20pm UTC](https://forums.rockylinux.org/t/gaming-in-rocky/5693/31 "2022-04-01T17:20:06Z")

</div>

I try to either find or make a src.rpm for everything that I install on my systems. It’s not too often that I have to make one up from scratch but occasionally I have to do a bit of editing on the spec file or add a patch file of some kind to the compilation process specified in the rpm, but in most cases it’s not all that painful to do.

I dislike having random binaries on my systems that aren’t accounted for as part of the rpm ecosystem and try to avoid them as much as possible.

Tasks of this nature seem to come in two varieties: relatively simple and absolutely impossible. I try to avoid the absolutely impossible ones, of course. 🙂

Having said that, I do use appimages for scribus, fbreader and musescore since they’re not particularly easy to install on Rocky otherwise. They do work well as appimages and since they’re self-contained they don’t scatter random bits of whatever across my systems so I’m happy enough with that solution in those cases.

---

<div class="post-metadata">

**Author:** ![gerry666uk](https://avatars.discourse-cdn.com/v4/letter/g/dbc845/32.png) [@gerry666uk](https://forums.rockylinux.org/u/gerry666uk)\
**Post date:** [April 3, 2022, 3:02pm UTC](https://forums.rockylinux.org/t/gaming-in-rocky/5693/32 "2022-04-03T15:02:33Z")

</div>

> [@FrankCox](#):
>
> aisleriot-3.22.9-3.fc32.src.rpm

But, as explained above, this is out-of-date, and will probably never be updated, and telling people to “use google” isn’t helpful, nor is telling them to “use mock”, at least in the context of the original poster, who probably isn’t planning to build lots of packages for a repo like ‘epel’.

It does raise an interesting question though, about where something like AisleRiot would be made available to Rokcy, e.g. RedHat probably would not allow it in the official default repos.

---

<div class="post-metadata">

**Author:** ![jlehtone](https://avatars.discourse-cdn.com/v4/letter/j/e9a140/32.png) [@jlehtone](https://forums.rockylinux.org/u/jlehtone)\
**Post date:** [April 3, 2022, 5:47pm UTC](https://forums.rockylinux.org/t/gaming-in-rocky/5693/33 "2022-04-03T17:47:41Z")

</div>

> [@gerry666uk](#):
>
> It does raise an interesting question though, about where something like AisleRiot would be made available to Rokcy, e.g. RedHat probably would not allow it in the official default repos.

What Red Hat includes for RHEL can be in “Rocky repos”.  
ELRepo maintains _extra drivers_.  
Remi’s repos have additional PHP versions.  
EPEL maintains _extra packages_.  
RPMFusion maintains packages, like codecs, that EPEL doesn’t wan’t to.

What other third-party repositories _with good reputation_ are there for EL8?

---

<div class="post-metadata">

**Author:** ![FrankCox](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.rockylinux.org/frankcox/32/1572_2.png) [@FrankCox](https://forums.rockylinux.org/u/FrankCox)\
**Post date:** [April 3, 2022, 7:44pm UTC](https://forums.rockylinux.org/t/gaming-in-rocky/5693/34 "2022-04-03T19:44:47Z")

</div>

Actually, it isn’t out of date.

I just downloaded aisleriot-3.22.9-8.fc35.src.rpm from a Fedora 35 archive.

It’s still version 3.22.9 and that is the current version. The -8 just means that it’s the 8th time it was recompiled for a newer version of Fedora. (There was a requirement for guile added at one point for reasons that I haven’t bothered to look into, but that doesn’t affect the actual program in question.)

Here is the changelog:

- Wed Jul 21 2021 Fedora Release Engineering [releng@fedoraproject.org](mailto:releng@fedoraproject.org) - 1:3.22.9-8

- Rebuilt for [Fedora 35 Mass Rebuild - Fedora Project Wiki](https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild)

- Wed Mar 03 2021 David King [amigadave@amigadave.com](mailto:amigadave@amigadave.com) - 3.22.9-7

- Require guile 2.2 (#1901347)

- Mon Jan 25 2021 Fedora Release Engineering [releng@fedoraproject.org](mailto:releng@fedoraproject.org) - 1:3.22.9-6

- Rebuilt for [Fedora 34 Mass Rebuild - Fedora Project Wiki](https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild)

- Fri Jul 31 2020 Fedora Release Engineering [releng@fedoraproject.org](mailto:releng@fedoraproject.org) - 1:3.22.9-5

- Second attempt - Rebuilt for  
[Fedora 33 Mass Rebuild - Fedora Project Wiki](https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild)

- Mon Jul 27 2020 Fedora Release Engineering [releng@fedoraproject.org](mailto:releng@fedoraproject.org) - 1:3.22.9-4

- Rebuilt for [Fedora 33 Mass Rebuild - Fedora Project Wiki](https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild)

- Tue Jan 28 2020 Fedora Release Engineering [releng@fedoraproject.org](mailto:releng@fedoraproject.org) - 1:3.22.9-3

- Rebuilt for [Fedora 32 Mass Rebuild - Fedora Project Wiki](https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild)

- Tue Sep 17 2019 Kalev Lember [klember@redhat.com](mailto:klember@redhat.com) - 1:3.22.9-2

- Disable GConf support

- Mon Sep 09 2019 Kalev Lember [klember@redhat.com](mailto:klember@redhat.com) - 1:3.22.9-1

- Update to 3.22.9

The last update to aisleriot was to version 3.22 which is the same as the rpm that I posted here.

---

<div class="post-metadata">

**Author:** ![jsalpha2](https://avatars.discourse-cdn.com/v4/letter/j/5e9695/32.png) [@jsalpha2](https://forums.rockylinux.org/u/jsalpha2)\
**Post date:** [April 5, 2022, 3:50pm UTC](https://forums.rockylinux.org/t/gaming-in-rocky/5693/35 "2022-04-05T15:50:05Z")

</div>

FrankCox your link is gone. I tried adding the Nux repository, but did not install properly… Thanks

---

<div class="post-metadata">

**Author:** ![FrankCox](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.rockylinux.org/frankcox/32/1572_2.png) [@FrankCox](https://forums.rockylinux.org/u/FrankCox)\
**Post date:** [April 5, 2022, 4:28pm UTC](https://forums.rockylinux.org/t/gaming-in-rocky/5693/36 "2022-04-05T16:28:26Z")

</div>

Yeah, it turned into such an argument and nobody seemed to need, like or want the one that I had compiled so I took it off of my server again.

---

<div class="post-metadata">

**Author:** ![gerry666uk](https://avatars.discourse-cdn.com/v4/letter/g/dbc845/32.png) [@gerry666uk](https://forums.rockylinux.org/u/gerry666uk)\
**Post date:** [April 5, 2022, 7:21pm UTC](https://forums.rockylinux.org/t/gaming-in-rocky/5693/37 "2022-04-05T19:21:52Z")

</div>

Regarding the versions, you can compare these two forum posts

```auto
jlehtone, aisleriot-3.22.21-1.fc35.src.rpm, post from Mar 27
FrankCox, aisleriot-3.22.9-8.fc35.src.rpm, post from Apr 03

```

---

<div class="post-metadata">

**Author:** ![gerry666uk](https://avatars.discourse-cdn.com/v4/letter/g/dbc845/32.png) [@gerry666uk](https://forums.rockylinux.org/u/gerry666uk)\
**Post date:** [April 5, 2022, 7:36pm UTC](https://forums.rockylinux.org/t/gaming-in-rocky/5693/38 "2022-04-05T19:36:35Z")

</div>

The list of repos makes perfect sense, but I’m still not sure where a card game would end up? e.g. if we built it with Mock right now, how could we make it available to end users.

---

<div class="post-metadata">

**Author:** ![jsalpha2](https://avatars.discourse-cdn.com/v4/letter/j/5e9695/32.png) [@jsalpha2](https://forums.rockylinux.org/u/jsalpha2)\
**Post date:** [April 5, 2022, 9:07pm UTC](https://forums.rockylinux.org/t/gaming-in-rocky/5693/39 "2022-04-05T21:07:01Z")

</div>

FrankCox Thanks for trying to help. I don’t know how to PM on this forum. My computer was down for a while. I’m not a troll and did not want to cause an uproar.

---

<div class="post-metadata">

**Author:** ![jlehtone](https://avatars.discourse-cdn.com/v4/letter/j/e9a140/32.png) [@jlehtone](https://forums.rockylinux.org/u/jlehtone)\
**Post date:** [April 5, 2022, 10:02pm UTC](https://forums.rockylinux.org/t/gaming-in-rocky/5693/40 "2022-04-05T22:02:57Z")

</div>

“Anybody” can create a webpage. That is, a repo. Better yet, if you use Copr (link in earlier comment), it has Mock, servers to build on, and hosts your repo. “_Just provide src.rpm_”, they say. That side is “trivial”.

Which existing and trusted repository would be both able (within their policies and resources) and willing to maintain a package like aisleriot? Frankly, I have not looked up what stance those listed repos have, except that RPM Fusion has both “free” and “nonfree” repos and that ELRepo builds package from NVidia’s binary blob.

---

<div class="post-metadata">

**Author:** ![gerry666uk](https://avatars.discourse-cdn.com/v4/letter/g/dbc845/32.png) [@gerry666uk](https://forums.rockylinux.org/u/gerry666uk)\
**Post date:** [April 9, 2022, 9:40pm UTC](https://forums.rockylinux.org/t/gaming-in-rocky/5693/41 "2022-04-09T21:40:20Z")

</div>

Following Steps 1-3 above, I have also been able to build and run ‘gnome-chess’. It only took about ten minutes, becuase gnome projects tend to follow the same pattern.

One thing I had to add was ‘vala.x86\_64’ from the ‘powertools’ repo. This uses the same GObject system as AisleRiot, but uses ‘vala’ as the object oriented high level language.

The exact path to the source code that I used:  
`wget "https://gitlab.gnome.org/GNOME/gnome-chess/-/archive/3.37.2/gnome-chess-3.37.2.tar.gz"`

[Previous page](https://forums.rockylinux.org/t/gaming-in-rocky/5693.md?page=1)

[Next page](https://forums.rockylinux.org/t/gaming-in-rocky/5693.md?page=3)
