Gentoo Way Linux, Gentoo, Kubuntu, Ubuntu, Debian … компилируем всё!

25Сен/101

ATI — 10.9 FGLRX не собирается в DKMS

ATI Radeon

Очередное обновление, очередное «исправление», новые ошибки...одним словом - ATI.

Симптомы - fglrx не проходит фазу компиляции в DKMS, build log показывает что-то такое:

DKMS make.log for fglrx-8.771 for kernel 2.6.32-25-generic (x86_64)
Сбт Сен 25 16:09:51 MSD 2010
AMD kernel module generator version 2.1
doing Makefile based build for kernel 2.6.x and higher
/var/lib/dkms/fglrx/8.771/build/2.6.x
rm -rf *.c *.h *.o *.ko *.GCC* .??* *.symvers
make -C /lib/modules/2.6.32-25-generic/build SUBDIRS=/var/lib/dkms/fglrx/8.771/build/2.6.x modules
make[1]: Вход в каталог `/usr/src/linux-headers-2.6.32-25-generic'
  CC [M]  /var/lib/dkms/fglrx/8.771/build/2.6.x/firegl_public.o
  CC [M]  /var/lib/dkms/fglrx/8.771/build/2.6.x/kcl_acpi.o
  CC [M]  /var/lib/dkms/fglrx/8.771/build/2.6.x/kcl_agp.o
  CC [M]  /var/lib/dkms/fglrx/8.771/build/2.6.x/kcl_debug.o
  CC [M]  /var/lib/dkms/fglrx/8.771/build/2.6.x/kcl_ioctl.o
/var/lib/dkms/fglrx/8.771/build/2.6.x/kcl_ioctl.c: In function ‘KCL_IOCTL_AllocUserSpace32’:
/var/lib/dkms/fglrx/8.771/build/2.6.x/kcl_ioctl.c:196: error: implicit declaration of function ‘compat_alloc_user_space’
/var/lib/dkms/fglrx/8.771/build/2.6.x/kcl_ioctl.c:196: warning: return makes pointer from integer without a cast
make[2]: *** [/var/lib/dkms/fglrx/8.771/build/2.6.x/kcl_ioctl.o] Ошибка 1
make[1]: *** [_module_/var/lib/dkms/fglrx/8.771/build/2.6.x] Ошибка 2
make[1]: Выход из каталога `/usr/src/linux-headers-2.6.32-25-generic'

make: *** [kmod_build] Ошибка 2
build failed with return value 2

Чтобы обойти ошибку можно подождать пару недель, вроде обещали исправить в октябре - но это же слишком долго.

Решение

Сделать нужно следующее - от root открыть файл /usr/src/linux-headers-2.6.32-25-generic/arch/x86/include/asm/compat.h (или что у Вас сейчас используется), действие действительно и для x86 и для x86_64 архитектур (у меня например x86_64):

sudo nano /usr/src/linux-headers-2.6.32-25-generic/arch/x86/include/asm/compat.h

Мотаем вниз файла и видим строчку:

#endif /* _ASM_X86_COMPAT_H */

Между этой строчкой и последней фигурной скобкой ( } ) копируем и вставляем код:

static inline void __user *compat_alloc_user_space(unsigned long len)
{
    struct pt_regs *regs = task_pt_regs(current);
    return (void __user *)regs->sp - len;
}

(на самом деле не обязательно вставлять код именно в это место - просто на всякий случай, чтобы не вставить его в какую-нибудь другую функцию)

Сохраняем файл и пробуем переустановить fglrx. Теперь всё должно получиться :)

Не думаю что этот код что-то может сломать но после установки его можно удалить, если есть желание.

DeliciousGoogle BookmarksGoogle GmailBlogger PostYahoo BookmarksDiggEvernoteTwitterВ закладки!
Метки записи: , , , , Читать полностью
10Май/100

Kubuntu 10.04 — Эффекты и проприетарные драйвера для ATI

ATI Radeon

После обновления (а точнее после чистой установки) Kubuntu 10.04 установил проприетарные драйвера для своей ATI Radeon HD 4800 Series и как обычно что-то сломалось...на этот раз сломались эффекты рабочего стола (Через XRender работали но уж очень медленно). Что впрочем не удивительно т.к. дрова свежие и ещё толком не обкатанные. К тому же это ведь ATI...

Для справки - драйвера можно установить через jockey-kde или же:

sudo apt-get update
sudo apt-get install linux-headers-`uname -r` fglrx fglrx-amdcccle fglrx-dev fglrx-modaliases
sudo aticonfig --initial
sudo reboot

Покопавшись в настройках обнаружил что эффекты будут работать если выставить флаг «Отключить внутреннюю проверку» в разделе Параметры системы - Рабочий стол - Эффекты рабочего стола - Дополнительно

Но нужно же что бы они работали и в обычном режиме :)

Для этого нужно проверить чтобы в соответствующих разделах xorg.conf были эти значения:

Section "Device"
    Option      "AllowGLXWithComposite" "true"
EndSection

Section "Extensions"
    Option      "Composite" "Enable"
    Option      "DAMAGE" "Enable"
    Option      "RENDER" "Enable"
EndSection

После применения настроек эффекты работают и при отключении «Отключить внутреннюю проверку».

Метки записи: , , , Нет комментариев