693 Commits

Author SHA1 Message Date
gouchi
01b849a518 README.md: add RetroArch to other apps section
[Source](https://github.com/libretro/RetroArch/pull/13339)
2022-07-15 14:11:23 +01:00
Sam Gleske
b8fa857b35 Fix GitHub Actions Static Analyzer Check
Dockerfile
----------

This dockerfile was used to emulate GitHub actions.

<details><summary>Dockerfile source (click to expand)</summary>

```dockerfile
FROM ubuntu:20.04

ENV DEBIAN_FRONTEND=noninteractive

RUN set -ex; \
apt-get update; \
apt-get install -y build-essential meson appstream clang clang-format clang-tools libdbus-1-dev libinih-dev libsystemd-dev git

RUN set -ex; \
yes | adduser ci-user

USER ci-user
```

</details>

Commands to reproduce
---------------------

I simulated GitHub actions with a local docker environment.

    docker build -t ci .

I ran the following commands to reproduce the issue so that I could bugfix the static analyzer script.

```bash
docker run -e CI=true --rm -v "$PWD:$PWD" -w "$PWD" --init ci ./scripts/static-analyser-check.sh
docker run -e CI=true --rm -v "$PWD:$PWD" -w "$PWD" --init ci ./bootstrap.sh -Dwith-examples=true
docker run --rm -v "$PWD:$PWD" -w "$PWD" --init ci meson test -C builddir
docker run --rm -v "$PWD:$PWD" -w "$PWD" --init ci dbus-run-session -- gamemode-simulate-game
docker run --rm -v "$PWD:$PWD" -w "$PWD" --init ci ./scripts/static-analyser-check.sh
```

All commands reuse the same workspace which is how it works in GH actions.

Legitimate bugs
---------------

Now the error displayed in build failure appears to be a legitimate bug.  Four were found related to null pointer dereference.  I'm not fixing the bug but the check should work properly for those who do.

If you following my docker setup in this description you can view the bug report by starting the report server.

```bash
docker run -p 127.0.0.1:8181:8181 -it --rm -v "$PWD:$PWD" -w "$PWD" --init ci scan-view --host 0.0.0.0 --allow-all-hosts builddir/meson-logs/scanbuild/*
```

After the report server is started you can visit `http://127.0.0.1:8181/` to view the bugs.

Screenshot of report
--------------------

![Screenshot of bug report](https://user-images.githubusercontent.com/875669/155830028-473db1ea-7c98-4a82-bc3a-290d5c155108.png)
2022-03-10 10:40:45 +00:00
Sam Gleske
23493e5cc3 Fix GitHub Actions Format Check
This change fixes the format check in GitHub actions ran by `clang-format`.

Dockerfile

```dockerfile
FROM ubuntu:20.04

ENV DEBIAN_FRONTEND=noninteractive

RUN set -ex; \
apt-get update; \
apt-get install -y build-essential meson appstream clang clang-format clang-tools libdbus-1-dev libinih-dev libsystemd-dev git

RUN set -ex; \
yes | adduser ci-user

USER ci-user
```

Environment setup

```bash
sudo su -g docker $USER
docker build -t ci .
```

clang-format fix

```bash
docker run -e CI=true --rm -v "$PWD:$PWD" -w "$PWD" --init ci ./scripts/format-check.sh
```
2022-02-21 09:51:59 +00:00
Sam Gleske
c96f7379b4
New utility: gamemodelist (#346)
* New utility: gamemodelist

While trying out gamemode on Ubuntu 18.04 I had trouble figuring out
whether or not my games were running with gamemode enabled.  I wrote this
utility which prints all processes loaded with the gamemode shared
library.

- [x] Added utility to `data/` folder.
- [x] Update meson installer.
- [x] Included section 1 manual.
- [x] Updated README for Ubuntu 18.04 build instructions.  Steam supports
  Ubuntu 18.04.

I'm open to feedback and generally this should work for any distrobution
since it makes use of the Linux `/proc` filesystem.  [Learn more about
`/proc`][1].

[1]: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/Documentation/filesystems/proc.rst?h=v5.15.12
2022-02-21 09:50:57 +00:00
Emil Velikov
898feb9c52 data: add and install sysusers.d gamemode.conf
Add a trivial gamemode.conf file, which creates the gamemode group.

v2: git add gamemode.conf (d'oh)

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2022-02-03 16:50:29 +00:00
Stephan Lachnit
ab06ba419e Switch to GitHub Actions
Signed-off-by: Stephan Lachnit <stephanlachnit@debian.org>
2022-02-03 16:40:02 +00:00
Stephan Lachnit
6c60565f33 Format files according to clang-format
Signed-off-by: Stephan Lachnit <stephanlachnit@debian.org>
2022-02-03 16:40:02 +00:00
Kira Bruneau
5e366bd55d Fix loading shipped config when using a prefix other than /usr
Also remove recommendation to modify `/usr/share/gamemode/gamemode.ini`.
`/usr/share` is intended to contain read-only data files.

See https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s11.html.
2022-02-03 16:02:18 +00:00
Kira Bruneau
126e67fb6b Run executables from PATH instead of /usr/bin
Not all distributions install non-system binaries into /usr/bin. For
example, NixOS installs packages to /nix/store using a unique hash
generated from the inputs used to build it:

/nix/store/jld7jh3ilvbg91zvn1bdyawfc55b9jk8-polkit-0.118-bin/bin/pkexec
2022-02-03 15:42:22 +00:00
Patrick Pulfer
4000a32584 Documentation: Add GCC dependency to Ubuntu installation guide 2021-05-24 11:27:27 +01:00
Ahsan Fayaz
b11d2912e2 Update inih version in CHANGELOG.md 1.6.1 2021-02-18 19:00:12 +00:00
Ahsan Fayaz
0344e7c311 Specify the correct inih subproject directory. 2021-02-18 18:52:59 +00:00
Ahsan Fayaz
993857d0e8 Use inih r53 from wrapdb. Updated using the command 'meson subprojects update'. 2021-02-18 18:42:08 +00:00
Ahsan Fayaz
5fd0065df6 Update version to 1.6.1 2021-02-18 18:39:53 +00:00
Ahsan Fayaz
6592c2229c Update version references to 1.6.1 2021-02-16 16:12:29 +00:00
Ahsan Fayaz
05a4c0c152 Add changes for 1.6.1 2021-02-16 16:11:59 +00:00
Ahsan Fayaz
fb7062bd9c Update copyright year to 2021. 2021-02-04 13:24:59 +00:00
Stephan Lachnit
49a0ef8c0b minor metainfo improvements
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-11-18 12:33:38 +00:00
Stephan Lachnit
cfa8b9a2c4 Use inih r52 from wrapdb
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-11-06 11:30:26 +00:00
Ivan Tham
62659edd2b Gamemode is now available on Arch community repo
https://www.archlinux.org/packages/community/x86_64/gamemode/
2020-09-30 09:09:06 +01:00
otreblan
9037b730f6 Add libinih pacman dependency 2020-09-30 09:08:50 +01:00
Ahsan Fayaz
5f71f57db1 Update CHANGELOG.md for 1.6. 1.6 2020-09-18 15:03:00 +01:00
Michael Butler
17b2b6201b Update README.md to point to release 1.6 in instructions 2020-09-18 14:56:14 +01:00
Rémi Verschelde
832f9ab7e0 Fix installation of man pages in proper man dirs
See https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s11.html#usrsharemanManualPages
2020-09-14 10:18:53 +01:00
sgleizes
5163c01d24 Allow LD_PRELOAD overrides from GAMEMODERUNEXEC commands 2020-09-01 16:21:05 +01:00
Niels Thykier
3fcff0d75f Align open_fdinfo_dir with pidfds_to_pids
The function `pidfds_to_pids` expected `-1` if `open_fdinfo_dir` failed but the latter returned `errno` which is hard to distinguish from a valid file handle.  Correct that by making `open_fdinfo_dir` a wrapper around `open`.
2020-08-12 09:41:28 +01:00
Ahsan Fayaz
510a0a6ae2 Fix issues found by Coverity, closes #206. 2020-07-17 18:55:00 +01:00
Stephan Lachnit
f6c68cd6de change location for the shipped default config
Before it was installed to /etc, but according the daemon/gamemode-config.c line 381 the shipped config should be in /usr/share/gamemode

Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-07-09 08:14:09 +01:00
Stephan Lachnit
7a68a178ac simplify libgamemodeauto preloading
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-07-09 08:13:17 +01:00
Stephan Lachnit
8b408694b0 improve libgamemodeauto pkg-config file
Rename the pkg-config entry for libgamemodeauto, to it make it more that this will link against a library, compared to what the `gamemode` pkg-config does. This also removes the manual addition of the libdl dependency, this is done by Meson automatically.

Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-06-23 09:18:14 +01:00
Stephan Lachnit
d8337aeb05 various variable naming improvements
This makes it more clear that libgamemode and libgamemodeauto are indeed libraries. Also, the misleading name `libgamemode_dep` has been renamed to `gamemode_dep`, which now also includes the dependency on libdl. The misleading `libgamemode_includes` variable name has also been changed.

Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-06-23 09:18:14 +01:00
Stephan Lachnit
d4536c62af build gamemodeauto also as static library
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-06-23 09:18:14 +01:00
Stephan Lachnit
785df22274 travis: fix some config warnings
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-06-23 09:14:42 +01:00
Ahsan Hussain
8810e4f158 README.md: Update note for Nvidia Optimus proprietary driver users
Add a note for Nvidia hybrid graphics users, not having the opensource
nouveau driver, which can save them some time for searching the right
solution

Signed-off-by: Ahsan Hussain <ahsan_hussain@mentor.com>
2020-06-08 10:24:52 +01:00
RickAndTired
db7d52dbac Spelling / typo fix 2020-05-27 10:50:17 +01:00
Stephan Lachnit
3033867fc9 add man page for example game
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-27 10:49:36 +01:00
Stephan Lachnit
a48272ae61 fix incorrect name in gamemoderun man page
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-27 10:49:36 +01:00
Ahsan Fayaz
39f93e4000 Fix incorrect merge conflict resolution. 2020-05-26 17:43:23 +01:00
Stephan Lachnit
d27f8caecc improve path names for man pages and metainfo
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-26 12:53:21 +01:00
Stephan Lachnit
3d49f87308 configure version in man pages
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-26 12:53:21 +01:00
Ahsan Fayaz
d47dea92de Merge branch 'stephanlachnit-patch/mkrelease' 2020-05-26 12:50:10 +01:00
afayaz-feral
16ebc794c5 Merge branch 'master' into patch/mkrelease 2020-05-26 12:35:58 +01:00
Stephan Lachnit
082b1c6619 mkrelease.sh: get version via git
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-26 12:32:19 +01:00
Stephan Lachnit
937bcf3c73 remove gitignore
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-26 12:32:01 +01:00
Stephan Lachnit
e6355d91f4 simplify archive creation
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-20 18:05:37 +02:00
Stephan Lachnit
9ecff8d5d3 Meson: explicitly set include path
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-20 10:00:18 +01:00
Stephan Lachnit
9f676632c3 meson: ensure subprojects are up-to-date
... when creating the release tarball.

Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-19 16:35:00 +01:00
Stephan Lachnit
115f1ecdbd meson: use builddir instead of build
Use the -C option instead of changing the dir, change the build folder to builddir.

Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-19 16:35:00 +01:00
Stephan Lachnit
ce6485ef97 combine no-daemon, elogind and systemd option
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-19 16:27:51 +01:00
Stephan Lachnit
953792b4a5 Add option to use elogind
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-19 16:27:51 +01:00