1

I upgraded to the 12.04.4 lts saucy stack from 12.04.3:

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

That installed the 3.11 kernel to go with the 3.8 I had previously. However, when logging in I see I am in fallback mode, and fglrx is nowhere to be seen, from 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

I cant load it directly either:

 > sudo modprobe fglrx
FATAL: Module fglrx not found.

If I boot with the old 3.8 kernel everything is hunkey-dorey. No probs at all.

I think this might be some kind of dkms problem. In /lib/modules I have:

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

However:

 > 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

Shouldnt there be a 3.11 kernel entry there? How to I refresh dkms to see the new kernel that just got installed? Or is that not the problem?

2
  • I've found that the dkms command that's failing is: sudo dkms install -m fglrx -v 13.251 -k 3.11.0-17-generic. The error is the same as given in this question: askubuntu.com/questions/428382/…
    – fig
    Mar 3, 2014 at 15:01
  • Error is: Error! Bad return status for module build on kernel: 3.11.0-17-generic (i686) Consult /var/lib/dkms/fglrx/13.251/build/make.log for more information.
    – fig
    Mar 3, 2014 at 15:30

3 Answers 3

2

Got it! :-)

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

Delete these last 3 lines in the file:

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

replace them with:

#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;
}

Then run:

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

Then reboot. Worked for me - working kernel 3.11 and fglrx now!

(I worked this out from this page: https://gist.github.com/moldcraft/8116528)

1

Can't comment; so, here is an "answer"-ish thing...

Kernel upgrades stopped regenerating the fglrx modules on 12.04 a while ago (>1 year). After the reboot (to activate the new kernel), lightdm will let you log in, but then you quickly receive an error related to your virtual screen size and are sent back to the login screen. Primary monitor has very low resolution. Secondary monitor shows black.

My solution has been to purge fglrx and re-install the fglrx deb packages.

  • Ctrl+Alt+F1
  • Log in.
  • dpkg -l | grep fglrx
  • sudo apt-get purge <packages output from previous command>
  • cd /path/to/generated/fglrx*.deb
  • sudo dpkg -i fglrx*.deb

This "solution" requires you to repeat it every time you install a new kernel, which sucks.

@fig Do you have to re-edit 'kcl_acpi.c' every time there is a new kernel? Every time there is a new fglrx?

1
  • I find that the newer versions of fglrx refuse to install on 12.04 now, because of various incompatibilities. I have gone back to the "Alternate hardware" fglrx drivers available to install from within the distro now, as they are actually newer than the most recent AMD fglrx that still successfully installs...
    – fig
    Jul 2, 2015 at 10:14
0

saved me too, Error I got and only found misleading answers on askubuntu.com

Issue:

   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

Using your description got me 12.04.4 with 3.11 saucy stack back.

After editing the end of the 'kcl_acpi.c' file I ran

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

Output as ref

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:~$ 

Now 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 before 'Compatibility Profile Context 9.012' but I also tried to reinstall from ATI website.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .