LINUX.ORG.RU

не работает opengl

 ,


0

1

glxinfo | grep -i render
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 150 (GLX)
Minor opcode of failed request: 24 (X_GLXCreateNewContext)
Value in failed request: 0x0
Serial number of failed request: 96
Current serial number in output stream: 97
Перед этим пришли обновление драйверов x11-drivers/nvidia-drivers-440.64 и тут мне выдало, что пакет блокируется app-eselect/eselect-opengl, я снёс последний и обновил драйвер, теперь app-eselect/eselect-opengl не устанавливается обратно
app-eselect/eselect-opengl («app-eselect/eselect-opengl» is blocking media-libs/mesa-19.3.5, x11-drivers/nvidia-drivers-440.64, x11-base/xorg-server-1.20.7)

★★★★

mesa с какими флагами собрано? Недавно был добавлен какой-то use флаг, который вместо eselect-opengl что-то другое использует.

Какие флаги у xorg-server и nvidia-drivers?

У всех трёх должен быть флаг https://packages.gentoo.org/useflags/libglvnd , судя по всему.

Соответственно, чтобы вернуть eselect-opengl (если без него не заработает), нужно отключить этот use flag у них всех.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 2)
Ответ на: комментарий от grem

equery u mesa
+ + X : Add support for X11
+ + abi_x86_32 : 32-bit (x86) libraries
+ + dri3 : Enable DRI3 support.
+ + egl : Enable EGL support.
+ + gallium : Build drivers based on Gallium3D, the new
+ + gbm : Enable the Graphics Buffer Manager for EGL on KMS.
+ + gles1 : Enable GLESv1 support.
+ + gles2 : Enable GLESv2 support.
+ + libglvnd : Use libglvnd for dispatch.
+ + llvm : Enable LLVM backend for Gallium3D.
+ + opencl : Enable the Clover Gallium OpenCL state tracker.
+ + vaapi : Enable Video Acceleration API for hardware decoding
+ + vdpau : Enable the VDPAU acceleration interface for the
+ + xvmc

equery u xorg-server
+ + libglvnd : Use libglvnd for dispatch.
+ + suid : Enable setuid root program, with potential security risks
+ + udev : Enable virtual/udev integration (device discovery, power and storage device support,
+ + xorg : Build the Xorg X server (HIGHLY RECOMMENDED)

equery u nvidia-drivers
+ + X : Install the X.org driver, OpenGL libraries, XvMC libraries, and VDPAU libraries
+ + abi_x86_32 : 32-bit (x86) libraries
+ + acpi : Add support for Advanced Configuration and Power Interface
+ + driver : Install the kernel driver module
+ + kms : Enable support for kernel mode setting (KMS)
- + libglvnd : Use media-libs/libglvnd for dispatch
+ + multilib : On 64bit systems, if you want to be able to compile 32bit and 64bit binaries
+ + static-libs : Build static versions of dynamic libraries as well
+ + tools : Install additional tools such as nvidia-settings
+ + uvm

Satou ★★★★
() автор топика
Последнее исправление: Satou (всего исправлений: 1)

Флаг libglvnd должен быть везде или включен или выключен. Если он везде включен - eselect-opengl не нужен, за всё будет отвечать именно libglvnd. Если его везде выключить - будет поведение как по-старому - через eselect opengl.

Pinkbyte ★★★★★
()
Ответ на: комментарий от grem

Это я искал в интернетах, там было что то про него, я добавил в package.use -libglvnd но это ничего не дало, а обратно не вернул, собран он с ним

Satou ★★★★
() автор топика
Ответ на: комментарий от Pinkbyte

То есть eselect-opengl не нужен и всё автоматом рулится? Если да, то почему opengl не работает?

Satou ★★★★
() автор топика
Ответ на: комментарий от Satou

Если да, то почему opengl не работает?

Судя по equery u nvidia-drivers, у тебя они собраны без поддержки libglvnd. Следовательно нет файла провайдера и библиотека libglvnd тупо не знает о том, что nvidia-drivers предоставляет свою реализацию opengl, поэтому он и не работает.

Вот выхлоп equery u nvidia-drivers у меня:

pinkbyte@oas1 ~ $ equery u nvidia-drivers
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for x11-drivers/nvidia-drivers-440.64:
 U I
 + + X           : Install the X.org driver, OpenGL libraries, XvMC libraries, and VDPAU libraries
 + - abi_x86_32  : 32-bit (x86) libraries
 + + acpi        : Add support for Advanced Configuration and Power Interface
 - - compat      : Install non-GLVND libGL for backwards compatibility
 + - driver      : Install the kernel driver module
 - - gtk3        : Install nvidia-settings with support for GTK+ 3
 + - kms         : Enable support for kernel mode setting (KMS)
 + + libglvnd    : Use media-libs/libglvnd for dispatch
 + + multilib    : On 64bit systems, if you want to be able to compile 32bit and 64bit binaries
 - - static-libs : Build static versions of dynamic libraries as well
 + - tools       : Install additional tools such as nvidia-settings
 - - uvm         : Install the Unified Memory kernel module (nvidia-uvm) for sharing memory between CPU and GPU in CUDA programs
 - - wayland     : Enable dev-libs/wayland backend

Обрати внимание на то, что плюсов там у меня всё-таки 2, а не один, как у тебя.

Ну и дурацкий вопрос - иксы-то ты после апдейта конечно же перезапустил?

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 3)
Ответ на: комментарий от Pinkbyte

Вернул всё обратно, на всякий случай пересобрал драйвер, не помогло
glxinfo | grep -i render
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 150 (GLX)
Minor opcode of failed request: 24 (X_GLXCreateNewContext)
Value in failed request: 0x0
Serial number of failed request: 96
Current serial number in output stream: 97

Ну и дурацкий вопрос - иксы-то ты после апдейта конечно же перезапустил?

Нет

Satou ★★★★
() автор топика
Последнее исправление: Satou (всего исправлений: 1)
Ответ на: комментарий от Satou

Нет

Эмммм... Ну тогда естественно почему оно не заработало - это какгбе breaking changes, тут надо иксы рестартить чтоб взлетело

Pinkbyte ★★★★★
()
Ответ на: комментарий от Satou

а потом гонят на хуанга и на дистрибутив, хосспаде

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.