AnsweredAssumed Answered

Installing 13.8 Linux drivers on custom kernel

Question asked by kmenycht on Aug 21, 2013

This is not a question, but hopefully discovere-able content by developers who might be facing or will face similar problems as I did during my effort to install the the latest AMD drivers (13.4 / 13.8 beta2) on a vanilla 3.10.0 kernel from kernel.org . This post makes no effort to fully guide you, if you are playing with the kernel you know what you are doing (hopefully).

 

I am not sure why, but the default permissions for /proc/ati do not allow a common user (other than root) to access the subdirs/files. You experience this when you can "sudo clinfo" and it lists your adapters appropriately,  but a regular user (not root / without sudo) gets a segfault as they poke the platforms instead.

 

You can chmod -R 755 the proc dir every time, but this doesn't sound right. You can instead add the RX permissions necessary by changing  ./fglrx/build_mod/firegl_public.c . You will find this path/file under fglrx-install.KeY after you --extract the driver .run file (you will need to run the extracted install scripts to install), or at /lib/modules/fglrx/build_mod (you will need to run /lib/modules/fglrx/make_install.sh ).  Anyway, just change :

 

root = KCL_create_proc_dir(NULL, "ati", S_IFDIR|);    // line 824 for 13.8 beta2

to

root = KCL_create_proc_dir(NULL, "ati", S_IFDIR|S_IRUGO|S_IXUGO);

and

*dev_root = KCL_create_proc_dir(root, name, S_IFDIR); // line 850 for 13.8 beta2

to

*dev_root = KCL_create_proc_dir(root, name, S_IFDIR|S_IRUGO|S_IXUGO);

 

or as you deem appropriate for your own purpose (security/accessibility permissions).  But this should let the common user access the GPUs in the system (at least with a properly initialized xorg.conf :  aticonfig -f --inital --adapter=all ; man these).  After this change I could see and access (run AMDAPP sdk apps on) my 8670D (A10-6800k APU) and 8470 as a regular user.

 

Now I also had a compile time error with current_euid for my 3.10.0 kernel . The following patch describes a fix I roughly followed :

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-drivers/ati-drivers/files/linux-3.9-kuid.diff

though I used

include <linux/cred.h>

rather than

include <linux/uidgid.h>

 

Also remember to include AGP support in your kernel configuration, or you 'll get an unresolved agp-related compile time bug. Gentoo describes other installation steps that apply for a custom / vanilla kernel http://wiki.gentoo.org/wiki/Fglrx .

 

Good luck. If  these are hiccups unrelated to my own kernel config and witnessed by others too, I hope to see them fixed in future driver release(s).

 

k

Outcomes