Saya menjalankan host linux untuk pengembangan perangkat lunak Qt di tempat sentral.
Dengan kotak windows saya, saya menggunakan Xming sebagai X-server lokal dan dempul untuk terhubung ke host-linux itu. Dengan konfigurasi ini saya dapat menggunakan semua program X (xclock, xterm) dan GLX (qtcreator, gxlinfo, glxgears ...) di linux-host.
Workstation utama saya adalah ubuntu 14.04 LTS dengan kartu nvidia gfx. Ketika saya terhubung ke linux-host dengan sistem ubuntu saya menggunakan "ssh -p port # -YC my.dev.host.com" Saya juga dapat menggunakan semua program X (xclock, xterm) program tetapi saya tidak dapat menggunakan program GLX (qtcreator, gxlinfo, glxgears ...).
Sejauh yang saya pelajari ini adalah karena X-server tidak mendukung konteks GLX tidak langsung secara default untuk versi yang lebih muda 1.16.
Jadi pertanyaan saya pertama: Bagaimana saya bisa mengaktifkan konteks GLX tidak langsung (X-server dan driver nvidida) di instalasi Ubuntu 14,04 LTS saya untuk mendapatkan hal-hal yang berfungsi seperti yang diharapkan dari X-server.
Terima kasih atas bantuannya!
cmks
Ini adalah output dari glxgears, mungkin itu membantu:
[email protected]:~# LIBGL_DEBUG=verbose glxgears
libGL: screen 0 does not appear to be DRI2 capable
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
libGL: Can't open configuration file /root/.drirc: No such file or directory.
libGL: Can't open configuration file /root/.drirc: No such file or directory.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 154 (GLX)
Minor opcode of failed request: 3 (X_GLXCreateContext)
Value in failed request: 0x0
Serial number of failed request: 35
Current serial number in output stream: 37
libGL error: No matching fbConfigs or visuals found
danlibGL error: failed to load driver: swrast
LIBGL_ALWAYS_INDIRECT=1
melarang penggunaan DRI maka tidak ada pesan kesalahan. Tapi glxgears masih hanya menunjukkan satu frameCara alternatif (dan tampilan-manajer-independen) untuk menambahkan opsi adalah dengan menambahkan bagian berikut ke /etc/X11/xorg.conf:
sumber
lightdm
.Saya mengalami masalah yang sama dengan menjalankan program OpenGL khusus
ssh -X
. Solusi di atas bekerja dengan sedikit modifikasiIni bekerja dengan server ubuntu 16.04 yang menjalankan kubuntu-desktop dengan NVIDIA GTX 1070 GPU dan driver binary NVIDIA diinstal melalui apt.
sumber
Option "IndirectGLX" "on"
. Menurut ini ,enableIndirectGLX
harus dievaluasiTRUE
agarBadValue
kesalahan tidak dikembalikan. Standarnya adalah:FALSE
=-iglx
(pada baris perintah). Jadi, pada salah satu set:+iglx
opsi baris perintah, ATAUIndirectGLX "on"
atau nilai "kebenaran" yang setaraAllowIndirectGLXProtocol
untuk hal yang sama. Namun, dokumen mereka agak membingungkan, karena mereka menyebutkanBadValue
kesalahan akan dikembalikan dengan nama pengaturannya sebagaiAllowIndirectGLXProtocol = "true"
. Ini benar-benar berlawanan dengan apa yang mereka katakan nanti. "The NVIDIA GLX implementation will prohibit creation of indirect GLX contexts if AllowIndirectGLXProtocol option is set to False.
" Jadi membingungkan, dan mungkin dokumen salah?