Warning: kernel 3.4 & AMD catalyst 12.4 not compatible

Tried kernels 3.4.0-1.1-x86_64 and 3.4.0-25.1-x86_64 this morning

amd-driver-installer-12-4-x86.x86_64.run had the following log,

Detected a previous installation, /usr/share/ati/amd-uninstall.sh
 Dryrun uninstall succeeded continuing with installation.
 Uninstalling any previously installed drivers.
 Forcing uninstall of AMD Catalyst(TM) Proprietary Driver.
 No integrity verification is done.
 restore of system environment completed
 Uninstall fglrx driver complete.
 For detailed log of uninstall, please see /etc/ati/fglrx-uninstall.log
 System must be rebooted to avoid system instability and potential data loss.
 /usr/share/ati/amd-uninstall.sh completed with 0
 [Message] Kernel Module : Trying to install a precompiled kernel module.
 [Message] Kernel Module : Precompiled kernel module version mismatched.
 [Message] Kernel Module : Found kernel module build environment, generating kernel module now.
 AMD kernel module generator version 2.1
 doing Makefile based build for kernel 2.6.x and higher
 rm -rf *.c *.h *.o *.ko *.a .??* *.symvers
 make -C /lib/modules/3.4.0-1-desktop/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules
 make[1]: Entering directory `/usr/src/linux-3.4.0-1-obj/x86_64/desktop'
 /usr/src/linux-3.4.0-1/arch/x86/Makefile:96: CONFIG_X86_X32 enabled but no binutils support
   CC [M]  /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
 /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘kasInitExecutionLevels’:
 /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:4157:5: error: ‘cpu_possible_map’ undeclared (first use in this function)
 /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:4157:5: note: each undeclared identifier is reported only once for each function it appears in
 /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:4157:5: warning: left-hand operand of comma expression has no effect -Wunused-value]
 make[4]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1
 make[3]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2
 make[2]: *** [sub-make] Error 2
 make[1]: *** [all] Error 2
 make[1]: Leaving directory `/usr/src/linux-3.4.0-1-obj/x86_64/desktop'
 make: *** [kmod_build] Error 2
 build failed with return value 2
 [Error] Kernel Module : Failed to compile kernel module - please consult readme.
 [Reboot] Kernel Module : mkinitrd

Anyone any recommendations?

Back to 12.1 kernel?

Or wait?

<2012May25><11:09><~/Updates/Tumbleweed_12.1/ati>  inxi -F
 System:    Host: linux-qz4c Kernel: 3.4.0-1-desktop x86_64 (64 bit)  
            Desktop KDE 4.8.3 Distro: openSUSE Tumbleweed (x86_64) VERSION = 12.1 CODENAME  
 Machine:   Mobo: ASRock model: A780GM-LE Bios: American Megatrends version: P1.10 date: 02
 CPU:       Quad core AMD Phenom II X4 940 (-MCP-) cache: 2048 KB flags: (lm nx sse sse2 ss
            Clock Speeds: 1: 800.00 MHz 2: 3000.00 MHz 3: 800.00 MHz 4: 800.00 MHz          
 Graphics:  Card: Advanced Micro Devices [AMD] nee ATI RS780 [Radeon HD 3200]               
            X.Org: 1.10.4 driver: fglrx Resolution: 1920x1080@60.0hz, 1680x1050@60.0hz      
            GLX Renderer: N/A GLX Version: N/A
 Audio:     Card: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) driver: snd_hda_intel Sound: ALSA ver: 1.0.25
 Drives:    HDD Total Size: 500.1GB (8.5% used) 1: /dev/sda WDC_WD5000AAKS 500.1GB  
 Partition: ID: / size: 60G used: 7.7G (14%) fs: rootfs ID: / size: 60G used: 7.7G (14%) fs: ext4  
            ID: /home size: 404G used: 33G (9%) fs: ext4 ID: swap-1 size: 2.15GB used: 0.00GB (0%) fs: swap  
 Sensors:   Error: You do not have the sensors app installed.
 Info:      Processes: 205 Uptime: 0:20 Memory: 1456.7/3708.1MB Client: Shell inxi: 1.7.24

After updete to 3.4.0 from Tumbleweed Ati don’t work from repo Index of /mirror/ati/openSUSE_12.1 to.

Creating /var/log/boot.msg
doneCheck for rebuild the fglrx kernel module if necessary ...
   The fglrx kernel module does not exist! I build it NOW. Please wait ...
<notice -- May 25 16:03:07.650561000> service boot.klog done
   FATAL: The fglrx kernel module could not be built!
Check for the fglrx kernel module is running...
   The fglrx kernel module is not loaded! Try it to modprobe now ...
FATAL: Module fglrx not found.
   FATAL: The fglrx kernel module could not loaded!
failed
<notice -- May 25 16:03:21.939284000> service boot.fglrxrebuild done
System Boot Control: The system has been set up
Failed features: boot.fglrxrebuild
Skipped features: boot.cycle

How to fix it?

FWIW I tried to go back to kernel-desktop-3.3.6-1.1.x86_64 but could not find one at Index of /

looking round, linux-3.3.7.tar.bz2 was found at PCHome.de Startseite - News, Download, Software, Spiele

this was compiled (took a long time, about an hour?) and 3.3.7-3-desktop x86_64 (64 bit) installed

after which the amd-driver-installer-12-4-x86.x86_64.run ran ok

all is now back as it was before (hopefully), googleearth, tvtime and mtt ok

You can use my SAKC bash script to load any kernel version you find at The Linux Kernel Archives, just don’t use a kernel version older than the distribution was released with.

S.A.K.C. - SUSE Automated Kernel Compiler - Version 2.71 - Blogs - openSUSE Forums

You can get ANY kernel version released since the year 2005 with this bash script if its not at kernel.org:

S.G.T.B. - SuSE Git Kernel Tarball Creator - Version 1.80 - Blogs - openSUSE Forums

Use the following pre-defined kernel source git domain in SGTB called: Linux-Stable.git @ Kernel.org

Just let me know if you have any questions.

Thank You,

I have same issue and was googling to find some info. Gentoo Forums :: View topic - kernel 3.3.4 -> 3.4 issues i don’t know how to work with it, so i dint try. let me know if it works for you.

hrudaireddy](http://forums.opensuse.org/members/hrudaireddy.html), thank you for your answer.
It was not helpful for me, but I realized that the problem is larger than I expected.

By the way, NVIDIA 302 on kernel 3.4 is not building too! :frowning:
I had to roll back on both computers to kernel 3.1.10 from Update :frowning:
It is interesting precisely because of this problem is skipped 4 alpha, is likely, and beta 12.2?

Thanks for the info on the Gentoo patch,
it was installed manually but got nowhere,
so its kernel 3.3 and catalyst 12.4 for now.

ps. also thanks for the kernel.org hint,
I’m now using kernel 3.3.7 from ‘http://www.kernel.org/
How can this kernel be deleted when the time comes?

Had another play with the patch and the catalyst driver has now installed ok

The following worked

all has to be done with root privilages, extreme caution needed.


1. ran cmd    sh amd-driver-installer-12-4-x86.x86_64.run
   - installed and ended with failure message

2. inserted a new line, so changed file looked as follows
/lib/modules/fglrx/build_mod/kcl_ioctl.c
line
216    /** \brief Allocate user space for 32-bit app making 64-bit IOCTL
217    *  \param size [in] Number of bytes to allocate
218    *  \return Pointer to allocated memory
219    */
220
221    DEFINE_PER_CPU(unsigned long, old_rsp);
222    
223    void* ATI_API_CALL KCL_IOCTL_AllocUserSpace32(long size)

3. changed one line in file so it looked as follows
/lib/modules/fglrx/build_mod/firegl_public.c
line
4153    static int kasInitExecutionLevels(unsigned long level_init)
4154    {
4155    unsigned int p;
4156    KCL_DEBUG5(FN_FIREGL_KAS, "%d
", level_init);
4157    for_each_possible_cpu(p)
4158    {
4195    KCL_DEBUG1(FN_FIREGL_KAS,"Setting initial execution level for CPU # %d
", p);

4. ran cmd in the shown directory
/lib/modules/fglrx/build_mod # sh make.sh
AMD kernel module generator version 2.1
doing Makefile based build for kernel 2.6.x and higher
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers
make -C /lib/modules/3.4.0-2-desktop/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules
make[1]: Entering directory `/usr/src/linux-3.4.0-2-obj/x86_64/desktop'
/usr/src/linux-3.4.0-2/arch/x86/Makefile:96: CONFIG_X86_X32 enabled but no binutils support
  CC [M]  /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
  CC [M]  /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o
  CC [M]  /lib/modules/fglrx/build_mod/2.6.x/kcl_agp.o
  CC [M]  /lib/modules/fglrx/build_mod/2.6.x/kcl_debug.o
  CC [M]  /lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.o
  CC [M]  /lib/modules/fglrx/build_mod/2.6.x/kcl_io.o
  CC [M]  /lib/modules/fglrx/build_mod/2.6.x/kcl_pci.o
  CC [M]  /lib/modules/fglrx/build_mod/2.6.x/kcl_str.o
  CC [M]  /lib/modules/fglrx/build_mod/2.6.x/kcl_iommu.o
  CC [M]  /lib/modules/fglrx/build_mod/2.6.x/kcl.o
  CC [M]  /lib/modules/fglrx/build_mod/2.6.x/kcl_wait.o
  LD [M]  /lib/modules/fglrx/build_mod/2.6.x/fglrx.o
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: "old_rsp" [/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko] undefined!
  CC      /lib/modules/fglrx/build_mod/2.6.x/fglrx.mod.o
  LD [M]  /lib/modules/fglrx/build_mod/2.6.x/fglrx.ko
make[1]: Leaving directory `/usr/src/linux-3.4.0-2-obj/x86_64/desktop'
build succeeded with return value 0
duplicating results into driver repository...
done.
You must change your working directory to /lib/modules/fglrx
and then call ./make_install.sh in order to install the built module.
linux-qz4c:/lib/modules/fglrx/build_mod # 

5. ran cmd in the shown directory
/lib/modules/fglrx # ./make_install.sh
- recreating module dependency list
- trying a sample load of the kernel modules
WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.
done.

Rebooted

Linux 3.4.0-2-desktop x86_64, openSUSE Tumbleweed (x86_64)
KDE: 4.8.3 (4.8.3) “release 5”
ATI Radeon HD 3200 Graphics, 2D driver: fglrx, 3D driver: ATI

That is of great help and it worked like a charm. Good Work.
Cheers !!

Updated today to kernel 3.4.0-26-desktop x86_64 (64 bit)

Catalyst12.4 only installed with the changes described above

The only difference noted during the install was that the

WARNING: “old_rsp” [/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko] undefined!

did not occur!

Can verify that driver 12.4 also works with 3.4.0-26-default (64 bit)

Also did not receive the “old_rsp” warning.

Updated today to kernel 3.4.1-2.1-desktop x86_64 (64 bit) from Index of /repositories/Kernel:/stable/standard

again Catalyst12.4 only installed with the changes described above

note: Tumbleweed repo had not been fully populated with the new kernel for the 64bit OS when tried

Same with kernel 3.4.1-27-default

No has mentioned running mkinitrd after editing files and installing the driver. Is this not necessary?

My thoughts are,

depmod is used in recreating module dependency list

modprobe is used to insert the modules into the kernel

Hence running mkinitrd is not necessary?

the following shows the fglrx driver is loaded after reboot

<2012Jun08><21:12><~/Updates/Tumbleweed_12.1/ati/old-logs>  lsmod |grep fglrx
fglrx                3275184  40 
amd_iommu_v2           19227  1 fglrx
button                 13949  1 fglrx
<2012Jun08><21:16><~/Updates/Tumbleweed_12.1/ati/old-logs>

But what do I know?

Hello, everyone.

Just rolled Tumbleweed.
Kernel is 3.4.1-27 and architecture is x86_64.
To the classic repos I’ve added http://geeko.ioda.net/mirror/ati/openSUSE_Tumbleweed/, which was not present on the wiki.

And everything went fine. Powersaving kicked-in, the fan slowed down and glxgears showed no problems.

Looking at what’s in the repository you mentioned, it doesn’t look like it’s the same ATI proprietory driver (12.4) that we are trying to make work. It’s version 8.961-5 in your repository and my driver (using amdcccle) shows to be 8.96.4, assuming that the naming method between the two drivers is at all similar. For what it’s worth, the Radeon driver from the standard OpenSuSE repositories works fairly well compared to how it worked a year ago. If you are not worried about maximum performance or frame rate, the standard driver is probably OK.

I am quite sure that you know more than I. That’s why I posted the question. I’ve been installing the ATI proprietary drivers for a few years now. I also run gkrellm to monitor my system. When an ATI driver installs normally or uninstalls normally, you can see that mkinitrd is being run near the end of the install (or uninstall) by watching what processes are running. If you run “aticonfig --uninstall” from a command line, you can actually see the output as mkinitrd is run. So I am assuming that ATI may think it is necessary for whatever reason. Looking at the output you posted, it appears it may not be necessary. The only thing I might ask is, if mkinitrd is not run after driver install, then the driver is not built into the initrd, so during boot the driver is not loaded until the kernel loads and probes hardware. Is that correct or am I missing something? I am asking only to try and get a better understanding of how things work. I have used OpenSuSE since 8.1 and though I am comfortable with Linux, I do still consider myself to be somewhat of a newb.

updated today to kernel 3.4.2-28-desktop x86_64

all still ok for both,

Graphics: Card: Advanced Micro Devices [AMD] nee ATI RS880 [Radeon HD 4250]

and

Graphics: Card: Advanced Micro Devices [AMD] nee ATI RS780 [Radeon HD 3200]

with the modified procedure for the amd-driver-installer-12-4-x86.x86_64.run install

sorry I cannot give you an answer

I only ever learn the absolute minimum to get me from A to B,
once at B, I switch off mentally

what I’ve noticed is that sometimes after running a driver update it gives a
message ‘no need to run mkinitrd’
but I’ve no idea when or why this occurs

sometimes, even after a kernel update there is no need to re-install the AMD
driver

in the past if I thought mkinitrd should be run, I’ve gone into yast and forced
a change as this normally automatically does a mkinitrd re-run

updated today to,
kernel-desktop-3.4.2-29.1.x86_64
kernel-desktop-devel-3.4.2-29.1.x86_64
kernel-devel-3.4.2-29.2.noarch
kernel-firmware-20120521git-7.1.noarch
kernel-source-3.4.2-29.2.noarch

catalyst 12.4 still installs ok with hack