This adds the following pages:
The landing page (/)
The pricing page (/pricing)
The contact page (/contact)
The changelog page (/changelog)
Terms Of Service page (/terms)
Privacy Policy (/privacy)
This script might be broken, I'm in school right now, so I can't test it
at the moment. I will soon
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
I have made a test installer script for locally hosting nestri.
Co-authored-by: Wanjohi <71614375+wanjohiryan@users.noreply.github.com>
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
1. Netris has been renamed and rebranded to Nestri.
2. New Logo and colors, plus a new Philosophy and mission(more on that
later)
3. We are moving all different repos into this one - which means API,
Docker, Website, Docs etc will be moved here
## Description
Adds new `-device` argument for gpu-screen-recorder which allows
specifying a GPU to use (by `/dev/dri/cardN` path)
This fixes an issue with multi-gpu systems when device such as
`/dev/dri/card1` is passed through but gpu-screen-recorder will still
try to access `/dev/dri/card0` for capturing and failing.
Added relevant bits to `gpu_helpers.sh` to find the card path - I assume
all modern modesetting drivers will have a `/drm/` path that tells the
card number. If not, the script will fall back to gpu-screen-recorder's
own method of finding the card.
Edit: Forgot to mention patches are now copied to /tmp/ rather than
/etc/
Co-authored-by: Kristian Ollikainen <DatCaptainHorse@users.noreply.github.com>
## Description
### This is a DRAFT - Changes will be discussed and made upon requests!
In nutshell, this adds support for running Nestri with Intel and AMD
GPU's. Both integrated and dedicated.
It took a few days to find a trick for having output without dummy plugs
or connected displays, but I think I got it.
`gpu-screen-recorder` requires a custom patch to skip the check for
connected displays (as we're using a xrandr workaround which makes them
stay "unconnected")
Most likely fixes#68
### Changes
The NVIDIA sections have been split in their own code branches since
there's some NVIDIA specific things I didn't feel approriate to poke
more than necessary for the goal of this PR.
Added a script with helper functions related to GPU discovery and
gathering some basic info off from them (note: it might be better to
declare the helper script arrays outside it's initially run function).
The helper scripts rely on `lshw`.
NVIDIA code was slightly adjusted to use the bus-id's provided by the
helper functions to have some code re-use.
Cleaned up few things on the side.
---------
Co-authored-by: Kristian Ollikainen <DatCaptainHorse@users.noreply.github.com>
Co-authored-by: Wanjohi <71614375+wanjohiryan@users.noreply.github.com>
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
We are adding an option to start the Nestri server (omg almost called it
Netris :) using a cli
The idea is to reduce the friction of starting up the service and
running it, this includes:
1. Installing and configuring the Windows executables for the game
2. Running the game on a linux machine
3. Preparing the host system i.e configuring Docker, Nvidia
{Drivers,CUDA} etc etc
Bumps [moq-server](https://github.com/kixelated/moq-rs) from `a6b1d2b`
to `aedb284`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="aedb284ac8"><code>aedb284</code></a>
Remove unneeded build-deps</li>
<li><a
href="d73744b230"><code>d73744b</code></a>
Add required version for moq-sub</li>
<li><a
href="e661e52a79"><code>e661e52</code></a>
moq-sub (updated) (<a
href="https://redirect.github.com/kixelated/moq-rs/issues/170">#170</a>)</li>
<li>See full diff in <a
href="a6b1d2b63a...aedb284ac8">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
PR labeler does not work on PR forks, still... I dunno why
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
Well, we figured out the first part(PR TITLE) and forgot about the
labelling part. 😅 Consult #87 for more info
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
We are using my personal account key to do autolabelling. This used to
work when the project was under my personal, but now it breaks whenever
some 3rd party tries to open a PR
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
Supervisord fails to run as user `netris` no longer exists. So we are
renaming all occurrences of old username with new username `nestri`
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
This PR is the first in a series of PRs trying to solve the issue #48 by
renaming `Netris` to `Nestri` to avoid Trademark legal issues.
Bumps [moq-server](https://github.com/kixelated/moq-rs) from `4ad3c77`
to `1230cd6`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1230cd6d67"><code>1230cd6</code></a>
filter DNS query results to only include addresses that our quic
endpoint can...</li>
<li><a
href="33b05a5266"><code>33b05a5</code></a>
Make listings accessible (<a
href="https://redirect.github.com/kixelated/moq-rs/issues/167">#167</a>)</li>
<li>See full diff in <a
href="4ad3c77785...1230cd6d67">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
Update the README to show how to how to run Netris.
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
This is a catch all PR that tries to smooth out the creases found while
playing using Netris.
What i have found so far:
1. Change `NAME` environment to `SESSION_ID` for warp server.
2. Run `entrypoint.sh` and `warp-input` as user `netris`
3. Netris-proton is broken, it quits prematurely. I think it has to be a
problem with a missing wine installation
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
`Warp-input` server errors out when the namespace or `session_id` has
not yet been created on our relay.
This is a problem, as we do not know when the user will start playing.
The idea is to have the bin/input run both a server and a client at the
same time. Which can be used to then transmit bidirectional information.
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
We need to remove the inputtino server, and replace it with `warp-input`
server, which is developed in-house and it works.
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
We start the container using supervisord, which is limiting as the user
has no way of telling the container what game to run. So, the idea is to
run like so: `docker run... ghcr.io/netrisdotme/netris/server:<tag>
netris-proton /game/yourgame.exe`
Co-authored by @djpremier
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
Currently, the container fails when trying to download drivers for a
container running non-proprietary Nvidia drivers. So, this is a fix
which searches for numbers rather than a fixed point in the string.
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
With help from @djpremier, rename `/usr/bin/netris/proton` as "the
script cannot be found in bash `(eg.: $ proton -r /games/AlanWake.exe)`
if it is in the subdirectory of /usr/bin, probably because it is found
in a subdir inside `/usr/bin` "
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
There is a bug whereby `netris/warp-input` does not build and deploy a
new nightly docker image when a pr is merged. This happens when there
are changes in `bin/input/**` directory, and this is not the expected
behaviour. So i added the directory back into the `warp-input.yml`
workflow file.
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
I am having issues trying to append `input` to the session_id using
bash. Most probably because supervisord is using the ENV variables
already available in the container. So, here we append the `input` part
inside the rust binary instead. This is much cleaner and it works.
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
`warp-input.yml` workflow was not getting invoked on push. So, I change
the `Github Token` which has broader permissions.
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
Well, I tried doing a release and it did not go as expected, due to some
issues with the git_token plus concurrency. So, i have fixed that... let
us do a re-release.
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
So, we need a README.md at the root of the project, to at least welcome
anyone who might be interested in the project.
It should have:
- [ ] link to the `/play` endpoint to get a `session_id` for starting up
the server.
- [ ] (basic) info about how it works
- [ ] features
- [ ] images and/or gifs showcasing the project
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
There seems to be a problem with auto-labeler labelling `type:docs`. So
i am adding to check on the `docs/**` branch too and label that
accordingly.
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
We cannot use golang for our input binary as we will be redoing the
Webtransport stack, plus we will have to use CGO in-order to hook into
X11. Like what [neko](https://github.com/m1k1o/neko) does.
However, we could go down the Rust route, where X11 mouse/keyboard
drivers are in pretty, and moq-rs (the MoQ library using Webtransport)
works really well. So, that is what am trying to do here; implement
input using rust.
Bumps [moq-server](https://github.com/kixelated/moq-rs) from `2240008`
to `4ad3c77`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4ad3c77785"><code>4ad3c77</code></a>
Fix audio in the BBB demo. (<a
href="https://redirect.github.com/kixelated/moq-rs/issues/164">#164</a>)</li>
<li><a
href="129c373ca8"><code>129c373</code></a>
Remove Cargo.lock from moq-transport</li>
<li><a
href="fe33bcc6e2"><code>fe33bcc</code></a>
Initial gstreamer support (<a
href="https://redirect.github.com/kixelated/moq-rs/issues/163">#163</a>)</li>
<li>See full diff in <a
href="2240008c4e...4ad3c77785">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Co-authored-by: Wanjohi Ryan <71614375+wanjohiryan@users.noreply.github.com>
## Description
**What issue are you solving (or what feature are you adding) and how
are you doing it?**
Doing some ground work for the input server, here I am initializing a go
project. That's all
Bumps
[svenstaro/upload-release-action](https://github.com/svenstaro/upload-release-action)
from 2.7.0 to 2.9.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/svenstaro/upload-release-action/releases">svenstaro/upload-release-action's
releases</a>.</em></p>
<blockquote>
<h2>2.9.0</h2>
<ul>
<li>Allow seeting a release as draft <a
href="https://redirect.github.com/svenstaro/upload-release-action/pull/112">#112</a>
(thanks <a
href="https://github.com/ShonP40"><code>@ShonP40</code></a>)</li>
</ul>
<h2>2.8.0</h2>
<ul>
<li>Bump all deps</li>
<li>Update to node 20</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/svenstaro/upload-release-action/blob/master/CHANGELOG.md">svenstaro/upload-release-action's
changelog</a>.</em></p>
<blockquote>
<h2>[2.9.0] - 2024-02-22</h2>
<ul>
<li>Allow seeting a release as draft <a
href="https://redirect.github.com/svenstaro/upload-release-action/pull/112">#112</a>
(thanks <a
href="https://github.com/ShonP40"><code>@ShonP40</code></a>)</li>
</ul>
<h2>[2.8.0] - 2024-02-21</h2>
<ul>
<li>Bump all deps</li>
<li>Update to node 20</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="04733e069f"><code>04733e0</code></a>
This is 2.9.0</li>
<li><a
href="7b5b755e5b"><code>7b5b755</code></a>
Add CHANGELOG entry for <a
href="https://redirect.github.com/svenstaro/upload-release-action/issues/112">#112</a></li>
<li><a
href="17449a21ea"><code>17449a2</code></a>
Add draft release support (fixes <a
href="https://redirect.github.com/svenstaro/upload-release-action/issues/19">#19</a>)</li>
<li><a
href="ec2ff03a5a"><code>ec2ff03</code></a>
Amend CHANGELOG</li>
<li><a
href="ff23fb2574"><code>ff23fb2</code></a>
This is 2.8.0</li>
<li><a
href="8e438350b0"><code>8e43835</code></a>
Bump all deps</li>
<li><a
href="fe68892921"><code>fe68892</code></a>
Merge pull request <a
href="https://redirect.github.com/svenstaro/upload-release-action/issues/113">#113</a>
from svenstaro/dependabot/npm_and_yarn/babel/traverse...</li>
<li><a
href="a13e7b5d40"><code>a13e7b5</code></a>
Merge pull request <a
href="https://redirect.github.com/svenstaro/upload-release-action/issues/116">#116</a>
from der-eismann/update-to-node20</li>
<li><a
href="a4bae284e7"><code>a4bae28</code></a>
Update to node20</li>
<li><a
href="c19ddf4c20"><code>c19ddf4</code></a>
Bump <code>@babel/traverse</code> from 7.22.8 to 7.23.2</li>
<li>Additional commits viewable in <a
href="https://github.com/svenstaro/upload-release-action/compare/2.7.0...2.9.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [moq-server](https://github.com/kixelated/moq-rs) from `cb125c5`
to `f117206`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f1172065be"><code>f117206</code></a>
Bump h2 from 0.3.24 to 0.3.26 (<a
href="https://redirect.github.com/kixelated/moq-rs/issues/150">#150</a>)</li>
<li><a
href="076b66616b"><code>076b666</code></a>
Bump rustls from 0.21.1 to 0.21.11 in /moq-transport (<a
href="https://redirect.github.com/kixelated/moq-rs/issues/155">#155</a>)</li>
<li><a
href="b5dfc91c53"><code>b5dfc91</code></a>
Bump rustls from 0.21.7 to 0.21.11 (<a
href="https://redirect.github.com/kixelated/moq-rs/issues/156">#156</a>)</li>
<li><a
href="7b15078b41"><code>7b15078</code></a>
Add an index server (moq-dir) that lists all announcements (<a
href="https://redirect.github.com/kixelated/moq-rs/issues/160">#160</a>)</li>
<li><a
href="f2d14c3e25"><code>f2d14c3</code></a>
Use a separate job to publish crates. (<a
href="https://redirect.github.com/kixelated/moq-rs/issues/153">#153</a>)</li>
<li><a
href="e44994636b"><code>e449946</code></a>
Remove any boxed_local usages. (<a
href="https://redirect.github.com/kixelated/moq-rs/issues/159">#159</a>)</li>
<li>See full diff in <a
href="cb125c5b72...f1172065be">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Description
**What(what issue does this code solve/what feature does it add):**
Dependabot does not have a `build` semver type and it keeps triggering
the autolabeller. So, i added that in there, plus slimmed down the
pull_request_template as it required too much info, which made it too
cumbersome filling it
## Description
**What(what issue does this code solve/what feature does it add):**
**How(how does it solve it):**
## Required Checklist:
- [ ] I have added any necessary documentation and comments in my code
(where appropriate)
- [ ] I have added tests to make sure my code runs in all contexts
## Further comments
…devices
## Description
**What(what issue does this code solve/what feature does it add):**
Currently we get a permission error when trying to create a mouse.
On further investigation, we realise that we have to run
`/inputtino/input-server` as sudo/root.
**How(how does it solve it):**
## Required Checklist:
- [ ] I have added any necessary documentation and comments in my code
(where appropriate)
- [ ] I have added tests to make sure my code runs in all contexts
## Further comments