Погода была не очень - и холодно, и мокро, поэтому из дома выходить не хотелось, но выйти куда-то нужно было и я вышел в интернет: танки, энтропия, варфрейм; но показалось, что иногда эфпээсов не хватает и вспомнил про старую видяху. Та, которая стояла тоже вообще-то старая, но её опознаёт последний 14 каталист, а старую можно найти только в легаси, но зато она с кулером, хоть и не поддерживает dx11 и шейдеры не все, в общем решил поставить более старую вместо более новой, естественно решил и поставить более старые дрова.
Под виндовозом пришлось повозиться, потому что старая карта цеплялась к новым дровам и вылетала, нужно было быстро остановить распознавание драйверов и после этого устанавливать новые, это решилось за пару ребутов, а вот с иксами пришлось сидеть всю ночь и ещё день.
Драйвер 13.1 вроде бы поддерживает Xorg 1.13 но совсем недавно R3 у меня превратилась в R5 и там уже был Xorg 1.15, который уже не поддерживался тем fglrx-13.1, но я то об этом узнал не сразу. Сначала у меня спросило version.h и хэдеры, потом ncurses, потом попробовать скомпилить rpm, понять в какой момент и почему вообще это не работает, стопорится где-то после компиляции dkms без объяснения причин и стирает все билды.
Самое ужасное что могло после этого произойти, это затирание libglx.so на симлинк от fglrx-libglx.so именно из-за этого потом не стартовали другие приложения в GLX, но есть вероятность, что этот симлинк остался после нового каталиста, который тут тоже стоял и добротно работал.
Я бы может и не ковырялся с иксами, если бы вентилятор не гудел, как паровоз, но сразу всё нормально не сложилось, сначала вроде бы даже и было не плохо, но что-то решил подправить и понеслась...
Из полезного при ошибке
"GLX error: Can not get required symbols"
можно проверить
sudo /usr/lib/fglrx/switchlibglx query
но в х64 системе это
sudo /usr/lib64/fglrx/switchlibglx query
он должен ответить, какой glx, glxinfo у меня просто убивал иксы и часть других приложений спонтанно тоже (файрфокс, например), в итоге я поставил обратно fglrx чтобы переключить драйвер на intel
sudo /usr/lib64/fglrx/switchlibglx intel || amd
оно что-то там писало про XvbaATI , но в итоге, это не сильно помогло, а заработало после удаления симлинка libglx.so где то рядом с /usr/lib64/xorg/modules/drivers/
Второй эпический фэйл это когда примус (plymouth) конфликтует с модсэтом, несколько раз я не мог загрузиться в систему, потому что до кучи ещё и drakboot дописывал в загрузчик init=/systemd/systemd и система просто не работала, с большим трудом я об этом догадался после часов 2-3 перезагрузок. Для изменений в конфиги я юзал magOS, хотя и не так быстро и даже rosalivecd всё же доходила до Xorg, а магос что-то не нравилось в видеокарте, тут опять не совсем повезло потому что chroot можно делать из 64 bit в 64, а из 32 в 64 никак, поэтому пришлось винт даже подключать в другому компу, чтобы быстро зачрутить и попробовать восстановить конфиги и файлы через urpmi --replacepkgs не уверен, что это помогло, потому что основная ошибка которую я исправлял была с примусом, потому что он не давал пускать другие systemctl сервисы и в общем оно там не инитилось.
для plymouth есть несколько настроек при загрузке ядра
kernel=... splash=verbose nomodset || radeon.modeset=1,
потом уж я прописал
options radeon modeset=1 dpm=1 в /etc/modules-conf.d/ и добавил radeon в modules,
чтобы грузился модуль в ядро. Но сначала нужно было понять, что не работает и только после удачных
modprobe radeon
можно было вписывать в модули.
dpm=1 как раз и регулирует нагрузку на видяху и она всё же стала работать довольно тихо, а ведь есть ещё две такие же, которые просто перегревались, теперь им можно попробовать подкинуть ускорение glamor и для декодирования видео и может быть x1600pro всё же будет показывать ютюб без лагов.
В целом проблема с загрузкой происходила из-за некорректного удаления прошлых проприетарных драйверов и возможного конфликта c plymouth, а также systemd инициализации, потому что вроде бы те же init.d скрипты, но написаны они уже под systemctl и правильно включать и выключать их нужно на рабочей системе, а если система слетела, то разобраться в зависимостях становится мега сложно. Через chroot я переставлял udev, systemd, dbus, lvm, gnome-shell, dri, mesa, gl и часть библиотек с ними связанных, в разное время в journalctl сыпались ошибки то на GObject, то на G-dbus? что-то отмечалось будто оно поставлено вручную - просто переустанавливал.
На такой случай хорошо иметь rescue boot диск с примерно похожей системой или ставить обрезок рядом, чтобы из под него чрутить.
В итоге, конечно, победил.
Но скажу честно - проще было оставить старую (новую) видяху, просто я думаю сделать очень тихий комп и она мне там может пригодиться, просто чтобы бравзить просторы большого театра без шуму и пыли.
Сложно сказать стало ли лучше, на первый взгляд да, что работает немного быстрее, окошки, табы выскакивают, даже страницы как-то быстрее подгружаются, наверное, из -за того что у меня enlightenment и по определению всё работает в 3d.
Чуть позже может быть допишу откуда, куда и что я вписывал.
чтобы восстановить libglx нужно выйти из сессии, перейти на свободный терминал и urpmi --replacepkgs x11-server-common
для поиска пакета содержащего библиотеку urpmf libglx.so
изменить libglx.so рядом c ati_drv.so /usr/lib64/xorg/modules/
ati_drv это подложка, которая выбирает нужный драйвер самостоятельно из radeon\mach\r128
version.h для legacy
cp -v /usr/include/linux/version.h /lib/modules/$VERSION/build/include/linux
Если оставить fglrx в системе установленным, то часто машина не будет загружаться, т.к. видимо будет пытаться подгрузить не тот драйвер
Список ссылок без разбора
http://wiki.rosalab.ru/ru/index.php/Fglrx-legacy
http://forum.rosalab.ru/viewtopic.php?f=52&t=5468
http://forum.rosalab.ru/en/viewtopic.php?f=3&t=644
http://www.linuxfromscratch.org/blfs/vi ... ati-driver
http://xorg.freedesktop.org/wiki/GalliumStatus/
http://unix.stackexchange.com/questions ... ling-fglrx
http://wiki.x.org/wiki/RadeonFeature/
http://linux-tipps.blogspot.ru/2014/01/ ... uired.html
https://xpressrazor.wordpress.com/2013/ ... amd-setup/
https://wiki.archlinux.org/index.php/AT ... nce_tuning
http://pkgs.org/search/fglrx