Linux dynamic linking fails with undefined D3D symbols

Chiusa Adatta ai principianti
#37 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

@lomirus ci sta già lavorando.

Dal 13/10/2026.

  • #38 di @lomirus — aperta

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
75/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
rust
Ambito
backend

Direzione di ricerca

Inizia leggendo wrapper.h e la configurazione di bindgen che genera i wrapper D3D, poi riproduci il fallimento di dynamic-linking su Linux usando la configurazione Rust dylib riportata. Controlla che la dylib Linux generata non faccia più riferimento ai simboli D3D mancanti e che lo stesso codice linki ancora sul target Linux riportato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

I'm hitting a linker error when using DLSS with Bevy's dynamic_linking feature on Linux.

I reproduced it with a small Rust dylib using the latest dlss_wgpu main (abcb934), DLSS SDK v310.9.1, and Rust 1.99.0 on x86_64-unknown-linux-gnu. Linking an executable against the dylib fails with:

undefined reference: NVSDK_NGX_D3D11_CreateFeature
undefined reference: NVSDK_NGX_D3D11_EvaluateFeature_C
undefined reference: NVSDK_NGX_D3D12_CreateFeature
undefined reference: NVSDK_NGX_D3D12_EvaluateFeature_C

The same code links fine statically.

It looks like wrapper.h includes the D3D helpers, and bindgen generates wrappers for them even on Linux. These wrappers end up in the dylib, but the Linux SDK doesn't provide the D3D functions they reference.

Could we skip generating the D3D wrappers on Linux?

Lingua principale
Rust
Stelle
57
Fork
16
Merge medio
2g 4h
PR unite (30g)
1

Preparare l'ambiente

  • Include un Dockerfile o un file Docker Compose
  • Nessun modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di bevyengine/dlss_wgpu

Tutte le issue di bevyengine/dlss_wgpu

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.