Commit Graph
16 Commits
Author SHA1 Message Date
b18b08b822 feat(runner): Rust updates and improvements (#196)
## Description
- Updates to latest Rust 2024 🎉
- Make DataChannel messages ordered on nestri-server side
- Bugfixes and code improvements + formatting

## Type of Change

- [x] Bug fix (non-breaking change)
- [x] New feature (non-breaking change)

## Checklist

- [x] I have updated relevant documentation
- [x] My code follows the project's coding style
- [x] My changes generate no new warnings/errors

---------

Co-authored-by: DatCaptainHorse <DatCaptainHorse@users.noreply.github.com>
Co-authored-by: Wanjohi <elviswanjohi47@gmail.com>
2025-03-01 21:57:54 +02:00
Kristian OllikainenandDatCaptainHorse 237e016b2d 🐜 fix(runner): Workarounds for NVIDIA drivers (#188)
#### Description

This PR will be fixing issue of runner not working under Ubuntu and
other Debian-based distros with NVIDIA GPUs.
Another fix will be arriving is allowing Steam to run without namespace
requirements, removing the need for `--privileged` flag in certain
situations.

#### Type of Change

- [x] Bug fix (non-breaking change)

---------

Co-authored-by: DatCaptainHorse <DatCaptainHorse@users.noreply.github.com>
2025-02-27 17:37:23 +02:00
Kristian OllikainenandDatCaptainHorse 7de6e243ed ⭐ feat(runner): DMA-BUF support (for NVIDIA) (#181)
Also includes other improvements and hopefully reducing LOC with some
cleanup.

---------

Co-authored-by: DatCaptainHorse <DatCaptainHorse@users.noreply.github.com>
2025-02-11 12:03:03 +02:00
Kristian OllikainenandDatCaptainHorse 4546eb6767 🐜 fix(runner): Workaround for NVIDIA driver issue (#180)
Co-authored-by: DatCaptainHorse <DatCaptainHorse@users.noreply.github.com>
2025-02-03 18:00:10 +02:00
Kristian OllikainenandDatCaptainHorse 9d084011a2 🐜 fix(runner): Add missing source copy for gst-wayland-display (#179)
Okay that is good now

Co-authored-by: DatCaptainHorse <DatCaptainHorse@users.noreply.github.com>
2025-02-01 18:15:03 +02:00
Kristian OllikainenandDatCaptainHorse 0642d0b787 🐜 fix(runner): gst-wayland-display directory fix (#178)
Co-authored-by: DatCaptainHorse <DatCaptainHorse@users.noreply.github.com>
2025-02-01 16:30:03 +02:00
Kristian OllikainenandDatCaptainHorse ec8d4f81da 🐜 fix(runner): Use proper directory (#177)
Co-authored-by: DatCaptainHorse <DatCaptainHorse@users.noreply.github.com>
2025-02-01 03:46:52 +02:00
Kristian OllikainenandDatCaptainHorse 421aa70a7b 🐜 fix(CI): Caching fixes and improvements (#176)
Fixes previous PR

---------

Co-authored-by: DatCaptainHorse <DatCaptainHorse@users.noreply.github.com>
2025-01-31 22:22:26 +02:00
Kristian OllikainenandDatCaptainHorse c14626b104 ⭐ feat(scripts): Auto-launch Steam (#173)
Woop

Co-authored-by: DatCaptainHorse <DatCaptainHorse@users.noreply.github.com>
2025-01-31 03:49:59 +03:00
Kristian Ollikainen 614bbbfce0 🐜 fix: a silly thing (#172) 2025-01-30 18:36:39 +02:00
431733a0e8 🐜 fix(scripts): Use class codes to check for lspci GPU devices (#168)
Fixes gpu_helpers returning "Non-VGA" devices as GPUs.

I was curious about DeepSeek's so I tried it's hand with this as my head
isn't quite up-to-speed yet 😅
But yeah it seems less error-prone than previous naive string-approach.

---------

Co-authored-by: DatCaptainHorse <DatCaptainHorse@users.noreply.github.com>
Co-authored-by: Wanjohi <elviswanjohi47@gmail.com>
Co-authored-by: Wanjohi <71614375+wanjohiryan@users.noreply.github.com>
2025-01-28 07:52:05 +03:00
fb77dc9572 🐜 fix(runner): dbus directory and mesa install (#163)
should fix the missing dbus runtime directory issue, using mesa-git as
it's less cumbersome to deal with package wise than normal mesa

---------

Co-authored-by: DatCaptainHorse <DatCaptainHorse@users.noreply.github.com>
Co-authored-by: Wanjohi <elviswanjohi47@gmail.com>
2025-01-23 02:16:33 +03:00
b6196b1c69 feat: Custom gst webrtc signaller, runtime GPU driver package install and more (#140)
🔥 🔥

Yes lots of commits because rebasing and all.. thankfully I know Git
just enough to have backups 😅

---------

Co-authored-by: Wanjohi <elviswanjohi47@gmail.com>
Co-authored-by: Kristian Ollikainen <DatCaptainHorse@users.noreply.github.com>
Co-authored-by: Wanjohi <71614375+wanjohiryan@users.noreply.github.com>
Co-authored-by: AquaWolf <3daquawolf@gmail.com>
2024-12-08 16:37:36 +03:00
Kristian OllikainenandKristian Ollikainen 3df53e7e38 🐛 fix(base): Device selection patch for gpu-screen-recorder (#93)
## 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>
2024-07-07 12:43:58 +03:00
cf69f6c93a ✨ feat(server): Add Intel/AMD GPU support (#84)
## 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>
2024-07-07 11:06:48 +03:00
904f300ead 🐛 fix(base): Use meson for gpu-screen-recorder (#83)
## Description

The `gpu-screen-recorder` project switched to using meson instead of a
custom build script (see
[commit](https://git.dec05eba.com/gpu-screen-recorder/commit/?id=dfa7dc6659755b7a8385aad5003fd80483dd4ffe))

Rather than using the `install.sh` which is now deprecated, I switched
to using meson and ninja to build & install.

My text-editor wanted to format the end of the file as well, but that is
hopefully no issue 😅

Signed-off-by: Kristian Ollikainen <DatCaptainHorse@users.noreply.github.com>
Co-authored-by: Kristian Ollikainen <DatCaptainHorse@users.noreply.github.com>
Co-authored-by: Wanjohi <71614375+wanjohiryan@users.noreply.github.com>
2024-06-20 19:07:48 +03:00