## 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?**
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.
## 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?**
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?**
Doing some ground work for the input server, here I am initializing a go
project. That's all
…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
## Description
**What(what issue does this code solve/what feature does it add):**
We need to support feedback for mouse and keyboard.
**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
## 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
## Description
**What(what issue does this code solve/what feature does it add):**
Docker build server fails because `supervisord.conf` is getting copied
to a different directory other than `/etc`
**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
## 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
## Description
**What(what issue does this code solve/what feature does it add):**
We do not need the ffmpeg and recorder all sitting differently, as this
will increase our docker image size
**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
## 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
## Description
**What(what issue does this code solve/what feature does it add):**
We do not have a way to capture sound inside the container.
**How(how does it solve it):**
1. Install pulseaudio inside the container
2. Add an entrypoint.sh where we start the pulseaudio
## 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
## Description
**What(what issue does this code solve/what feature does it add):**
Add a way to configure the Nvidia GPU, by installing the necessary
packages for Proton to work.
**How(how does it solve it):**
We made a script `.scripts/gpu` when called like `gpu -c` it will
install Vulkan and proprietry nvidia drivers.
## 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
## Description
**What(what issue does this code solve/what feature does it add):**
We are adding the `Dockerfile` with all the scripts and programs to run
our games in.
**How(how does it solve it):**
1. Add `serverDockerfile` which contains all the docker code.
2. Add `.scripts` folder where we will store all the scripts; for
example in our case, where proton installation script will reside.
## 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