Frames not captured correctly in vm's running with Native Context gpu passthrough on amd hardware.

オープン
#5,635 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
38/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
cpp, linux

調査の方向性

Sunshine の Linux KMS キャプチャパスから始め、Linux 6.14 以降で Native Context と AMD GPU passthrough を使用して問題を再現します。AMD_DEBUG=nodcc,notiling の有無でキャプチャの動作を比較します。この workaround なしでキャプチャがクラッシュせず、文字化けしたフレームも生成しなくなれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Is there an existing issue for this?
  • I have searched the existing issues
Is your issue described in the documentation?
  • I have read the documentation
Is your issue present in the latest beta/pre-release?

This issue is present in the latest pre-release

Describe the Bug

Native Context has a few issues in sunshine, the first is that everything other then KMS capture crashes outright (or shows a solid color screen). The second is that KMS capture does not handle DCC or tiling properly, this results in garbled frame data. To fix the latter issue you can add AMD_DEBUG=nodcc,notiling but this heavily kneecaps performance.

For a guest os I recommend cachyos because it's guest mesa is natively compiled with the required options. I have tested on ubuntu and debian though it's a lot jankier to set up.

Expected Behavior

No crashing, and no garbled frame data.

Additional Context

Native Context is a (relatively) new feature added to the virtio suite. It's definitely still maturing but having proper support in sunshine would be a godsend since it's the best app for interacting with these virtual VM's.

This may be best fixed outside the project if it's an issue of DCC and tiling not being presented correctly within the os. I've been meaning to look more into it for the better part of a year and haven't had enough time :/ . I figure I should make an issue and hopefully someone else can pick it up sooner then I'll be able to lol. (thanks to whoever does)

Host Operating System

Linux

Operating System Version

=6.14

Architecture

amd64/x86_64

Package

other (self built)

GPU Type

AMD

GPU Model

8060s

GPU Driver/Mesa Version

13.2 (everything since native context existed)

Capture Method

KMS (Linux)

Apps

Log output

Online logs

No response

主要言語
C++
スター
43k
フォーク
2.4k
平均マージ
1日 12時間
マージ済み PR(30日)
109

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

LizardByte/Sunshine のほかの issue

LizardByte/Sunshine の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。