The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Как установить AMD Catalyst в Fedor..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Как установить AMD Catalyst в Fedor..."  +/
Сообщение от auto_tips (ok) on 07-Янв-15, 00:14 
++ Преамбула
Прошу не начинать обсуждения не по теме вроде "какая ваша Fedora гадость, в нормальных дистрибутивах проблем никаких" (в Fedora просто в силу прогресса сломали раньше, дойдет и до остальных, например, в свежем Debian уже случилось), "какой ваш GNOME гадость" (проблемы не специфичны для гномовского десктопа, всякие rhythmbox и другой софт, использующий clutter сломан точно также), "какие бинарные драйверы гадость" (с открытыми драйверами на многих карточках безумно шумит кулер, пока не исправлена [[https://bugs.freedesktop.org/show_bug.cgi?id=73338 вот эта ошибка]], а еще проблемы с suspend и прочее) или так далее. А вот предложения, как сделать эти инструкции более надежными приветствуются.

++ Задача

Итак, есть свежая Fedora 21, 64-х битная система с карточкой AMD, нужно заставить работать Catalyst, чтобы не сломался gdm или программы, собранные с clutter, в том числе GNOME. В rpmfusion каталиста нет, советы в интернете предлагают идти на какие-то жертвы типа "снести GNOME", "выключить gdm" (лично у меня с lightdm не работает блокировка экрана), "ставить левые пакеты clutter/gnome-shell/etc после каждого обновления, пересобираемые каким-то сомнительным товарищем и выкладываемые на что-то типа mediafire без подписи" и так далее. Это не наш путь, нужно, чтобы работало все как есть и цивилизованно: пакеты в rpm'ках, не сломанная функциональность и прочее. Это достижимо (ну, почти). Инструкция проверена на последних версиях пакетов на данный момент (Catalyst 14.12, ядро 3.17.7 gnome-shell 3.14.3, gdm 3.14.1, clutter 1.20.0)

++ Инструкция

Загружаем AMD Catalyst - amd-catalyst-omega-14.12-linux-run-installers.zip. Распаковываем, переходим в fglrx-14.501.1003. Качаем патч, чтобы собрать с ядром 3.17:

   wget https://bluehatrecord.files.wordpress.com/2014/11/3-17_kerne...

Накладываем патч и собираем rpm пакет. Федоры в списке нет, зато есть RHEL7, который почти F19, которая почти F21 - в общем, то, что надо!

   sh amd-driver-installer-14.501.1003-x86.x86_64.run --extract
   cd fglrx-install.*
   patch -p0 < ../3-17_kernel-patch.doc
   ./ati-installer.sh '14.501' --buildpkg RedHat/RHEL7_64a

Ставим пакет и создаем файл конфигурации Xorg.

   sudo rpm -i ../fglrx64_p_i_c-14.501.1003-1.x86_64.rpm
   aticonfig --initial

Выключаем драйвер radeon и kernel modesetting.
Правим /etc/sysconfig/grub, в строку GRUB_CMDLINE_LINUX= добавляем

   radeon.modeset=0 rd.driver.blacklist=radeon nomodeset

к тому, что там уже есть; пересоздаем конфиг grub командой

   grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

на современной системе с UEFI, или же

   grub2-mkconfig -o /boot/grub2/grub.cfg

на системой со старым BIOS или на UEFI-системе в legacy-режиме

Чиним ошибку в clutter. Создаем файл /etc/X11/xinit/xinitrc.d/cogl-setup.sh по такой инструкции:

   sudo sh -c "cat > /etc/X11/xinit/xinitrc.d/cogl-setup.sh" << EOF
   export COGL_DRIVER=gl
   export COGL_OVERRIDE_GL_VERSION=1.4
   export COGL_RENDERER=GLX
   export LD_PRELOAD=/usr/lib64/fglrx/fglrx-libGL.so.1.2
   EOF
   sudo chmod +x  /etc/X11/xinit/xinitrc.d/cogl-setup.sh

Чиним проверку версии X'ов в драйвере при использовании gdm. Аккуратнее - точно выполняйте эти команды, нельзя их менять, если что-то в них непонятно - а то не сработает, либо вообще повредите бинарник и придется переставлять fglrx:

   sudo -i
   Xorg -version > /amd_xversion 2>&1
   cd /usr/lib64/xorg/modules/drivers/
   offset=`strings -td fglrx_drv.so | grep '/proc/%i/fd/0' | sed 's/^ *//' | cut -d' ' -f1`
   echo -ne '/amd_xversion' | dd conv=notrunc of=fglrx_drv.so bs=1 count=13 seek=$offset
   cd ../extensions
   offsetext=`strings -td libglx.so | grep '/proc/%i/fd/0' | sed 's/^ *//' | cut -d' ' -f1`
   echo -ne '/amd_xversion' | dd conv=notrunc of=libglx.so bs=1 count=13 seek=$offsetext
   exit

Здесь на диске меняются два бинарника, если переставить rpm'ку fglrx, это придется делать заново. В процессе будет создан файл /amd_xversion, не удаляйте его! Оттуда драйвер будет считывать версию иксов.

Чиним запускаемый специальным образом gnome-shell, который выполняет gdm (да, он сейчас не сам по себе, фон и верхнюю панель рисует именно gnome-shell). Правим /usr/share/gdm/greeter/applications/gnome-shell.desktop и меняем строку

   Exec=gnome-shell --mode=gdm" на "Exec=env COGL_DRIVER=gl COGL_OVERRIDE_GL_VERSION=1.4 COGL_RENDERER=GLX LD_PRELOAD=/usr/lib64/fglrx/fglrx-libGL.so.1.2 gnome-shell --mode=gdm

Это самое несовершенное изменение - если обновить gdm, это придется делать заново, так как rpm перетрет файл. Я не знаю, как это сделать более нормально - патчить при загрузке изврат, вроде теоретически можно создать свою копию gnome-shell.desktop и копию /usr/share/gnome-session/sessions/gdm-shell.session, в котором прописать вместо gnome-shell свою версию, а потом поправить dconf'ом файлик /usr/share/gdm/greeter-dconf-defaults, чтобы gdm использовал системную сессию, отличную от gdm-shell.session. Но, подозреваю, rpm это тоже переписывает. []В общем, если кто-то знает, как сделать аналог этого изменения, чтобы нормально обновлялся gdm и ничего не ломалось - сообщите![]


PS. Я также опубликовал английский вариант на [[http://forums.fedoraforum.org/showpost.php?p=1719887&postcou... fedoraforum]] - это не совсем точный перевод русского текста, просто написав инструкцию на-английском, решил сделать и русский вариант, заодно упростил некоторые вещи, так как полагаю, что тут аудитория более подготовленная, чем на fedoraforum.

PPS. Ошибка в Clutter, из-за которой приходится прописывать переменные окружения можно отслеживать на [[https://bugzilla.redhat.com/show_bug.cgi?id=1054435 данной странице]].

URL:
Обсуждается: https://www.opennet.ru/tips/info/2876.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как установить AMD Catalyst в Fedora 21, не ломая GNOME и др..."  +/
Сообщение от Zenitur (ok) on 07-Янв-15, 00:14 
В Opensuse уже давно разделение на core, opencl, x11 и ещё что-то. Неужели spec-файл для создания RPM для Fedora и Opensuse пишут разные люди?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Как установить AMD Catalyst в Fedora 21, не ломая GNOME и др..."  +/
Сообщение от Stax (ok) on 07-Янв-15, 00:59 
Разные. Стандарты на spec'и разные в разных дистрибутивах - очень много разных нестандартных макросов и стандартов, как делать те или иные вещи. У opensuse самые "простые" spec-файлы с минимумом макросов, в RH/fedora сложнее, особенно в последнее время, а в ALT (исторически со времен MDK, вероятно) самые сложные и насыщенные используемыми макросами.

Для простого софта нет особой разницы, но чем хитрее софт, тем ее больше. Портировать спеки из opensuse в другие не так сложно, а вот назад из тех, где много макросов в те, где их меньше - неприятно.

В любом случае, собственно само заворачивание fglrx в rpm'ку проблем не вызывает (в данном случае делается в одну команду). Ну да, штатная одним пакетом, но в данной ситуации это ни на что не влияет. В rpmfusion, кстати, для федоры тоже был разделенный пакет - драйвер, библиотеки, модуль ядра и тд все раздельно, можно оттуда взять спеки и собрать так, просто в данном случае смысла нет усложнять, если для себя делаешь. Его убрали из rpmfusion не потому, что спек написать проблема, а потому, что поддерживать некому (дело тяжелое и неблагодарное)..

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Как установить AMD Catalyst в Fedora 21, не ломая GNOME и др..."  +/
Сообщение от Аноним (??) on 07-Янв-15, 20:34 
> пока не исправлена вот эта ошибка

Вообще-то уже исправлена - управление кулером средствами DPM запилено в ядре 3.19, -RC которого уже доступны :). В принципе там и патч с ручным управлением есть - Владимир Владимирович должен оценить.

Так что вместо занятий таким эпичным кластерфаком лучше бы проверили что кулер более не гудит. Актуально на данный момент для GCN'ов.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Как установить AMD Catalyst в Fedora 21, не ломая GNOME и др..."  +/
Сообщение от Stax (ok) on 07-Янв-15, 20:52 
А почему вы считаете, что я не проверял? Совсем недавно ядро из drm-next собирал и смотрел. Ничего там исправлено - т.е. исправлено только для каких-то карточек конкретных, а например для 79XX (Southern Islands) пока решения нет. Это известные проблемы, автор обещал "в конце декабря" посмотреть.

Да не в этом суть, исправят косяк - замечательно. Как я сказал, есть масса других причин, по которым может быть необходим каталист (нормальная настройка ТВ-выхода - выбор YUV/RGB режимов, limited/full range и тд), кому-то crossfire нужен, у кого-то ноут (с suspend'ом на открытом драйвере совсем плохо), ну мало ли что. Если вам лично нормально живется без каталиста - это прекрасно (мне тоже жилось неплохо до текущей карточки). Но вот для тех, кому он нужен, хотелось решение.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

8. "Как установить AMD Catalyst в Fedora 21, не ломая GNOME и др..."  +/
Сообщение от Аноним (??) on 06-Мрт-15, 18:47 
>В принципе там и патч с ручным управлением есть - Владимир Владимирович должен оценить.

Ручное управление не от хорошей жизни. Видиокарта и ос должны сразу все делать как надо, не не уши и мозги насиловать.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Как установить AMD Catalyst в Fedora 21, не ломая GNOME и др..."  +/
Сообщение от Чудак on 27-Янв-15, 16:15 
Я как-то пробовал ставить на OpenSuSe драйвер от ATI, однако после этого перестал работать необходимый для меня Skype, вернул, не разбираясь в причинах, открытый. Спасибо за то, что поделились поделился своими наработками, авось сгодятся...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Как установить AMD Catalyst в Fedora 21, не ломая GNOME и др..."  +/
Сообщение от Аноним (??) on 30-Янв-15, 11:30 
7950. Ничего не гудит. Только смысл иметь производительную видеокарту и не пользоваться ей - для меня всегда оставалось загадкой.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Как установить AMD Catalyst в Fedora 21, не ломая GNOME и др..."  +/
Сообщение от Аноним (??) on 30-Янв-15, 11:32 
*Производительную и недешевую
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру