ubuntu 16.04 дає "X Помилка невдалого запиту: BadValue (цілий параметр поза діапазоном для роботи)" під час запуску програм OpenGL


18

У мене на платі дві дві графічні карти, одна - інтегруюча в процесор Intel, одна - карта nvidia.

Я хочу використовувати інтегруючий для візуалізації робочого столу, NV-карти для обчислення з кудою. Я переключаюсь на використання інтегруючого в "Налаштуваннях NVIDIA X Server", після того як я встановив "nvidia-modprobe", він працював так, як мені хочеться.

але де проблема з glx, коли я запускаю glxinfo.

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 воно libglx.so в

[     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"

Чи є спосіб, як я можу отримати правильний графічний графік?

Відповіді:


10

Вирішено, я налаштував те, що хочу. Відповідь, показану нижче, я розмістив у GitHub .

  1. Видаліть усі пакети Nvidia та перевстановіть пакети xorg.

    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. Тобі потрібно:

    Натисніть клавіші Crtl + Alt + F1.

    sudo service lightdm stop  
    sudo init 3  
    

    Я використовую файл cuda8 .run для його встановлення, після чого його встановить підказку, якщо ви хочете встановити драйвер карти nvidia ?.

    Виберіть так.

    Він підкаже, якщо ви хочете встановити nvidia opengl?

    Виберіть "ні", це вирішальний вибір, якщо ви скажете "так" тут, він охопить бібліотеки "mesa *".

    Після цього виберіть за замовчуванням.

    Після встановлення перезавантажте.

    sudo reboot
    

2
Слідкуйте за цим - я отримав подібну помилку, викликану оновленнями графіки. Просте перезавантаження виправило це на моєму комп’ютері без необхідності видалення / перевстановлення драйверів nvidia.
Птерозавр

1
Насправді, здається, багато роботи, яка може не знадобитися ... Виникла аналогічна проблема, і довелося виправити номер ключового мода (використовується Mod1 замість Mod4)
Ring Ø

У мене була подібна помилка під час запуску програм OpenGL для вина (glxgears і glxinfo працювали без проблем), і рішення було просто оновити з nvidia-410 (Ubuntu 18.04) до nvidia-415 (знайдено на «графічних драйверах» ppa , версія 415.27-0ubuntu0 ~ gpu18.04.1). Сподіваюся, це може комусь допомогти у майбутньому.
Авіо

3

Для тих, хто стикається з цим питанням, намагаючись використовувати OpenGL на безголовому сервері: ви також можете отримати це повідомлення, якщо у вас встановлені драйвери NVIDIA GLX, але насправді на вашому сервері немає картки NVIDIA (наприклад, якщо ви використовуєте AWS Deep Learning Base AMI на машині без GPU).

Для підтвердження спробуйте запустити X-сервер із +iglx(який повинен дозволяти glxinfoзапускатись), і подивіться, чи є glxinfoвихідні (наприклад xvfb-run -s '-screen 0 1400x900x24 +iglx' glxinfo) звіти client glx vendor string: NVIDIA Corporation. Якщо це так, спробуйте перейти на AMI без будь-яких матеріалів NVIDIA.


3

Зменшіть драйвер NVIDIA до 340.12

Раніше за замовчуванням було 384,11

Це можна зробити легко з software-properties-gtk "додаткові драйвери".

Потім перезавантажте.

Ubuntu 16.04, NVIDIA Corporation GF119 [NVS 310].

Існує також аналогічна проблема Steam за адресою: Steam не запуститься на Ubuntu 16.04

Проблема може бути відтворена за допомогою мінімального привітного світу GLUT:

#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: проблеми більше не виникає

Не було цього деякий час, просто оновіть Ubuntu, якщо можете. В даний час 390.116 працює відмінно.

Потрібні деякі незначні зміни опції BIOS, щоб розпочати роботу на моєму завантаженні Lenovo ThinkPad P51: завантаження Ubuntu 17.10 застрягло в повідомленні "Started NVIDIA Persistent Daemon" після встановлення nVidia 384.90


1

Інша ситуація, коли ця помилка може виникнути - це коли ви намагаєтеся запустити OpenGL windows під час роботи в середовищі chroot. У цій публікації є пропозиція додати + iglx у команду xserver для команди lightdm, що вирішило для мене проблему. Якщо розмістити цю відповідь тут для наочності, оскільки інша відповідь не відображається помітно на Google.


0

У мене було те саме повідомлення про помилку, але воно було викликане glutInitContextVersion (4, 0); оскільки моє обладнання не підтримувало OpenGL 4.0, я змінив виклик на glutInitContextVersion (3, 3); і все стало добре. Я використовую фірмовий драйвер NVidia.


1
Чи можете ви пояснити, як ви це зробили?
Занна

glutInitContextVersionне визначено: у freeglut3-dev 2.8.1, Ubuntu 15.10, посилання: stackoverflow.com/questions/22055522/… Але це цікава підказка.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Але я також спробував glfwWindowHint(GLFW_CONTEXT_VERSIONі це не вирішило проблему :-( stackoverflow.com/questions/18113270 / ...
Чіро Сантіллі新疆改造中心法轮功六四事件
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.