Как исправить драйвер ATI fglrx после обновления ядра

Я обновился до 12.04.4 laucy стека с 12.04.3:

sudo apt-get install --install-recommends linux-generic-lts-saucy xserver-xorg-lts-saucy libgl1-mesa-glx-lts-saucy

Это установило ядро ​​3.11, чтобы пойти с 3.8, что я имел ранее. Тем не менее, при входе в систему я вижу, что я нахожусь в резервном режиме, и fglrx нигде не видно, из Xorg.0.log:

Loading extension GLX
FATAL: Module fglrx not found.
(WW) fglrx: No matching Device section for instance (BusID PCI:0@0:1:1) found
FATAL: Module fglrx not found.
Loading extension FGLRXEXTENSION

Я не могу загрузить его напрямую либо:

 > sudo modprobe fglrx
FATAL: Module fglrx not found.

Если я загружаюсь со старым ядром 3.8, все будет в порядке. Никаких проблем.

Я думаю, что это может быть какая-то проблема с dkms. В / lib / modules у меня есть:

drwxr-xr-x 4 root root 4096 Feb 10 20:43 3.8.0-35-generic
drwxr-xr-x 4 root root 4096 Feb 24 20:36 3.11.0-17-generic

Однако:

 > ls -l /var/lib/dkms/fglrx/13.251/
total 8
drwxr-xr-x 3 root root 4096 Feb  5 22:05 3.8.0-35-generic
drwxr-xr-x 4 root root 4096 Feb 24 20:36 build
lrwxrwxrwx 1 root root   21 Dec 27 17:06 source -> /usr/src/fglrx-13.251

Разве там не должно быть записи ядра 3.11? Как обновить dkms, чтобы увидеть только что установленное новое ядро? Или это не проблема?

1
задан 28 February 2014 в 01:20

3 ответа

Получил его!:-)

sudo gedit /usr/src/fglrx-13.251/kcl_acpi.c

Удаляют эти последние 3 строки в файле:

     ((acpi_table_handler)handler)(hdr);
     return KCL_ACPI_OK;
}

заменяют их:

#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,1)
    ((acpi_tbl_table_handler)handler)(hdr);
#else
    ((acpi_table_handler)handler)(hdr);
#endif
    return KCL_ACPI_OK;
}

Тогда выполненный:

sudo dkms install -m fglrx -v 13.251 -k 3.11.0-17-generic

Тогда перезагрузка. Работавший для меня - рабочее ядро 3.11 и fglrx теперь!

(я работал это из этой страницы: https://gist.github.com/moldcraft/8116528)

0
ответ дан 28 February 2014 в 01:20

Не может прокомментировать; таким образом вот "ответ" - вещь выхода...

Обновления ядра прекратили повторно создавать fglrx модули на 12,04 только что (> 1 год). После перезагрузки (для активации нового ядра) lightdm позволит Вам войти в систему, но тогда Вы быстро получаете ошибку, связанную с Вашим виртуальным размером экрана, и переданы обратно экрану входа в систему. Основной монитор имеет очень низкое разрешение. Черные шоу дополнительного монитора.

Мое решение состояло в том, чтобы произвести чистку fglrx и переустановить fglrx deb пакеты.

  • Ctrl+Alt+F1
  • Входят в систему.
  • dpkg -l | grep fglrx
  • sudo apt-get purge <packages output from previous command>
  • cd /path/to/generated/fglrx*.deb
  • sudo dpkg -i fglrx*.deb

Это "решение" требует, чтобы Вы повторили его каждый раз, когда Вы устанавливаете новое ядро, которое сосет.

@fig необходимо ли переиздать 'kcl_acpi.c' каждый раз, когда существует новое ядро? Каждый раз существует новый fglrx?

0
ответ дан 28 February 2014 в 01:20

сохраненный меня также, Ошибка я получил и только нашел вводящие в заблуждение ответы на askubuntu.com

Проблема:

   tilo@t-ubuntu:~$ fglrxinfo
  X Error of failed request:  BadRequest (invalid request code or no such operation)
  Major opcode of failed request:  155 (ATIFGLEXTENSION)
  Minor opcode of failed request:  66 ()
  Serial number of failed request:  13
  Current serial number in output stream:  13

Используя Ваше описание получил меня 12.04.4 с 3,11 дерзкими стек назад.

После редактирования конца 'kcl_acpi.c' файла я работал

sudo dkms install -m fglrx -v 13.251 -k 3.11.0-19-generic 

Вывод как касательно

tilo@t-ubuntu:~$ sudo dkms install -m fglrx -v 13.251 -k 3.11.0-19-generic 

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area....
cd /var/lib/dkms/fglrx/13.251/build; sh make.sh --nohints --uname_r=3.11.0-19-generic --norootcheck.....
cleaning build area....

DKMS: build completed.

fglrx.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/3.11.0-19-generic/updates/dkms/

depmod.....

DKMS: install completed.
tilo@t-ubuntu:~$ 

Теперь fglrxinfo

tilo@t-ubuntu:~$ fglrxinfo
display: :0  screen: 0
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: ATI Mobility Radeon HD 5800 Series
OpenGL version string: 4.3.12618 Compatibility Profile Context 13.251

btw перед 'Контекст Профиля Совместимости 9.012', но я также пытался переустановить от веб-сайта ATI.

0
ответ дан 28 February 2014 в 01:20

Другие вопросы по тегам:

Похожие вопросы: