Ubuntu 16.04, OpenGL programlarını çalıştırırken “X Başarısız istek hatası: BadValue (tamsayı parametresi çalışma aralığının dışında)” veriyor


18

Gemide iki adet iki grafik kartım var, biri Intel işlemci, diğeri nvidia kartı.

Masaüstünü oluşturmak için entegre olanı, cuda ile hesaplamak için NV kartını kullanmak istiyorum. Ben "nvidia-modprobe" yükledikten sonra istediğim gibi çalıştı "NVIDIA X Sunucu ayarları" entegre bir kullanmaya geçmek.

ama glxinfo çalıştırdığınızda glx ile ilgili bir sorun nerede.

name of display: :0
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:  24 (X_GLXCreateNewContext)
Value in failed request:  0x0
Serial number of failed request:  37
Current serial number in output stream:  38

Xorg log libglx.so giriş

[     3.597] (II) "glx" will be loaded by default.
[     3.597] (II) LoadModule: "glx"
[     3.599] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[     3.612] (II) Module glx: vendor="X.Org Foundation"

Glx'in doğru çalışmasını sağlayabileceğim bir yol var mı?

Yanıtlar:


10

Çözüldü, istediğimi ayarladım. Aşağıda gösterilen yanıtı GitHub'a gönderdim .

  1. Tüm Nvidia paketlerini kaldırın ve xorg paketlerini yeniden yükleyin.

    sudo apt-get purge nvidia*  
    sudo apt-get install --reinstall xserver-xorg-video-intel libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core   
    sudo dpkg-reconfigure xserver-xorg   
    
  2. Cuda8 yazılımını yükleyin. Gerek:

    Crtl + Alt + F1 tuşlarına basın.

    sudo service lightdm stop  
    sudo init 3  
    

    Yüklemek için cuda8 .run dosyasını kullanıyorum, daha sonra nvidia kart sürücüsünü yüklemek isterseniz soruyor musunuz ?.

    Evet'i seçin.

    Nvidia opengl'i kurmak isteyip istemediğiniz sorulur?

    Hayır seçin, bu çok önemli bir seçimdir, eğer burada "evet" derseniz "mesa *" kütüphanelerini kapsayacaktır.

    Bundan sonra varsayılanı seçin.

    Kurulumdan sonra yeniden başlatın.

    sudo reboot
    

2
Bunu takip edin - Grafik güncellemelerinden kaynaklanan benzer bir hata aldım. Basit bir yeniden başlatma nvidia sürücülerini kaldırmak / yeniden yüklemek gerek kalmadan bilgisayarım için düzeltti.
Pterosaur

1
Gerçekten de gerekli olmayan çok fazla iş gibi görünüyor ... Benzer bir sorun vardı ve anahtar mod numarasını düzeltmek zorunda kaldı (Mod4 yerine Mod1 kullanıldı)
Halka Ø

Şarap OpenGL uygulamaları (glxgears ve glxinfo sorunsuz çalışıyor) çalışan benzer bir hata vardı ve çözüm sadece nvidia-410 (Ubuntu 18.04) nvidia-415 ( "grafik sürücüleri" ppa , sürüm bulundu) yükseltme oldu 415.27-0ubuntu0 ~ gpu18.04.1). Umarım bu gelecekte birine yardımcı olabilir.
Avio

3

Bu soruya başsız bir sunucuda OpenGL kullanmaya çalışan herkes için: NVIDIA GLX sürücüleri yüklediyseniz ancak sunucunuzda aslında bir NVIDIA kartı yoksa (örneğin AWS Deep Learning Base AMI kullanıyorsanız) bu mesajı alabilirsiniz. GPU'suz bir makinede).

Onaylamak için +iglx( glxinfoçalışmasına izin vermesi gereken) bir X sunucusu çalıştırmayı deneyin ve glxinfoçıktı (örneğin xvfb-run -s '-screen 0 1400x900x24 +iglx' glxinfo) raporlarını görün client glx vendor string: NVIDIA Corporation. Varsa, herhangi bir NVIDIA öğesi olmayan bir AMI'ye geçmeyi deneyin.


3

NVIDIA sürücüsünü 340.12'ye düşürün

Daha önce varsayılan olarak 384.11 idi.

Bu, software-properties-gtk"ek sürücüler" sekmesinden kolayca yapılabilir .

Sonra yeniden başlatın.

Ubuntu 16.04, NVIDIA Corporation GF119 [NVS 310].

Şurada da benzer bir Steam sorunu var: Steam Ubuntu 16.04'te başlamıyor

Sorun minimal bir GLUT merhaba dünyasıyla yeniden üretilebilir:

#include <stdlib.h>

#include <GL/glut.h>

int main(int argc, char *argv[]) {
    glutInit(&argc, argv);
    glutInitWindowSize(800, 600);
    glutInitWindowPosition(200, 100);
    glutCreateWindow(argv[0]);
    glutMainLoop();
    return EXIT_SUCCESS;
}

Ubuntu 19.04: Sorun artık gerçekleşmiyor

Bir süredir bulamadım, eğer yapabilirsen sadece Ubuntu'yu yükselt. Şu anda 390.116 mükemmel çalışıyor.

NVidia 384.90'ı yükledikten sonra Lenovo ThinkPad P51: Ubuntu 17.10 önyüklemesinde "NVIDIA Persistence Daemon Başlatıldı" iletisinde takılı kalması için bazı küçük BIOS seçenek değişiklikleri gerekiyordu


1

Bu hatanın ortaya çıkabileceği başka bir durum, bir chroot ortamında çalışırken OpenGL pencerelerini çalıştırmaya çalıştığınız durumdur. Bu yazıda , lightdm için xserver komutuna + iglx eklemek için bir öneri var, bu da benim için sorunu çözdü. Diğer yanıtı google'da belirgin bir şekilde görünmediğinden, bu yanıtı görünürlük için buraya koymak.


0

Aynı hata iletisini aldım ama glutInitContextVersion (4, 0) neden oldu ; donanımım OpenGL 4.0'ı desteklemediğinden glutInitContextVersion (3, 3) çağrısını değiştirdim ; ve işler yolunda gitti. Tescilli bir NVidia sürücüsü kullanıyorum.


1
Bunu nasıl yaptığını açıklayabilir misin?
Zanna

glutInitContextVersionundefined: freeglut3-dev 2.8.1, Ubuntu 15.10, ile ilgili: stackoverflow.com/questions/22055522/… Ama bu ilginç bir ipucu.
Ciro Santilli 事件 改造 中心 法轮功 六四 事件

Ama ben de denedim glfwWindowHint(GLFW_CONTEXT_VERSIONve sorunu çözmedi :-( stackoverflow.com/questions/18113270/…
Ciro Santilli 事件 改造 中心 法轮功 六四
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.