Я следовал инструкциям на разделе 3.2 из этой страницы.
Все подходило до шага 8, который должен использовать sudo amdconfig --initial
для создания нового xorg.conf файла но я получаю следующую ошибку:
amdconfig: error while loading shared libraries: libGL.so.1: wrong ELF class: ELFCLASS32
Я пытался создать файл /etc/ld.so.conf.d/lib32.conf
с /usr/lib32
внутри, как второй ответ, здесь предложенный, и, работал sudo ldconfig
но ничто не изменилось.
Править: Установленный libgl1-mesa-glx:i386
и работал sudo ldconfig
, и проблема, сохраненная даже после перезагрузки.
EDIT2: Начиная с шага семь из первой ссылки после перезагрузки моих верхних и боковых панелей единицы и также отсутствует тире, но я предполагаю, что это будет зафиксировано, когда я закончу установку драйверов.
EDIT3: Та же ошибка происходит с fglrxinfo
и glxinfo
команда (прежде чем следующий шаг 7 glx информации был нормален).
EDIT4: вывод lspci -v | grep -A10 VGA
(завершите вывод),
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller])
Subsystem: Dell Device 0572
Flags: bus master, fast devsel, latency 0, IRQ 45
Memory at c1000000 (64-bit, non-prefetchable) [size=4M]
Memory at b0000000 (64-bit, prefetchable) [size=256M]
I/O ports at 4000 [size=64]
Expansion ROM at <unassigned> [disabled]
Capabilities: <access denied>
Kernel driver in use: i915
01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Chelsea LP [Radeon HD 7730M] (prog-if 00 [VGA controller])
Subsystem: Dell Device 0572
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at a0000000 (64-bit, prefetchable) [size=256M]
Memory at c0000000 (64-bit, non-prefetchable) [size=256K]
I/O ports at 3000 [size=256]
Expansion ROM at c0040000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: fglrx_pci
Править: вывод dpkg -S libGL.so.1
:
libgl1-mesa-glx:amd64: /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
libgl1-mesa-glx:amd64: /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0
Обратите внимание:
Для Ubuntu 16.04 LTS и выше драйвер AMD Catalyst или fglrx больше не поддерживается AMD.
blockquote>Если вы используете 16.04 LTS или выше, скорее всего, вы сами. Следующее предназначено только для случая, описанного в вопросе. Я не могу гарантировать, что это будет работать на более поздних версиях.
Проблема, которую мы решили прокомментировать, заключалась в том, что вы использовали 32-битные библиотеки в 64-битной системе.
неправильный класс ELF: ELFCLASS32
blockquote>Окончание класса должно было составлять 64, что приводит к этой ошибке. Для этого нужно очистить 32-битные библиотеки, а затем переустановить 64-битные.
sudo apt-get purge libgl1-mesa-glx:i386 sudo apt-get --reinstall install libgl1-mesa-glx
И обновление нашего компоновщика GNU:
sudo ldconfig
Когда все будет в порядке,
ldconfig -p | grep libGL.so.1
должно показать:libGL.so.1 (libc6) => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 libGL.so.1 (libc6) => /usr/local/lib/libGL.so.1
Если вам когда-нибудь понадобятся 32-битные библиотеки для запуска 32-битных приложений вы можете сделать это, установив пакет
libgl1-mesa-glx:i386
. Но в этом случае не забудьте временно установитьLD_LIBRARY_PATH
в то место, где находятся 32-битные библиотеки, чтобы это не испортило ваши другие программы.export LD_LIBRARY_PATH="/path/to/library/" ./run_some_32_bit_program
Вместо того, чтобы редактировать файл ld.so.conf непосредственно, создайте файл, названный local.conf в подкаталоге/etc/ld.so.conf.d содержащий просто строку/usr/local/lib. Таким образом,
Содержание/etc/ld.so.conf.d/local.conf:
/usr/lib64
Затем выполните команду ldconfig. (Это предполагает, что файл/etc/ld.so.conf содержит строку, включают/etc/ld.so.conf.d / *.conf.)
Только необходимо сделать это однажды.
У меня внезапно возникла та же проблема после обновления ядра. Мне не удалось войти в графический интерфейс. Запустив команду «aticonfig», я получил эту ошибку и обнаружил ее также в Xorg.0.log. Я использую 64-битную систему Debian Jessie с 32-битными библиотеками для таких программ, как wine и skype. Удаление пакета «libgl1-mesa-glx: i386» также удалило скайп и wine32, но не решило проблему.
Я обнаружил, что установщик драйверов AMD создает неправильную ссылку на 32-битную библиотеку из-за неправильной интерпретации архитектуры системы, хотя он, очевидно, правильно распознал архитектуру в программе установщика.
Выполнение команды локализации для библиотеки может дать вам следующую информацию:
# find / -name libGL.so*
/usr/lib/i386-linux-gnu/libGL.so.1
/usr/lib/i386-linux-gnu/libGL.so
/usr/lib/i386-linux-gnu/libGL.so.1.2
/usr/lib/i386-linux-gnu/libGL.so.1.2.0
/usr/lib/libGL.so
/usr/lib/libGL.so.1.2
/usr/lib/libGL.so.1
/usr/lib64/libGL.so.1.2
/usr/lib64/libGL.so.1
/usr/lib64/libGL.so
Но вы обнаружите, что стандартные библиотеки системы в "/ usr / lib" ссылаются на версии библиотеки в "/ usr / lib / i386-linux-gnu /", что делает 32-битную версию библиотеки libGL.so.1 версией по умолчанию. Эта ссылка создана установщиком драйвера AMD из-за неправильного толкования структуры системы. Эта ошибка происходит из-за наличия в системе каталога "/ usr / lib64 /". В 64-битной системе нет папки «/ usr / lib64 /», поскольку все 64-битные версии библиотек находятся в «/ usr / lib /». Таким образом, Установщик ошибочно принимает Систему за 32-битную Систему и создает ссылку на 32-битную версию "libGL.so.1"
Как это можно исправить? - Сначала запустите деинсталлятор драйвера в "/ usr / share / ati"
# ls -lah /usr/share/ati
-rw-r--r-- 1 root root 2,4K oct 19 20:51 fglrx-install.log
-rwxr--r-- 1 root root 18K oct 19 20:51 fglrx-uninstall.sh
. Это удалит все неправильные ссылки.
Даже после этого шага я уже смог получить графический логин с предупреждением о том, что у него нет Пропускного Водителя.
# cd /usr # ls -lah drwxr-xr-x 182 root root 40K oct 19 20:50 lib drwxr-xr-x 5 root root 4,0K oct 19 20:40 lib64 # pwd /usr # mv lib64 lib64_2015-10-19 # ls -lah drwxr-xr-x 182 root root 40K oct 19 20:50 lib drwxr-xr-x 5 root root 4,0K oct 19 20:40 lib64_2015-10-19
Теперь вы найдете правильную ссылку на 64-битную версию libGL.so.1.
# ls -lah /usr/lib/libGL.so.1.2
lrwxrwxrwx 1 root root 33 oct 19 20:50 /usr/lib/libGL.so.1.2 -> /usr/lib/fglrx/fglrx-libGL.so.1.2
Теперь вы можете снова получить графический логин в обычном режиме.