LizardByte / LizardByte/Sunshine

Sunshine fails to start on Windows if its path includes UTF-8 characters

Open
#3,464 1 comment 0 reactions 1 assignee View on GitHub

@cgutman is already working on this.

Since Jan 1, 2025.

Dominant language
C++
Stars
41.3k
Forks
2.1k
Avg merge
23h 47m
Merged PRs (30d)
124

Description

### Is there an existing issue for this?

- [x] I have searched the existing issues

### Is your issue described in the documentation?

- [x] I have read the documentation

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

None

### Describe the Bug

Place sunshine portable in `C:\Users\Ángel\Portables`.
Double-click the executable, the terminal opens but ends up with an error:

`Error: Couldn't open [C:\Users\Ángel\Portables\Sunshine\config\credentials/cakey.pem]`

This is a big problem for those of us setting usernames that include special characters as I have more than 10 folders in `C:\Users` used by different programs. Programs end up with usernames featuring different corrupted characters. Some programs generate a new folder every time they are executed which is another kind of headache as you cannot save settings/progress. There are also programs that write to one folder and read from an entirely different one as the corrupted characters are different (ie: read from `Ángel` but write to `�ngel`).

There are also back slashes and forward slashes mixed together in the error's path which is odd.

### Expected Behavior

Sunshine should support UTF-8 paths as most programs do

### Additional Context

_No response_

### Host Operating System

Windows

### Operating System Version

11 (10.0.26100)

### Architecture

amd64/x86_64

### Sunshine commit or version

v2024.1218.135629

### Package

Windows - portable (not recommended)

### GPU Type

NVIDIA

### GPU Model

3060 TI

### GPU Driver/Mesa Version

Does not matter

### Capture Method

None

### Config

```Shell

```

### Apps

```json

```

### Relevant log output

```shell
[2024-12-19 02:50:45.717]: Info: Desktop resolution [3440x1440]
[2024-12-19 02:50:45.717]: Info: Desktop format [DXGI_FORMAT_R16G16B16A16_FLOAT]
[2024-12-19 02:50:45.717]: Info: Display refresh rate [164.999Hz]
[2024-12-19 02:50:45.717]: Info: Requested frame rate [60fps]
[2024-12-19 02:50:45.717]: Info: Creating encoder [hevc_nvenc]
[2024-12-19 02:50:45.717]: Info: Color coding: HDR (Rec. 2020 + SMPTE 2084 PQ)
[2024-12-19 02:50:45.717]: Info: Color depth: 10-bit
[2024-12-19 02:50:45.718]: Info: Color range: JPEG
[2024-12-19 02:50:45.840]: Info: NvEnc: created encoder HEVC P1 yuv444 10-bit two-pass rfi
[2024-12-19 02:50:45.896]: Info:
[2024-12-19 02:50:45.896]: Info: // Ignore any errors mentioned above, they are not relevant. //
[2024-12-19 02:50:45.896]: Info:
[2024-12-19 02:50:45.896]: Info: Found H.264 encoder: h264_nvenc [nvenc]
[2024-12-19 02:50:45.896]: Info: Found HEVC encoder: hevc_nvenc [nvenc]
[2024-12-19 02:50:45.925]: Error: Couldn't open [C:\Users\Ángel\Portables\Sunshine\config\credentials/cakey.pem]
[2024-12-19 02:50:45.925]: Fatal: HTTP interface failed to initialize
[2024-12-19 02:50:45.925]: Fatal: To relaunch Sunshine successfully, use the shortcut in the Start Menu. Do not run Sunshine.exe manually.
```

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.