catalyst-13.3-beta3 and Kernel: 3.8.4-1-desktop x86_64 compatible

FWIW

background:

  • on upgrade from 12.2 to 12.3, the fglrx driver, fglrx64_xpic_SUSE123-9.012-1.x86_64, from “http://geeko.ioda.net:80/mirror/amd-fglrx/openSUSE_12.3/” was installed,
  • this driver would not allow a single desktop over two monitors,
  • using Xinerama made moving large windows very jumpy
  • notice in Xorg.0.log, several lines ‘(WW) fglrx(0): Unable to register ADL handler for 0x0011000X’

looking for a better solution:

  • downloaded amd-driver-installer-catalyst-13.3-beta3-linux-x86.x86_64.zip from amd
  • deleted installed fglrx driver and os rebooted into terminal mode as parameter NO_KMS_IN_INIRD left at no and nomodeset left in kernel cmd line
  • installed beta version in termin with log output :-
Supported adapter detected.
Check if system has the tools required for installation.
Uninstalling any previously installed drivers.
Unloading radeon module...
Unloading drm module...
ERROR: Module drm is in use by ttm,drm_kms_helper
[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.8.4-1-desktop/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules
make[1]: Entering directory `/usr/src/linux-3.8.4-1-obj/x86_64/desktop'
  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 ‘KCL_EFI_IS_ENABLED’:
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3091:5: warning: return makes integer from pointer without a cast [enabled by default]
  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
  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.8.4-1-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.
- recreating module dependency list
- trying a sample load of the kernel modules
done.
[Reboot] Kernel Module : mkinitrd

comments:

  • on reboot the gui came up with old xorg.conf setting but with screens reversed, 1 as 2, 2 as 1
  • deleted file /etc/X11/xorg.conf
  • ran AMD Catalyst Control Center (Administrative) and saved new setup
    settings selected: one desktop across two monitors mounted vertically, produced a new xorg.conf :-
Section "ServerLayout"
    Identifier     "amdcccle Layout"
    Screen      0  "amdcccle-Screen[0]-0" 0 0
EndSection

Section "Monitor"
    Identifier   "0-LVDS"
    Option        "VendorName" "ATI Proprietary Driver"
    Option        "ModelName" "Generic Autodetecting Monitor"
    Option        "DPMS" "true"
    Option        "PreferredMode" "1600x900"
    Option        "TargetRefresh" "60"
    Option        "Position" "0 1024"
    Option        "Rotate" "normal"
    Option        "Disable" "false"
EndSection

Section "Monitor"
    Identifier   "0-CRT1"
    Option        "VendorName" "ATI Proprietary Driver"
    Option        "ModelName" "Generic Autodetecting Monitor"
    Option        "DPMS" "true"
    Option        "PreferredMode" "1280x1024"
    Option        "TargetRefresh" "60"
    Option        "Position" "0 0"
    Option        "Rotate" "normal"
    Option        "Disable" "false"
EndSection

Section "Device"
    Identifier  "amdcccle-Device[0]-0"
    Driver      "fglrx"
    Option        "Monitor-LVDS" "0-LVDS"
    Option        "Monitor-CRT1" "0-CRT1"
    BusID       "PCI:0:1:0"
EndSection

Section "Screen"
    Identifier "amdcccle-Screen[0]-0"
    Device     "amdcccle-Device[0]-0"
    DefaultDepth     24
    SubSection "Display"
        Viewport   0 0
        Virtual   2880 2880
        Depth     24
    EndSubSection
EndSection
  • in Xorg.0.log new lines noticed :-
             19.264] Initializing built-in extension RANDR
             21.100] (II) fglrx(0): RandR 1.2 support is enabled!
             21.604] (II) fglrx(0): RandR 1.2 enabled, ignore the following RandR disabled message.
             22.793] (--) RandR disabled
             23.932] (II) fglrx(0): Restoring Recent Mode via PCS is not supported in RANDR 1.2 capable environments

hence no xrandr

conclusion:

  • new beta driver is excellent
  • glxgears and fgl_gears figures unchanged from previous driver
  • visually at least 200% smoother when moving large windows about
  • now have ‘AMD Testing use only’ stamp in bottom right hand corner on both screens, as expected

cheers

Wed 27 Mar 02:17:59 CET 2013
Kernel 3.8.4-1-desktop x86_64 (64 bit), KDE 4.10.1, openSUSE 12.3 (x86_64)
HP Pavilion g7 Notebook, Mobo: Hewlett-Packard model: 184B version: 57.50
Quad core AMD A8-4500M APU with Radeon HD Graphics (-MCP-) cache: 8192 KB, 1,9 GHz
Graphics [AMD] nee ATI Trinity [Radeon HD 7640G]
X.Org: 1.13.2 driver: fglrx Resolution: 1600x900@60.0hz, 1280x1024@60.0hz
GLX Renderer: AMD Radeon HD 7640G GLX Version: 4.2.12173 - CPC 12.10.17

no problems encountered when updating to Kernel 3.8.5-1-desktop x86_64 (64 bit),

as usual driver had to be re-installed

no problems encountered updating to Kernels thru’ to 3.8.8-1-desktop x86_64 (64 bit),

as usual the driver had to be re-installed with each kernel

for my use its very dependable