LizardByte / Sunshine

Self-hosted game stream host for Moonlight.
http://app.lizardbyte.dev/Sunshine/
GNU General Public License v3.0
18.6k stars 904 forks source link

NvENC not loading: Error: Couldn't scale frame: Invalid argument #2827

Closed chaitan3 closed 2 months ago

chaitan3 commented 3 months ago

Is there an existing issue for this?

Is your issue described in the documentation?

Is your issue present in the latest beta/pre-release?

I'm too lazy to test

Describe the Bug

Using sunshine with Nvidia GPU does not load NvENC with the error message "Couldn't scale frame: Invalid argument". Tracking down the code it appears at this line: https://github.com/LizardByte/Sunshine/blob/638a7020b74b19e330da314b35344afb66dc11b7/src/video.cpp#L104

I am using sunshine inside a docker container running sway 1.9, wlr capture backend works, but nvenc encoder backend does not.

I have tested both the headless and the drm backend of wlroots and get the same error. I have verified nvenc works inside docker with ffmpeg (same container) using the command: ffmpeg -loglevel error -f lavfi -i color=black:s=1080x1080 -vframes 1 -an -c:v h264_nvenc -f null -

Expected Behavior

NvENC works with sway inside docker instead of using software encoding.

Additional Context

No response

Host Operating System

Docker

Operating System Version

Archlinux

Architecture

64 bit

Sunshine commit or version

0.23.1

Package

Linux - AUR (Third Party)

GPU Type

Nvidia

GPU Model

Geforce 2080 Ti

GPU Driver/Mesa Version

555.58.02

Capture Method

wlroots (Linux)

Config

audio_sink = my-sink
# If no external IP address is given, Sunshine will attempt to automatically detect external ip-address
# external_ip = 123.456.789.12

# Set the familly of ports used by Sunshine
# port = 47989

# The private key must be 2048 bits
# pkey = /dir/pkey.pem

# The certificate must be signed with a 2048 bit key
# cert = /dir/cert.pem

# The name displayed by Moonlight
# If not specified, the PC's hostname is used
# sunshine_name = Sunshine

# The minimum log level printed to standard out
#
# none -> no logs are printed to standard out
#
# verbose = [0]
# debug   = [1]
# info    = [2]
# warning = [3]
# error   = [4]
# fatal   = [5]
# none    = [6]
#
#min_log_level = info
min_log_level = verbose

# A list of commands to be run before/after all applications.
#   If any of the prep-commands fail, starting the application is aborted.
#global_prep_cmd = [{"do":"/usr/bin/xfce4-minimise-all-windows","undo":"/usr/bin/sunshine-stop"}]

# The origin of the remote endpoint address that is not denied for HTTP method /pin
# Could be any of the following values:
#   pc|lan|wan
#     pc: Only localhost may access /pin
#     lan: Only those in LAN may access /pin
#     wan: Anyone may access /pin
#
# origin_pin_allowed = pc

# The origin of the remote endpoint address that is not denied for HTTPS Web UI
# Could be any of the following values:
#   pc|lan|wan
#     pc: Only localhost may access the Web Manager
#     lan: Only those in LAN may access the Web Manager
#     wan: Anyone may access the Web Manager
#
# origin_web_ui_allowed = lan

# If UPnP is enabled, Sunshine will attempt to open ports for streaming over the internet
# To enable it, uncomment the following line:
# upnp = on

# The file where current state of Sunshine is stored
# file_state = sunshine_state.json

# The file where user credentials for the UI are stored
# By default, credentials are stored in `file_state`
# credentials_file = sunshine_state.json

# The display modes advertised by Sunshine
#
# Some versions of Moonlight, such as Moonlight-nx (Switch),
# rely on this list to ensure that the requested resolutions and fps
# are supported.
#
# fps = [10, 30, 60, 90, 120]
# resolutions = [
#     352x240,
#     480x360,
#     858x480,
#     1280x720,
#     1920x1080,
#     2560x1080,
#     3440x1440,
#     1920x1200,
#     3860x2160,
#     3840x1600,
# ]

# Sometimes it may be usefull to map keybindings.
# Wayland won't allow clients to capture the Win Key for example
#
# See https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes
#
# Note:
#   keybindings needs to have a multiple of two elements
# keybindings = [
#   0x10, 0xA0,
#   0x11, 0xA2,
#   0x12, 0xA4,
#   0x4A, 0x4B
# ]

# How long to wait in milliseconds for data from moonlight before shutting down the stream
# ping_timeout = 10000

# The file where configuration for the different applications that Sunshine can run during a stream
file_apps = apps.json

# Percentage of error correcting packets per data packet in each video frame
# Higher values can correct for more network packet loss, but at the cost of increasing bandwidth usage
# The default value of 20 is what GeForce Experience uses
#
# The value must be greater than 0 and lower than or equal to 255
# fec_percentage = 20

# When multicasting, it could be usefull to have different configurations for each connected Client.
# For example:
#       Clients connected through WAN and LAN have different bitrate contstraints.
#       Decoders may require different settings for color
#
# Unlike simply broadcasting to multiple Client, this will generate distinct video streams.
# Note, CPU usage increases for each distinct video stream generated
channels = 2

# The back/select button on the controller
# On the Shield, the home and powerbutton are not passed to Moonlight
# If, after the timeout, the back button is still pressed down, Home/Guide button press is emulated.
# If back_button_timeout < 0, then the Home/Guide button will not be emulated
# back_button_timeout = 2000

# !! Windows only !!
# Gamepads supported by Sunshine
# Possible values:
#   x360 -- xbox 360 controller
#   ds4 -- dualshock controller (PS4)
# gamepad = x360
controller = enabled

# Control how fast keys will repeat themselves
# The initial delay in milliseconds before repeating keys
# key_repeat_delay = 500
#
# How often keys repeat every second
# This configurable option supports decimals
# key_repeat_frequency = 24.9

# The name of the audio sink used for Audio Loopback
# If you do not specify this variable, pulseaudio will select the default monitor device.
#
# You can find the name of the audio sink using the following command:
# !! Linux only !!
# pacmd list-sinks | grep "name:" if running vanilla pulseaudio
# pPipewire: Use `pactl info | grep Source`. In some causes you'd need to use the `sink` device. Try `pactl info | grep Sink`, if _Source_ doesn't work
# audio_sink = alsa_output.pci-0000_09_00.3.analog-stereo
#
# !! Windows only !!
# tools\audio-info.exe
# audio_sink   = {0.0.0.00000000}.{FD47D9CC-4218-4135-9CE2-0C195C87405B}
#
# The virtual sink, is the audio device that's virtual (Like Steam Streaming Speakers), it allows Sunshine
# to stream audio, while muting the speakers.
# virtual_sink = {0.0.0.00000000}.{8edba70c-1125-467c-b89c-15da389bc1d4}

# !! Windows only !!
# You can select the video card you want to stream:
# The appropriate values can be found using the following command:
# tools\dxgi-info.exe
# adapter_name = Radeon RX 580 Series
# output_name  = \\.\DISPLAY1

# !! Linux only !!
# Set the display number to stream.
# You can find them by the following command:
# xrandr --listmonitors
# Example output: "0: +HDMI-1 1920/518x1200/324+0+0  HDMI-1"
#                  ^ <-- You need this.
# output_name = 0

###############################################
# FFmpeg software encoding parameters
# Honestly, I have no idea what the optimal values would be.
# Play around with this :)

# Quantitization Parameter
# Some devices don't support Constant Bit Rate. For those devices, QP is used instead
# Higher value means more compression, but less quality
# qp = 28

# Minimum number of threads used by ffmpeg to encode the video.
# Increasing the value slightly reduces encoding efficiency, but the tradeoff is usually
# worth it to gain the use of more CPU cores for encoding. The ideal value is the lowest
# value that can reliably encode at your desired streaming settings on your hardware.
# min_threads = 1

# Allows the client to request HEVC Main or HEVC Main10 video streams.
# HEVC is more CPU-intensive to encode, so enabling this may reduce performance when using software encoding.
# If set to 0 (default), Sunshine will specify support for HEVC based on encoder
# If set to 1, Sunshine will not advertise support for HEVC
# If set to 2, Sunshine will advertise support for HEVC Main profile
# If set to 3, Sunshine will advertise support for HEVC Main and Main10 (HDR) profiles
# hevc_mode = 2

# Force a specific encoder, otherwise Sunshine will use the first encoder that is available
# supported encoders:
#   nvenc
#   amdvce # NOTE: alpha stage. The cursor is not yet displayed
#   software
#
capture = wlr
encoder = nvenc
##################################### Software #####################################
# See x264 --fullhelp for the different presets
# sw_preset  = superfast
# sw_tune    = zerolatency
#

##################################### NVENC #####################################
###### presets ###########
# default
# hp     -- high performance
# hq     -- high quality
# slow   -- hq 2 passes
# medium -- hq 1 pass
# fast   -- hp 1 pass
# bd
# ll     -- low latency
# llhq
# llhp
# lossless
# losslesshp
##########################
# nv_preset = llhq
#
####### rate control #####
# auto      -- let ffmpeg decide rate control
# constqp   -- constant QP mode
# vbr       -- variable bitrate
# cbr       -- constant bitrate
# cbr_hq    -- cbr high quality
# cbr_ld_hq -- cbr low delay high quality
# vbr_hq    -- vbr high quality
##########################
# nv_rc = auto

###### h264 entropy ######
# auto -- let ffmpeg nvenc decide the entropy encoding
# cabac
# cavlc
##########################
# nv_coder = auto

##################################### AMD #####################################
###### presets ###########
# default
# speed
# balanced
##########################
# amd_preset = balanced
#
####### rate control #####
# auto        -- let ffmpeg decide rate control
# constqp     -- constant QP mode
# vbr_latency -- Latency Constrained Variable Bitrate
# vbr_peak    -- Peak Contrained Variable Bitrate
# cbr         -- constant bitrate
##########################
# amd_rc = auto

###### h264 entropy ######
# auto -- let ffmpeg nvenc decide the entropy encoding
# cabac
# cavlc
##########################
# amd_coder = auto

#################################### VAAPI ###################################
####### adapter ##########
# Unlike with `amdvce` and `nvenc`, it doesn't matter if video encoding is done
# on a different GPU.
# Run the following commands:
# 1. ls /dev/dri/renderD*
#   to find all devices capable of VAAPI
# 2. vainfo --display drm --device /dev/dri/renderD129 | grep -E "((VAProfileH264High|VAProfileHEVCMain|VAProfileHEVCMain10).*VAEntrypointEncSlice)|Driver version"
#   Lists the name and capabilities of the device.
#   To be supported by Sunshine, it needs to have at the very minimum:
#       VAProfileH264High   : VAEntrypointEncSlice
# adapter_name = /dev/dri/renderD128

##############################################
# Some configurable parameters, are merely toggles for specific features
# The first occurrence turns it on, the second occurence turns it off, the third occurence turns it on again, etc, etc
# Here, you change the default state of any flag
#
# To set the initial state of flags -0 and -1 to on, set the following flags:
# flags = 012
#
# See: sunshine --help for all options under the header: flags

Apps

No response

Relevant log output

2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Loaded sym: cuMipmappedArrayDestroy
[2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Loaded sym: cuImportExternalSemaphore
[2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Loaded sym: cuDestroyExternalSemaphore
[2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Loaded sym: cuSignalExternalSemaphoresAsync
[2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Loaded sym: cuWaitExternalSemaphoresAsync
[2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Loaded sym: cuArrayCreate_v2
[2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Loaded sym: cuArray3DCreate_v2
[2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Loaded sym: cuArrayDestroy
[2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Loaded sym: cuEGLStreamProducerConnect
[2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Loaded sym: cuEGLStreamProducerDisconnect
[2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Loaded sym: cuEGLStreamConsumerDisconnect
[2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Loaded sym: cuEGLStreamProducerPresentFrame
[2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Loaded sym: cuEGLStreamProducerReturnFrame
[2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Loaded lib: libnvidia-encode.so.1
[2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Loaded sym: NvEncodeAPICreateInstance
[2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Loaded sym: NvEncodeAPIGetMaxSupportedVersion
[2024:07:10:00:31:12]: Debug: [h264_nvenc @ 0x5627561e5c00] Loaded Nvenc version 12.2
[2024:07:10:00:31:12]: Debug: [h264_nvenc @ 0x5627561e5c00] Nvenc initialized successfully
[2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Calling dl_fn->cuda_dl->cuCtxPushCurrent(ctx->cu_context)
[2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Calling dl_fn->cuda_dl->cuCtxPopCurrent(&dummy)
[2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Calling dl_fn->cuda_dl->cuCtxPushCurrent(ctx->cu_context)
[2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Calling dl_fn->cuda_dl->cuCtxPopCurrent(&dummy)
[2024:07:10:00:31:12]: Verbose: [AVHWDeviceContext @ 0x562756af2000] Calling cu->cuCtxPushCurrent(hwctx->cuda_ctx)
[2024:07:10:00:31:12]: Verbose: [AVHWDeviceContext @ 0x562756af2000] Calling cu->cuMemAlloc(&data, size)
[2024:07:10:00:31:12]: Verbose: [AVHWDeviceContext @ 0x562756af2000] Calling cu->cuCtxPopCurrent(&dummy)
[2024:07:10:00:31:12]: Error: Couldn't scale frame: Invalid argument
[2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Calling dl_fn->cuda_dl->cuCtxPushCurrent(ctx->cu_context)
[2024:07:10:00:31:12]: Verbose: [h264_nvenc @ 0x5627561e5c00] Calling dl_fn->cuda_dl->cuCtxPopCurrent(&dummy)
[2024:07:10:00:31:12]: Debug: [h264_nvenc @ 0x5627561e5c00] Nvenc unloaded
[2024:07:10:00:31:12]: Verbose: [AVHWDeviceContext @ 0x562756af2000] Calling cu->cuCtxPushCurrent(hwctx->cuda_ctx)
[2024:07:10:00:31:12]: Verbose: [AVHWDeviceContext @ 0x562756af2000] Calling cu->cuMemFree((CUdeviceptr)data)
[2024:07:10:00:31:12]: Verbose: [AVHWDeviceContext @ 0x562756af2000] Calling cu->cuCtxPopCurrent(&dummy)
[2024:07:10:00:31:13]: Verbose: [AVHWDeviceContext @ 0x562756af2000] Calling cu->cuDevicePrimaryCtxRelease(hwctx->internal->cuda_device)
[2024:07:10:00:31:13]: Info: Encoder [nvenc] failed
[2024:07:10:00:31:13]: Error: Couldn't find any working encoder matching [nvenc]
[2024:07:10:00:31:13]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
[2024:07:10:00:31:13]: Info: Trying encoder [vaapi]
[2024:07:10:00:31:13]: Info: Screencasting with Wayland's protocol
[2024:07:10:00:31:13]: Info: Found display [wayland-1]
[2024:07:10:00:31:13]: Debug: Available interface: wl_shm(1) version 1
[2024:07:10:00:31:13]: Debug: Available interface: wl_drm(2) version 2
[2024:07:10:00:31:13]: Debug: Available interface: zwp_linux_dmabuf_v1(3) version 4
[2024:07:10:00:31:13]: Debug: Available interface: wl_compositor(4) version 6
[2024:07:10:00:31:13]: Debug: Available interface: wl_subcompositor(5) version 1
[2024:07:10:00:31:13]: Debug: Available interface: wl_data_device_manager(6) version 3
[2024:07:10:00:31:13]: Debug: Available interface: zwlr_gamma_control_manager_v1(7) version 1
[2024:07:10:00:31:13]: Debug: Available interface: zxdg_output_manager_v1(8) version 3
[2024:07:10:00:31:13]: Info: Found interface: zxdg_output_manager_v1(8) version 3
[2024:07:10:00:31:13]: Debug: Available interface: ext_idle_notifier_v1(9) version 1
[2024:07:10:00:31:13]: Debug: Available interface: zwp_idle_inhibit_manager_v1(10) version 1
[2024:07:10:00:31:13]: Debug: Available interface: zwlr_layer_shell_v1(11) version 4
[2024:07:10:00:31:13]: Debug: Available interface: xdg_wm_base(12) version 2
[2024:07:10:00:31:13]: Debug: Available interface: zwp_tablet_manager_v2(13) version 1
[2024:07:10:00:31:13]: Debug: Available interface: org_kde_kwin_server_decoration_manager(14) version 1
[2024:07:10:00:31:13]: Debug: Available interface: zxdg_decoration_manager_v1(15) version 1
[2024:07:10:00:31:13]: Debug: Available interface: zwp_relative_pointer_manager_v1(16) version 1
[2024:07:10:00:31:13]: Debug: Available interface: zwp_pointer_constraints_v1(17) version 1
ReenigneArcher commented 3 months ago

I'm too lazy to test

You understand, that this causes me to immediately close your issue?

chaitan3 commented 3 months ago

Hi, thanks for the quick reply. I am sorry for clicking that button. But, I did a git history check of the relevant part of the code and did not see any commits on that function in the last few months via git blame. So, my hunch was that things would not be different with git master. I am willing to test and even do debug builds if you want me to. Would you consider reopening the issue?

Here are the results on latest git

[2024:07:10:01:00:42]: Info: Sunshine version: 0.0.0.dirty
24:07:10:01:00:42]: Verbose: [h264_nvenc @ 0x563fd55f5380] Loaded sym: cuArray3DCreate_v2
[2024:07:10:01:00:42]: Verbose: [h264_nvenc @ 0x563fd55f5380] Loaded sym: cuArrayDestroy
[2024:07:10:01:00:42]: Verbose: [h264_nvenc @ 0x563fd55f5380] Loaded sym: cuEGLStreamProducerConnect
[2024:07:10:01:00:42]: Verbose: [h264_nvenc @ 0x563fd55f5380] Loaded sym: cuEGLStreamProducerDisconnect
[2024:07:10:01:00:42]: Verbose: [h264_nvenc @ 0x563fd55f5380] Loaded sym: cuEGLStreamConsumerDisconnect
[2024:07:10:01:00:42]: Verbose: [h264_nvenc @ 0x563fd55f5380] Loaded sym: cuEGLStreamProducerPresentFrame
[2024:07:10:01:00:42]: Verbose: [h264_nvenc @ 0x563fd55f5380] Loaded sym: cuEGLStreamProducerReturnFrame
[2024:07:10:01:00:42]: Verbose: [h264_nvenc @ 0x563fd55f5380] Loaded lib: libnvidia-encode.so.1
[2024:07:10:01:00:42]: Verbose: [h264_nvenc @ 0x563fd55f5380] Loaded sym: NvEncodeAPICreateInstance
[2024:07:10:01:00:42]: Verbose: [h264_nvenc @ 0x563fd55f5380] Loaded sym: NvEncodeAPIGetMaxSupportedVersion
[2024:07:10:01:00:42]: Debug: [h264_nvenc @ 0x563fd55f5380] Loaded Nvenc version 12.2
[2024:07:10:01:00:42]: Debug: [h264_nvenc @ 0x563fd55f5380] Nvenc initialized successfully
[2024:07:10:01:00:42]: Verbose: [h264_nvenc @ 0x563fd55f5380] Calling dl_fn->cuda_dl->cuCtxPushCurrent(ctx->cu_context)
[2024:07:10:01:00:42]: Verbose: [h264_nvenc @ 0x563fd55f5380] Calling dl_fn->cuda_dl->cuCtxPopCurrent(&dummy)
[2024:07:10:01:00:42]: Verbose: [h264_nvenc @ 0x563fd55f5380] Calling dl_fn->cuda_dl->cuCtxPushCurrent(ctx->cu_context)
[2024:07:10:01:00:42]: Verbose: [h264_nvenc @ 0x563fd55f5380] Calling dl_fn->cuda_dl->cuCtxPopCurrent(&dummy)
[2024:07:10:01:00:42]: Verbose: [AVHWDeviceContext @ 0x563fd55e8e00] Calling cu->cuCtxPushCurrent(hwctx->cuda_ctx)
[2024:07:10:01:00:42]: Verbose: [AVHWDeviceContext @ 0x563fd55e8e00] Calling cu->cuMemAlloc(&data, size)
[2024:07:10:01:00:42]: Verbose: [AVHWDeviceContext @ 0x563fd55e8e00] Calling cu->cuCtxPopCurrent(&dummy)
[2024:07:10:01:00:42]: Error: Couldn't scale frame: Invalid argument
[2024:07:10:01:00:42]: Verbose: [h264_nvenc @ 0x563fd55f5380] Calling dl_fn->cuda_dl->cuCtxPushCurrent(ctx->cu_context)
[2024:07:10:01:00:42]: Debug: System tray loop
[2024:07:10:01:00:42]: Debug: System tray loop
[2024:07:10:01:00:42]: Verbose: [h264_nvenc @ 0x563fd55f5380] Calling dl_fn->cuda_dl->cuCtxPopCurrent(&dummy)
[2024:07:10:01:00:42]: Debug: [h264_nvenc @ 0x563fd55f5380] Nvenc unloaded
[2024:07:10:01:00:42]: Verbose: [AVHWDeviceContext @ 0x563fd55e8e00] Calling cu->cuCtxPushCurrent(hwctx->cuda_ctx)
[2024:07:10:01:00:42]: Verbose: [AVHWDeviceContext @ 0x563fd55e8e00] Calling cu->cuMemFree((CUdeviceptr)data)
[2024:07:10:01:00:42]: Verbose: [AVHWDeviceContext @ 0x563fd55e8e00] Calling cu->cuCtxPopCurrent(&dummy)
[2024:07:10:01:00:43]: Verbose: [AVHWDeviceContext @ 0x563fd55e8e00] Calling cu->cuDevicePrimaryCtxRelease(hwctx->internal->cuda_device)
[2024:07:10:01:00:43]: Info: SDR color coding [Rec. 601]
[2024:07:10:01:00:43]: Info: Color depth: 8-bit
[2024:07:10:01:00:43]: Info: Color range: [JPEG]
ReenigneArcher commented 2 months ago

How did you build Sunshine? The PKGBUILD from sunshine AUR?

chaitan3 commented 2 months ago

I was using sunshine and sunshine-git AUR packages in the above tests.

I just tried the latest archlinux zst package (git master) from the release page: https://github.com/LizardByte/Sunshine/releases.

And voila, NvENC is working with sway inside docker with the official package. Maybe a warning should be added on the github README to use the official package instead of AUR on archlinux?

Thanks for your time. I am closing this issue.

ReenigneArcher commented 2 months ago

Unfortunately, the new packagers on AUR, broke nvenc encoding, since they don't understand the compilation process for Sunshine. I've done all I can to try to re-gain control of the AUR package, but all they are willing to do is harass me. 🤷‍♂️

There are warnings about this in the new docs, but unfortunately it hasn't made it to stable yet.

I guess the positive, is that we now have a new pacman repo that we have full control of. Currently it has the last stable build, but I'm working on adding latest beta there as well (sunshine-git basically)

https://github.com/LizardByte/pacman-repo

I'm a little surprised that sunshine-git in AUR is broken though.

ReenigneArcher commented 2 months ago

BTW, we also have an ArchLinux docker image we publish. Might be of interest to you. https://hub.docker.com/r/lizardbyte/sunshine

chaitan3 commented 2 months ago

Thanks for the docker image link, I might check it out and replace my own home grown image.

As for AUR, that is unfortunate to hear. The pacman repo sounds a great alternative.

kelvie commented 2 months ago

@ReenigneArcher are you talking about sunshine-git on the AUR? I took over maintainership of that because it was broken and the old maintainer was unresponsive.

I'm more than happy to hand over maintainership to you! I'm only doing it cause nobody else was, and I was fixing it for myself anyway, either way, shoot me an email.

ReenigneArcher commented 2 months ago

@kelvie I am talking about the sunshine package.

I am done with AUR though. I won't be involved in a platform that allows abusive behavior to maintainers.