LINUX.ORG.RU

Не собираются модули ядра fglrx в openSUSE

 , ,


0

1

Решил перейти на tumbleweed. Проприетарный драйвер amd был установлен из репозитория, и, хотя в мануале по tumbleweed предупреждали, что так делать нехорошо и нужно собирать пакет самому, я решил оставить пока так. До поры до времени всё работало, пока на днях не пришло ядро 3.5.0-35, и драйвер благополучно не отвалился.

После этого я решил собрать пакет из run файла с сайта amd, как рекомендовали в мануале. Пакет собрался, но после установки драйвер не завёлся. В логе установки следующее:

Будет установлен следующий НОВЫЙ пакет:
  fglrx64_xpic_SUSE121 

1 новый пакет для установки.
Полный размер загрузки: 55,4 MiB. После этой операции будет использовано 
дополнительно 235,2 MiB.
Продолжить? [y/n/?] (y): y
Получение пакет fglrx64_xpic_SUSE121-8.980-1.x86_64 (1/1), 55,4 MiB (235,2 MiB после распаковки)
Получение пакет fglrx64_xpic_SUSE121-8.980-1.x86_64 (1/1), 55,4 MiB (235,2 MiB после распаковки)
Установка: fglrx64_xpic_SUSE121-8.980-1 [готово]
Дополнительный вывод rpm:
Updating /etc/sysconfig/fglrxconfig...
/usr/src/kernel-modules/fglrx /
Apply some patches ...
ati-CONFIG_SMP.patch applied successfully.
ati-2.6.27-build-fix-1.patch applied successfully.
ati-2.6.36-compat_alloc_user_space.patch applied successfully.
/

Used CPUs/Cores for compilation  =>  [ 2 ]


********************************************************************************
*                                                                              *
*   Kernel:    3.5.0-35-desktop                                                *
*   Source:    /lib/modules/3.5.0-35-desktop/build                             *
*   Include:   /lib/modules/3.5.0-35-desktop/source/include                    *
*                                                                              *
********************************************************************************



file /lib/modules/3.5.0-35-desktop/source/include/../arch/x86/include/asm/compat.h says:COMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space
/usr/src/kernel-modules/fglrx/2.6.x /
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers
make: Entering directory `/usr/src/linux-3.5.0-35-obj/x86_64/desktop'
/usr/src/linux-3.5.0-35/arch/x86/Makefile:96: CONFIG_X86_X32 enabled but no binutils support
  LD      /usr/src/kernel-modules/fglrx/2.6.x/built-in.o
  CC [M]  /usr/src/kernel-modules/fglrx/2.6.x/firegl_public.o
  CC [M]  /usr/src/kernel-modules/fglrx/2.6.x/kcl_acpi.o
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c: In function 'KCL_MEM_AllocLinearAddrInterval':
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:2124:5: error: implicit declaration of function 'do_mmap' [-Werror=implicit-function-declaration]
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:2124:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c: In function 'KCL_GetInitKerPte':
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:2359:5: warning: return makes integer from pointer without a cast [enabled by default]
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:2360:5: warning: return makes integer from pointer without a cast [enabled by default]
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:2361:5: warning: return makes integer from pointer without a cast [enabled by default]
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c: In function 'KCL_GetPageTableByVirtAddr':
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:2406:5: warning: return makes integer from pointer without a cast [enabled by default]
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:2409:5: warning: return makes integer from pointer without a cast [enabled by default]
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:2410:5: warning: return makes integer from pointer without a cast [enabled by default]
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c: In function 'KCL_TestAndClearPageDirtyFlag':
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:2584:5: warning: return makes integer from pointer without a cast [enabled by default]
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c: In function 'kasInitExecutionLevels':
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:4159:5: error: 'cpu_possible_map' undeclared (first use in this function)
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:4159:5: note: each undeclared identifier is reported only once for each function it appears in
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:4159:5: warning: left-hand operand of comma expression has no effect [-Wunused-value]
cc1: some warnings being treated as errors

make[3]: *** [/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [_module_/usr/src/kernel-modules/fglrx/2.6.x] Error 2
make[1]: *** [sub-make] Error 2
make: *** [all] Error 2
make: Leaving directory `/usr/src/linux-3.5.0-35-obj/x86_64/desktop'

******************************
Build of kernel module failed!
******************************

rm -rf *.c *.h *.o *.ko *.a .??* *.symvers
/
Calling 'depmod -a 3.5.0-35-desktop' this may take a while...


Summary report:
================================================================================

   Kernel     => 3.5.0-35-desktop
   Detected   => RPM package
   Build      => [ FAILURE ]
   Install    => [ FAILURE ]

**************************************************************
Building/installation of fglrx kernel module failed! Try again
by calling "/usr/bin/fglrx-kernel-build.sh" manually.
**************************************************************


*************************************************************
Please read "/usr/share/doc/packages/fglrx/README.SuSE" for
configuration details when using SaX2.
*************************************************************

Check: Found fglrx section.
Switch to AMD
Switch to AMD

Помогите, пожалуйста, с установкой. Самостоятельно удалось нагуглить только про проблемы со сборкой модулей на 32-х битной архитектуре, но то, что там предлагают у меня не работает. На свободном драйвере сидеть нереально - ноут греется как кипятильник.

★★★★

Вариантов 2:

1) Не использовать fglrx.

2) Использовать дистрибутивное ядро

anonymous
()

Судя по пкджбилду с арча для использования с 3.5 и 3.4 последний каталист нужно патчить. Патчи можно взять тут в архиве

https://aur.archlinux.org/packages.php?ID=29111

Как собрать нормальный пакет на твоем дистре я не знаю.

Behem0th ★★★★★
()

Нужно использовать патч по ссылке выше, файлы для наложения патчей находятся в каталоге /usr/src/kernel-modules/fglrx/. Я так делаю с openSUSE 12.1 с ядром 3.4.

ZenitharChampion ★★★★★
()

официально тумблвид не совместим с радеоновским репом. рекоменация откатить ядро на не тумбловое.

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

> Я на тумблвид как раз из-за ядра и перешёл.

А я из openSUSE Kernel GIT собрал. Там можно сделать RPM'ы. Но пользователь Nxx говорит, что я не прав, и ядро можно установить иначе. Дополнительный репозиторий с последними версиями ядра Linux: Обновление ядра openSUSE: вопросы, и поиск уже написанного руководства (комментарий) Но я не знаю, официальный ли он или нет.

ZenitharChampion ★★★★★
()

еще новее ядро возьми.

тогда точно работать не будет.

з.ы. зачем нужен FGLRX?

Slackware_user ★★★★★
()

Всем спасибо, проблема решена наложением патчей (thx Behem0th, ZenitharChampion). Кстати, в репе тоже пакет уже обновился на пропатченый для ядра 3.5.

Alden ★★★★
() автор топика

кстати http://lizards.opensuse.org/2012/07/31/amdati-catalyst-fglrx-fglrx-legacy-news/

в частности

For openSUSE Tumbleweed

Standard fglrx

zypper ar -c -f -n "AMD/ATI fglrx non-official" http://geeko.ioda.net/mirror/amd-fglrx/openSUSE_Tumbleweed/ "ATI/AMD-FGLRX"
Legacy fglrx

zypper ar -c -f -n "AMD/ATI legacy fglrx non-official" http://geeko.ioda.net/mirror/amd-fglrx-legacy/openSUSE_Tumbleweed/ "ATI/AMD-FGLRX-LEGACY"

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