AstraLinux. Проблемы с OpenGL и драйверами Nvidia
Всем доброго времени суток. Возникла достаточно специфическая проблема: При установке сначала Qt, а впоследствии и драйверов Nvidia (с официального сайта AstraLinux) при запуске qtcreator из xterm появляется следующее сообщение:
Со снесенными драйверами :
С установленными драйверами:
Однако, занимательный момент. Если сначала поставить Qtcreator, а потом уже только драйвера, то вроде бы даже Qt запускается!
Подскажите, добрые люди, почему оно конфликтует, и как от этого избавиться?
Так же, небольшое дополнение, как мне приходится ломать зависимости чтобы установить драйвер nvidia :
После такой установки, кстати, aptitude очень хочет снести мне весь qt, как раз из-за пакета libgl1-mesa-dev.
В Astra Linux криво сделано, либо надо читать официальную документацию.
К примеру, как это сделано в Debian. В репозитории присутствуют два различных пакета с открытой реализацией libgl из состава mesa и с реализацией libgl из состава драйвера Nvidia. Далее после установки драйвера nvidia посредством update-alternatives осуществляется переключение символьных ссылок из /usr/lib/libGL* на соответствующую реализацию LibGL, соответствующую используемому драйверу.
Почему в Astra Linux они так не сделали — спрашивай у разработчиков и пиши им в баг трекер.
Ну либо читай официальную документацию, возможно там написано как это правильно сделать.
Но я думаю, что у них просто косяк в зависимостях пакетов, ну либо они вообще не делали символьных ссылок и в пакете с драйвером Nvidia есть конфликт файлов LibGL из состава Mesa.
В общем, это вопрос к разработчикам дистрибутива, пиши на их форум.
Ну и драйвер, всё же должен ставиться не посредством dpkg -i nvidia*.deb, а обычно через apt-get install nvidia. что-то там.
Да, я понимаю, что Astra — это косяк на косяке. И было бы хорошо написать на их форум, или почитать документацию, однако из документации там только указание через dpkg установить драйвер на nvidia. Все. Это же система чтобы документы офицеров печатать, а не для того чтобы нормально занимать разработкой. Может быть еще какие идеи есть, как это руками можно все пофиксить?
И было бы хорошо написать на их форум
однако из документации там только указание через dpkg установить драйвер на nvidia
Ну так и напиши им, что дескать при установке описанным способом возникает конфликт с файлами другого пакета.
Может быть еще какие идеи есть, как это руками можно все пофиксить?
Ковертни deb пакет с nvidia драйвером в архив и тупо разархивируй в корень. Предварительно переустанови пакет с libgl1-mesa.
Но это всё неправильно. При установке пакетов из официального репозитория проблем быть не должно. Так же должны быть рабочими все механизмы. Если что-то не так — вперёд писать в тех. поддержку.
Ну либо ты можешь разобраться как изменить пакет libgl1-mesa и пакет с драйвером nvidia, что бы он ставили свои реализации LibGL в разные директории и последний создавал символьные ссылки на свои файлы. Сценарием, который вызывается после установки пакета.
А в чем вообще суть с символьными ссылками? Почему в чем причина данного конфликта? Объясни пожалуйста, не понимаю.
Графические приложения слинкованы с библиотекой LibGL.so, которая находится в /usr/lib/x86_64-linux-gnu/libGL.so. В Linux есть несколько реализаций этой библиотеки, открытая из состава mesa и закрытые из состава драйверов Nvidia и AMD. Т.е. в системе может быть установлено несколько драйверов, то реализация каждой соответствующей библиотеки LibGL должна быть установлена в свою отдельную директорию, например что-то вроде /usr/lib64/opengl/nvidia/lib/libGL.so, как это сделано в Gentoo.
Т.к. приложения слинкованы с /usr/lib/x86_64-linux-gnu/libGL.so, то /usr/lib/x86_64-linux-gnu/libGL.so должны быть ссылкой на соответствующую реализацию LibGL, т.е. ссылкой на реализации библиотек из состава драйвера Nvidia.
В Astra же mesa реализация библиотеки ставится сразу в /usr/lib/x86_64-linux-gnu/libGL.so, но в составе пакета с драйвером Nvidia есть тоже своя библиотека и она тоже ставится в /usr/lib/x86_64-linux-gnu/libGL.so.
Пакетный менеджер видит конфликт библиотек и препятствует установке пакета.
Разработчики должны были собрать пакеты таким способом, что бы LibGL из mesa, nvidia и amd ставились в отдельные директории, а в /usr/lib/x86_64-linux-gnu/libGL.so создавались символьные ссылки на конкретную реализацию посредством скрипта, который бы вызывался уже после установки пакета.
В таком случае бы конфликтов не было бы и файлы не перезаписывались.
Т.е. должны быть что-то вроде:
Я правильно понимаю, что надо тот же самый libGl.so распихать по папкам, соответствующим производителю (например . /mesa/libGL.so ; . /nvidia/libGL.so), а потом создать символическую ссылку аж на несколько файлов? Нормально ли поведут себя в таком случае программы, которые эти библиотеки используют?
Я правильно понимаю, что надо тот же самый libGl.so распихать по папкам,
Не тот же самый, а в папку с mesa реализации библиотек mesa, в папку nvidia реализации библиотек nvidia, в папку amd — реализации amd.
а потом создать символическую ссылку аж на несколько файлов?
Разных ссылок и на разные файлы, вот как это выглядит для Nvidia в Gentoo:
Нормально ли поведут себя в таком случае программы, которые эти библиотеки используют?
попробуйте спросить в группе Astra Linux в Телеграм
Да, я понимаю, что Astra — это косяк на косяке.
Драйвера нвидиа нормально встают на ту версию Астры, под которую были собраны.
Проблему не подтверждаю, для разъяснения ситуации предложил пройти в специальную группу по Астре
Проблема:
Почему пакет с драйвером Nvidia не в официальном репозитории?
И, возможно, вторая проблема, почему нет пакета под нужную версию Astra Linux? Smolensk — это последний релиз или нет?
Всё это приводит к описанной в теме проблеме.
Всё должно быть в репозитории и нормально поддерживаться.
Драйвера встают не всегда нормально, хотя по идее должны бы. Суть проблемы я изложил тут.
Ну и действительно, использовать Астру — не самое приятное что может быть.
И самая большая проблема — как я её вижу для себя — это все-таки кастомные пакеты, да, я понимаю, что, скорее всего, это было сделано в целях обеспечения необходимого уровня безопасности, и, система вроде Астры — не совсем подходит для того, чтобы заниматься разработкой в привычном мне виде.
Однако, для своих задач, которые я вижу, которые могут возникнуть у целевой аудитории, которая будет использовать продукт, Астра походит, и проблем с ней особых не должно быть.
Так же я понимаю, что не стоит выкручивать кувалдой болты из ноутбука, а потом удивляться, почему же он не работает. Для всего есть свой инструмент.
Источник
Libgl1 i386 astra linux
It doesn’t work for me.
Failed to parse arguments: Option «—disable-factory» is no longer supported in this version of gnome-terminal.
Package libgl1-mesa-dri:i386 needs to be installed
Package libgl1-mesa-glx:i386 needs to be installed
Package libc6:i386 needs to be installed
Running Steam on debian 9 64-bit
STEAM_RUNTIME is enabled automatically
Pins up-to-date!
Error: You are missing the following 32-bit libraries, and Steam may not run:
libGL.so.1
libdrm.so.2
Installing breakpad exception handler for appid(steam)/version(1521764535)
Installing breakpad exception handler for appid(steam)/version(1521764535)
Installing breakpad exception handler for appid(steam)/version(1521764535)
Failed to load steamui.so — dlerror(): libGL.so.1: wrong ELF class: ELFCLASS64
Installing breakpad exception handler for appid(steam)/version(1521764535)
Installing breakpad exception handler for appid(steam)/version(1521764535)
[2018-03-25 02:32:52] Startup — updater built Mar 22 2018 16:58:36
Looks like steam didn’t shutdown cleanly, scheduling immediate update check
[2018-03-25 02:32:52] Checking for update on startup
[2018-03-25 02:32:52] Checking for available updates.
[2018-03-25 02:32:52] Download skipped by HTTP 304 Not Modified
[2018-03-25 02:32:52] Nothing to do
[2018-03-25 02:32:52] Verifying installation.
[2018-03-25 02:32:52] Performing checksum verification of executable files
[2018-03-25 02:32:53] Verification complete
[2018-03-25 02:32:56] Shutdown
My steam.conf
1 /usr/lib32
2 /usr/lib/i386-linux-gnu/mesa
But this directory /usr/lib/i386-linux-gnu/mesa doesn’t exist.
I have Debian Stretch.
Linux debian 4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02) x86_64 GNU/Linux
Источник
Libgl1 i386 astra linux
I have a problem with steam after installation its package. My system Linux Debian 9 Stretch.
$ uname -rv
4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02)
Failed to parse arguments: Option «—disable-factory» is no longer supported in this version of gnome-terminal.
Package libgl1-mesa-dri:i386 needs to be installed
Package libgl1-mesa-glx:i386 needs to be installed
Package libc6:i386 needs to be installed
Running Steam on debian 9 64-bit
STEAM_RUNTIME is enabled automatically
Pins up-to-date!
Error: You are missing the following 32-bit libraries, and Steam may not run:
libGL.so.1
libxcb.so.1
libxcb.so.1
libxcb.so.1
libdrm.so.2
libxcb.so.1
libxcb.so.1
/home/kauffman/.local/share/Steam/ubuntu12_32/steam: error while loading shared libraries: libxcb.so.1: wrong ELF class: ELFCLASS64
On the previous system, I didn’t have these problems. However, I used exactly version of system.
How can I fix this problem?
Did you enable the 32 bit layer?
Did you enable the 32 bit layer?
Did you enable the 32 bit layer?
Is mesa properly installed?
glxinfo | grep «OpenGL version»
I have a problem with steam after installation its package. My system Linux Debian 9 Stretch.
$ uname -rv
4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02)
Failed to parse arguments: Option «—disable-factory» is no longer supported in this version of gnome-terminal.
Package libgl1-mesa-dri:i386 needs to be installed
Package libgl1-mesa-glx:i386 needs to be installed
Package libc6:i386 needs to be installed
Running Steam on debian 9 64-bit
STEAM_RUNTIME is enabled automatically
Pins up-to-date!
Error: You are missing the following 32-bit libraries, and Steam may not run:
libGL.so.1
libxcb.so.1
libxcb.so.1
libxcb.so.1
libdrm.so.2
libxcb.so.1
libxcb.so.1
/home/kauffman/.local/share/Steam/ubuntu12_32/steam: error while loading shared libraries: libxcb.so.1: wrong ELF class: ELFCLASS64
On the previous system, I didn’t have these problems. However, I used exactly version of system.
How can I fix this problem?
How did you install? Steam debian package or from Debian repositories?
Check if you can find in your system all the libGL.so libraries (check that you have a 32bit version). For example:
Is mesa properly installed?
glxinfo | grep «OpenGL version»
I have a problem with steam after installation its package. My system Linux Debian 9 Stretch.
$ uname -rv
4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02)
Failed to parse arguments: Option «—disable-factory» is no longer supported in this version of gnome-terminal.
Package libgl1-mesa-dri:i386 needs to be installed
Package libgl1-mesa-glx:i386 needs to be installed
Package libc6:i386 needs to be installed
Running Steam on debian 9 64-bit
STEAM_RUNTIME is enabled automatically
Pins up-to-date!
Error: You are missing the following 32-bit libraries, and Steam may not run:
libGL.so.1
libxcb.so.1
libxcb.so.1
libxcb.so.1
libdrm.so.2
libxcb.so.1
libxcb.so.1
/home/kauffman/.local/share/Steam/ubuntu12_32/steam: error while loading shared libraries: libxcb.so.1: wrong ELF class: ELFCLASS64
On the previous system, I didn’t have these problems. However, I used exactly version of system.
How can I fix this problem?
How did you install? Steam Debian package or from Debian repositories?
Check if you can find in your system all the libGL.so libraries (check that you have a 32bit version). For example:
Also, what’s your GPU? Are you using Mesa drivers?
I installed steam from the package, which downloaded from steampowered.com. Then I executed following command:
dpkg —add-architecture i386
apt update && apt upgrade
apt install steam — package was installed
Done.
I have integrated GPU. )))
BTW: this command updatedb | locate libGL.so freezes like this:
sudo updatedb | locate libGL.so
[sudo] password for kauffman: /home/kauffman/.dropbox-dist/dropbox-lnx.x86_64-46.3.60/libGL.so.1
/snap/keepassxc/37/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
/snap/keepassxc/37/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0
/usr/lib/insync/libGL.so.1
/usr/lib/x86_64-linux-gnu/libGL.so.1
/usr/lib/x86_64-linux-gnu/libGL.so.1.2.0
I installed steam from the package, which downloaded from steampowered.com. Then I executed following command:
dpkg —add-architecture i386
apt update && apt upgrade
apt install steam — package was installed
Done.
So you run «dpkg -i steam.deb» and then tried to install steam from the repos? The last step should has fail I think. Anyway, try to purge the steam.deb you installed (dpkg -P steam.deb) and the follow the wiki the Max Payne shared.
You also don’t have Mesa i386 packages, but that problem will be handled by apt when you install from repos, so don’t worry.
Integrated GPU is most likely Intel or AMD (depending on CPU brand) but in some old hardware even NVidia had integrated graphics (when GPUs were integrated on the MOBO not on the CPU).
We really should wait for OP to give that info before telling him to install any 64/32-bit proprietary gpu drivers or mesa.
to OP:
You should tell us which brand that integrated gpu is so we can help further.
Also, you should always install Steam from your distro’s default repo instead of downloading it from the website because its usually a version with distro-specific dependencies and compatibility issues ironed out.
im having some issues here
Running Steam on parrot 4.8 64-bit
STEAM_RUNTIME is enabled automatically
Pins potentially out-of-date, rebuilding.
Found newer runtime version for 32-bit libvulkan.so.1. Host: 1.2.131 Runtime: 1.2.135
Found newer runtime version for 64-bit libGLU.so.1. Host: 1.3.1 Runtime: 1.3.8004
Forced use of runtime version for 64-bit libcurl.so.4. Host: 4.6.0 Runtime: 4.2.0
Found newer runtime version for 64-bit libdbusmenu-glib.so.4. Host: 4.0.12 Runtime: 4.0.13
Found newer runtime version for 64-bit libpangox-1.0.so.0. Host: 0.0.0 Runtime: 0.3000.0
Found newer runtime version for 64-bit libvulkan.so.1. Host: 1.2.131 Runtime: 1.2.135
Error: You are missing the following 32-bit libraries, and Steam may not run:
libGL.so.1
quoting myself from previous topics about Parrot and Kali:
Its time for todays «Even Kali developers say its not for daily use, much less for Steam gaming» talk.
Even though Parrot, Kali and such extra-reinforced privacy and security distros look normal on the surface (a common Desktop Environment), under the hood they are setup as a very safe but very locked down environment, not really suitable for daily use.
I’m not joking about Kali devs, they said it themselves on the distro website. And this applies to its derivates.
If you can, I recommend dumping Parrot for some other Linux Distro. For people recently comming to linux, I usually recommend Linux Mint. It is a great choice, easy to use, wonderful design (not just aestethics), well documented, quite self explanatory, similar to windows in what is good on windows. You might want Ubuntu because Valve supports it officially, or you might also want Solus because it has recently taken extra steps to make Steam work flawlessly in their distro.
If you truly need Parrot for safety and privacy issues, well. dont use Steam on it! Its a seriously unnecessary risk since (by design) Steam downloads lots of closed source executables (the games), runs all kinds of statistics about the host system (telemetry), phones home all the time about those data and hosts a lot of runtime libraries that it can use instead of the ones provided by the host system, some newer, some older, some just different, maybe some with security breaches, obviously not under a distro’s full control. This makes for a very large extra attack surface for someone trying to breach into you system, and for very easy tracking from intercepted signals.
If you are a reporter, activist, leak source, privacy freak or whatever, just have Steam run from a different PC than the one used for safe comm, thats the best way to go about conciliating gaming with those activities.
Since there has been a lot of people complaing about Steam on Kali a while back (meaning also a lot of people trying to use it for that), could I ask you why/how did you choose Parrot? I’m genuinelly curious about this apparent rise in adoption of hardened privacy distros for common uses. is it your first linux distro?
Источник