summaryrefslogtreecommitdiff
path: root/x11-drivers/ati-drivers
diff options
context:
space:
mode:
authorBlackNoxis <steven.darklight@gmail.com>2014-02-15 23:24:26 +0200
committerBlackNoxis <steven.darklight@gmail.com>2014-02-15 23:24:26 +0200
commit7224c1253228e5c29c78cb3f0f26ce34770f2356 (patch)
tree1684924656132935256e034f35f92abee6623265 /x11-drivers/ati-drivers
Added ebuilds for kogaion desktop
Diffstat (limited to 'x11-drivers/ati-drivers')
-rw-r--r--x11-drivers/ati-drivers/Manifest61
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-11.10.ebuild233
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-11.11.ebuild233
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-11.12.ebuild233
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-11.6.ebuild236
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-11.8.ebuild233
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-11.9.ebuild233
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-12.1-r1.ebuild236
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-12.10.ebuild240
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-12.2.ebuild239
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-12.3.ebuild239
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-12.4.ebuild242
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-12.6.ebuild252
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-12.6_beta_pre897.ebuild239
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-12.8.ebuild235
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-13.1.ebuild258
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-13.4.ebuild192
-rw-r--r--x11-drivers/ati-drivers/files/amd-drivers-3.2.7.1.patch19
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-12.2-redefine-WARN.patch42
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch27
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-2.6.33.patch140
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-2.6.34.patch10
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-2.6.35-and-newer.patch11
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-2.6.36.patch26
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-2.6.37.patch14
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-2.6.38.patch60
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-2.6.39.patch55
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-3.2.8+-2.patch12
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-3.2.8+.patch29
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-CVE-2010-3081-fix.patch60
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-do_mmap.patch50
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-fix_compilation-bug-297322.patch25
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-kernel-3.8-acpihandle.patch15
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-old_rsp.patch24
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-redefine-WARN.patch39
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-vm-reserverd.patch12
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-x32_something_something.patch13
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-xen.patch62
-rw-r--r--x11-drivers/ati-drivers/files/ati-powermode-opt-path-2.patch42
-rw-r--r--x11-drivers/ati-drivers/files/ati-powermode-opt-path-3.patch40
-rw-r--r--x11-drivers/ati-drivers/files/atieventsd.init20
-rw-r--r--x11-drivers/ati-drivers/files/const-notifier-block.patch25
-rw-r--r--x11-drivers/ati-drivers/files/kernel/2.6.31-fglrx_find_task_by_vpid.patch19
-rw-r--r--x11-drivers/ati-drivers/files/kernel/2.6.32-9.11-fix_compilation.patch37
-rw-r--r--x11-drivers/ati-drivers/files/switchlibGL61
45 files changed, 4823 insertions, 0 deletions
diff --git a/x11-drivers/ati-drivers/Manifest b/x11-drivers/ati-drivers/Manifest
new file mode 100644
index 00000000..00e28fcf
--- /dev/null
+++ b/x11-drivers/ati-drivers/Manifest
@@ -0,0 +1,61 @@
+AUX amd-drivers-3.2.7.1.patch 560 SHA256 7cc315754a47fbda6bf36bcee01780da7c19535c4f6ec1cccc556e9a7b32d263 SHA512 bcdc89e7a7148f5eb5450364298de6fb95dcad0d3c8d7091e9236d4f4b9cff0be24d59e8ed4ccdde0c8e94985ab8b4e7d5848e1e0e7102c699edb9230dbe57ce WHIRLPOOL 85ef893cd8bffa0d41b99eccd8b6e1ed713f69cc683dee52268ea0d6bc6fd4a77b3fdab31dd1e35ec3bbd21b399725286289c9fb3a276eff3922c1f8cf0746a2
+AUX ati-drivers-12.2-redefine-WARN.patch 1316 SHA256 f7d8ad3307823925cf8b4c6540db17a51553e48dd008793fc026803bb2aa1ced SHA512 1ee5f7fb5dc629f186754dc83a7d718a6a8acda836dadb2b87bd616c424db0aba067fb833d966cf79425ad78d94ab3f7c4014bbe2356f394630b0761625e74ab WHIRLPOOL 75987965689042342a923d4542a3f1b5eb4ba8ce3fc1ede82be8aeffaa2154a0dc75c507a4772bc00ef510eee7f4b47a51a2ea43aadce6e742e842e348c15b40
+AUX ati-drivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch 799 SHA256 0001fa7f2c3e15ec315f6c963dd428b682778c129250941a849577b8b3293e36 SHA512 a7ae5e7017c9b5a68d112d9a77df40ada722b06aff0cc31147713bfbce2419f9ca8c22b40398ab8b80c86427ff086a5617fb6de93d540af54365c7039cdcfe0f WHIRLPOOL 809c5bf8f0b0381af6a8549c36fcd00e75ff2f571f21cef3f2dec9ea823c65c29db28373b7145f39b9ed2cad234ec3c063407fb7a12260cfe1fe62eb67b5780d
+AUX ati-drivers-2.6.33.patch 3888 SHA256 88c242d50e9e158b5cdfe8de49abb49deb9f7d4fd4a3e014b9092a5eaa58332c SHA512 20d94e258766dff4b18ef26bee66f415b8975bbbae8dd4bfd2d7354538302c571747d5d672d3cdd1fd97bb4ce8e24756ab9afc7ebd55e9f7f19e3acee8bfaff1 WHIRLPOOL d7d753fa4a1c3f9432cf151a3ea524173036462c7850dc9309a8097bba61237194970e99d735f9efebf43253fc626e7b9ab1e69f95919fa76b2b60bf98696d61
+AUX ati-drivers-2.6.34.patch 358 SHA256 b6da2f0ad829a14b7e50d4ff2bab493ce45a2f4493bc558e28122c4fe7d4032c SHA512 a9329d3696d99395667a0b022fa64c1d4c35caeb144c9e08404613febe525d8e286ec36332232b0072bcf46e9380aa04fb01d010028ff0de8cb7aa530c91768e WHIRLPOOL cff3dab1b4b27bf99bc3861377849ecb5824228eeffb8a02fc0c2b2246b6a585443aaac7ef10a561ea9ac8d2ff00af378e2412dfafc62816fb9ab3f2515b8d71
+AUX ati-drivers-2.6.35-and-newer.patch 434 SHA256 6a962e79bfd01cd35488dc946c4e0056b5734c15711b6cb9e28c6fadc92d6bb4 SHA512 2a2d0bc62d946ac765a321cf0ab6c6d595622fc57426678f12c8c116f9f8f472e180f8349632ed725c612830f27af4f48180634555c3c7462ce8e59989c295f3 WHIRLPOOL cc2c87578729ade8268394084bde899ae1690a4c8720f4e4b6bb5c3778d896af434440a2993d87bf5a6d445757fdd86384344e4616e167122cc1d526705ad093
+AUX ati-drivers-2.6.36.patch 876 SHA256 00ffca26787d4c2cab6848cf0bec043e6c099c60738aebacb2148e920738fcb6 SHA512 2ee3a5b342aa13a64e033c0de109afa4330d85db440177804f24a3ed27a112719f688d8ad9b353d5b7c49ebb5a8944c397c0da552a59d33e12a8f3cb8493616c WHIRLPOOL c6b1937ec94e06d99b8c15b5d9c66b028d9171e21cc6d059f4e2ca571a88f6adb2d8cbbb7901e662d7e26a8c4c4e4835f6f4d49d43a72c627c4e2584c9f5c1f9
+AUX ati-drivers-2.6.37.patch 495 SHA256 acce741df8842178c54db4a01ed68a9dd54c331b0d6c153ecaf4f088cf0f18a2 SHA512 7dbcf85400276ec15f2250d5f9d3a06d65653117a0a623bcab32395db511c2eae27e74eb4386b2f6167b214a8a94d2b863e5c60d1c954aa02e3ac4e8f27f873f WHIRLPOOL 52f9692292a8ede8db07e4c81b0d15104cc3b9b85fb3e065054e1bcbbd1903a5290754637d4a1b2d93199739d9ef18e9878df391601db3d9877c29c381ec0bbd
+AUX ati-drivers-2.6.38.patch 1645 SHA256 46ae66c3985ce3af21e36d3bd71019a6b81e2884099253e2772384bd67a77c24 SHA512 335203e4b1811f6aff97e5beedc83beebe45f98080a925c4db9ed6c4a167455717333cd4888754d0b65768e8ebc0dd6aa6addd9a0d27209ca72294f8ac963804 WHIRLPOOL 3c25a1d0a23707c05aaf4f10602e77158d5469f98cd7d2fc351f2b9a72561b803fefa8cbc15e5b17cf7938e7074608d93fc418a6e48e987422377bd800f9a685
+AUX ati-drivers-2.6.39.patch 1706 SHA256 5c996373065e91da6b4441bdc819b7081896944f4b69253c37bf4611a157c2e5 SHA512 78791d267cf53b4493d5483ca1259cf17b58f88ff92a1f5e86bcfccacd09407fb12859cbf628a1ec11ac85bf0d348b9f8932beb5cdafded8dee53c64d5921f58 WHIRLPOOL 48f3bbf0d976a70db24cb1690521f512ea44b6b4db98b9d7616ddfad7f273064154ef34c353cf97b2f448b7b913279978e008b38084a32a4548b640afe07f4cf
+AUX ati-drivers-3.2.8+-2.patch 351 SHA256 ba3158e05807112c715a65216dee30b23659456c2e50e0c6f533a5965afeb72a SHA512 cf9df9a984055ec805ca72139a92dd959bf4192ffe94ce2d63ca600a9ac8708a1aa99ceca519347259941dbd5f7972c022fe74716ac46357555f90056279c9c4 WHIRLPOOL ab16dc45544fc755968d9dc6fd18ad248e7743528e78e80e8cc7b6e78418b27812a1c1308c77ef3e67fff99a6c7781c2d93c4fd07a950918df1269a22c857efe
+AUX ati-drivers-3.2.8+.patch 797 SHA256 b30da95eebea23d4f54755bf986d7bd73ee5d13aa8e3d179ec3d0de90929e33d SHA512 859072e979681ae971e75b167351ef0aa7be521f6fb2e37cde8a3462345f6ec83af1c5b417d04165158847951018493f80fc3dff50f38bfa9b680bf6febae725 WHIRLPOOL 658d1d1868f783c9d31decf7102f790905e24723395fb148095e9a8ab30261b184e26f66651bbec18ddb97ca02dc1ae0d58f44fedaf11d6fe865bc83f1b943ad
+AUX ati-drivers-CVE-2010-3081-fix.patch 2730 SHA256 bbace941d6e1e399b7ab46affe1887edb9a38892ccc2a498017146b838818afc SHA512 56b0aec0344788cf50765284f879fe804226fc930f43efaa0c8d536e0e3164ce3d9218236977fcca3499a5b199bd57e1e5c9d92c77a2658a75d82f47586e9082 WHIRLPOOL da473efb8149f8de43987c842d0214978eb08bbd6b3060cfec1fed50152501e5f10dbe02743d9e61888790f2e9fcecd6c0aa96d3ff9b6e48348885df14398fbe
+AUX ati-drivers-do_mmap.patch 1405 SHA256 3fc9bae50d25d3bfe76a3a1e89c8d025674a4cb9afd16d3a5d8b3c25a66f536d SHA512 1a2f8fe7f2506037d6d158e5c2efffa39c503566284d8f516cb2d84db546eced24df5dcb8d74ac84911589efb4547d7f8610d78ad29703f9ed0a9890576c51b7 WHIRLPOOL 86daa957d7569b26fdf92929e5b04a32379af067a208628eab1a4541fdebfb51fa4bfedeec63f4685c6258adcba2ddc4223b69dca329ecbebd4ba13167f66f82
+AUX ati-drivers-fix_compilation-bug-297322.patch 1114 SHA256 edbfc56eec848389c3dfdd94362322de41027b9813128d2d4f8e476d1d8581e3 SHA512 c2c4674ff63b05c4f5f007c64f70ebfd4bf6ba1a82938f06647d9683315105e3cee77716eed1efdd599177457164e339145ed0d51f2bbd7ad1f383dbb64634cd WHIRLPOOL bd3aa26fb333850ac0a5b554ab7cd5ac583ef9f277d6ada64d27dcfef0f1fe5174f67e04f8e951275fcfe449a80d2701c3a1d85e65ac55ef5665144924b2b127
+AUX ati-drivers-kernel-3.8-acpihandle.patch 717 SHA256 f7012bbc1d27a4d9207f8ba78256684a74b917311f525d3b061c11caefad2846 SHA512 a064ad1ebbb1010349c22d6fd6a4a3715df3d7087353a70199957b5c1c325b533b21c3f004567362a834faa0d8f169296ef996765d47439fdad4109a0d01f85c WHIRLPOOL e0eb93cd367f9e6e1848c3c3301c914f783865eb5d6c11a27a334624ee84cf7ee99073a6a2ff69014c8b920a51933573bf1224f53ea64c2666968f93ca922003
+AUX ati-drivers-old_rsp.patch 989 SHA256 dd222de89b515046c6cbfef172a3ec8d4bc48664799b3bbfff648091c6d54b49 SHA512 b86a230f126950d309b899ab3445154cf38cb8127b7686d0a467df6d3561a1785747e9522c00b55a294961c1157fe41833a5a85d4737775ae68bdb4099b0ee37 WHIRLPOOL cd06422ee90587c5c7485074b03ccaaef921134c721c0d0f6f678a9c968aae6417523c77d6dfcccc856cb5d125579197cd3c6a5b1c8557ce621784eabd0c43fa
+AUX ati-drivers-redefine-WARN.patch 1135 SHA256 16b7e5f1527d3a9e80acb036e5684049a0d280521cc247d535a354236f863b10 SHA512 97c064b9b89288657a027d1161cc2e26781f882e9c189ae1a55a6fc28ed54a5bd8e3993f9b0b1f75cf29100cc30a9760bd3feaf296da6cc66580bde82a6d1ded WHIRLPOOL 7416f2a5e29622e7337cf87f79d45f1da6824645e3537d04100fa15fafedd53b567a5f3fb9c7423586b436dc5441bfc74427d59582b8df51e00c604c1bc6efac
+AUX ati-drivers-vm-reserverd.patch 408 SHA256 61128444938f94f911325b6cac810d3cb3614d0002758e48ba976b678414df30 SHA512 34cd4705f632b1493eac756538eb21fe0e090f78cf92cde7c2a7094a8fc8134ee6d5dd24c6bb9ad18c8ef46dd1d5505ae12d43032265cd4ade03793f277fe4c2 WHIRLPOOL 5a1a98145576b20bdd2e80e5f7f9a2b9bab02942a9fb83814d73d17f1bfec690ee0cd2ccfdf418f297e75432d8fcee8164a1d179eeb5bc716e1becf96bb373f1
+AUX ati-drivers-x32_something_something.patch 486 SHA256 9eb114a797089fca3693420305a6b668c4d7a16a722d5faa53dd904bba1b4c07 SHA512 157884244a49748c897a2eca1a46bf40631042d15af85c2b2f49bc3c3c48f5638dec815a4e9c67ee2c8b88cc15b7f71e9fe4d9bfebf5444bb169542048f66499 WHIRLPOOL f7583d7df16c9eb608aff2330b4bd55ede34986e6f3cf63aa4cb2c77dcfade7c499f1b4cef95fdc8e6ab28d7bb5544a80703bcf5a41eae6b90ca8830b6fdd888
+AUX ati-drivers-xen.patch 1994 SHA256 514dad9629fc689ec0344875a29d713f9d8de7ccbb0a22a2b80ede11bbbc6c58 SHA512 28eeaeea4589a5d87759e318abcf4f8d8e9b2fb3e289f76001cc17f8e515135aa023a424a0149240ad64fcf7721d15864c7218c30c3a097240c800384991e77f WHIRLPOOL 0f0965808d4270e8421d87575ffb1e51a2e095c746e7f536bb091b03287543d176f582976bfec51a5b9eb14c2e3a04c126b23447a6eb39f6e90eb76eda42236d
+AUX ati-powermode-opt-path-2.patch 1634 SHA256 e7749e04a3aa24132b13d0c694563a45c0d38e238f7412a75bd89aa9f9e9ead1 SHA512 7fc91789157d6211726d26be066e3984871eb579c77c422bde27f489f72215e66dbfb5d477ea6882d46ed6d0c63b9f01fdd5ee196fd6a2809bfc3ca22badc859 WHIRLPOOL a3d6f9335c748192a65bb3493a1dd2f604ef6b1270760908bb541d10ac9c4eb8009d7d5fb145b37c6fbfc1512a70ecda3c79f6f56396f8424f072fb92059e0a2
+AUX ati-powermode-opt-path-3.patch 1471 SHA256 35e73fef3d8e39714e8d6e73afaa7b205505db3bdd65c364e7ea02fdc0cb3055 SHA512 0e17026847062117993ba6115942d16421f6b9943afd57913c96e7550b0e49f3ed10e06bc98f9db1a5ba4af7c42dae6b55a332a97e73d48dba7f61ed0ad35ad4 WHIRLPOOL 39861d10d307e537549ed0c7967e18ad3ef658af66396f5491d1f2e13ab13e8b8e252d4c14b5ab616ff5aad69a599cf3b32accedd51438021d50cc074fa296a8
+AUX atieventsd.init 533 SHA256 20010ebc5cb286149f3c4c9c099b6470463ccdb8fd47cea054b783dc2ad1fff3 SHA512 9f8990bb5619f99524e0759a1c4b41b0b2c081c6eecb3916ab60df8e6b59d99e3615af61e0ba5b71d003ccaaf41e2143237b26f36f64f00a47e0fe94f83473dd WHIRLPOOL 21979818a19bc27e3527958c66bf45654df4a307862897530bc02be6616f45ee210590a9d1bcab84336c6061482034010efbb251770bfaf023f20ffae8212ecd
+AUX const-notifier-block.patch 878 SHA256 cd73f5e15d9521a989d8cd9b7e3b252406e7b89fdfc129fd2d470f0bc86e8457 SHA512 1b84cb85ce903d80ad50a0e2d53509016625d1ede070e18b800408d486dc89d5283d801d6449eb81ee25a7adffbd0094b57a301842364e1fb58cc6bf9623e5b4 WHIRLPOOL ee9785d250632cd8843a5995f36442ff6abec2d5a7158f3604a6bc147c7db251608b9484c3ac95376c4cc6b6a15f6682675bd011eb6a193a073ba873e17a9872
+AUX kernel/2.6.31-fglrx_find_task_by_vpid.patch 581 SHA256 4e95b588e894cfb89270168cd771c67bf270c805f30481fceebe47aac3f36980 SHA512 e65f31db60cd99c99dfba95c2f2fe0ee5f434092e7218dbdf6a727e3ffaab3d511541aa1ab64a53589d6fc89023c45d972708c0bd925840fa568f0d7f6faa512 WHIRLPOOL ee1061bff86a5711474eaea8b1b8a2cad5ff02e9a093e197af9a55e9b2dc33ed6bf38dfe02afec4f910250a241900049dd3986c65e95f98991a46549cb37c343
+AUX kernel/2.6.32-9.11-fix_compilation.patch 1434 SHA256 bd2df542c237d0570c3c75c0251514bbf8b67f3ceb40e734916ea53c75c189b7 SHA512 6676ba917616324e58a8df498cd2611523a38e2dfb5ea5683580951d3a39b2cc0040e00bc2238d1ef94f009e1771a6dddb2c02988d8af9aae6373f717ab9234b WHIRLPOOL 605bf802feede69c43a515b3b289c181c50b2f176028c7d170c41dd641bd5efed7d0ccad668d21a3d7c5c5c0f6418e317ba6c723e773269d063afb8990bae95b
+AUX switchlibGL 1349 SHA256 a4aa2107fdb903da77fea432bc809a1155e213db460fdec72fd1c3c7cc0d13a0 SHA512 51d2912aa6ec2002b096c0483be69650d682feec54486ed5226b91988bc1516f718c71d9f58a2b28e0dbc512c0300ea271f9a97885776dd045fe324f1549b85d WHIRLPOOL d335ea9c57a28f8450423089bbf798da77cc72fff6bad1221989412808abcd6bcb7afa41aa2b04231feff3dac6eaaff58a7595173e53b6cf0f5d3d591997b43d
+DIST amd-catalyst-13.4-linux-x86.x86_64.zip 122588023 SHA256 ebec78c7f78db3601d1c97116a6823076a7765318e16d88b619ebc80d4c6d1d5 SHA512 ce012f46527ee0073f658e97dd793954930b934b96be9e1c6cd1d344e7734ef81949b484701d5e7e1ebb221f46b5a617f4efb4445e42c06ac0a8b4eca76463fc WHIRLPOOL cb0f7af6d0474c3d521c5785bab49d76da7e09e1ddd02dc0e72b70b5afdb2bd1e07d4a4115a755f213718e7c32c816697d993b73706d58be68fa043aef1ad551
+DIST amd-driver-installer-12-1-x86.x86_64.run 106085279 SHA256 8d76700e0db68f74f735808ee7fd446cb5072734ba6ec03f2dd82c05ebfdc81d
+DIST amd-driver-installer-12-2-x86.x86_64.run 107213014 SHA256 054796cbf2d99e4b545d062ce8eabfd973e74e2e21a159092816238b001618fd
+DIST amd-driver-installer-12-3-x86.x86_64.run 108029053 SHA256 5f90c7e472ca0095efc16097ac7bcda846be0e980cc4d3e588cc4089efe8fb57 SHA512 5c5380dfcebacb7c4d7f0e6ffc5d26955f155266577c903bd4b4fc9d9bf5f241e6e13dc7ee14e14c96e9e0ad19d7d6680609978cfa1c5c4ec2f5d50881a43ee0 WHIRLPOOL 5e179a0ef89520dea6a5d249f4c55bd58310769131edc82babfb66c9ce946511effe7a32e883ba30a9bc40a3e6dc8194b57cbbfe0cb2593bec463de7816612f1
+DIST amd-driver-installer-12-4-x86.x86_64.run 108360519 SHA256 7f3ba3d96eba30fc09aec03ba72f5482d3b192bb0ea63a5e7b79454b053cb63c SHA512 fe466df547a05efb37b0dd1c685f819ceb51af83acefd65f2e500ab9165feac841d4b07afc32dc26391762963e929624e55115c0f505acb78289540baaadcfb5 WHIRLPOOL 7aa8817e75943977b753a93015a7d1e0f7a95383e6aaae7317da29eb07caa520a5376b2ab80e7caded543939d3c9428b80d915d5ba3d8377068349189890729c
+DIST amd-driver-installer-12-6-x86.x86_64.run 106660241 SHA256 b5c6070dc75e9296d0f04e7e0b3c6697f6c21872d50b1dcf4d7b3b0ab7ce7155
+DIST amd-driver-installer-12-8-x86.x86_64.zip 105413213 SHA256 62525173b2b7602aa4e7e46a109204d0f349abfbb135c86d03db5cd57642bb41
+DIST amd-driver-installer-12.6-legacy-x86.x86_64.zip 106888385 SHA256 5353a3f874d31f0fde46c390ce17cc2f27875156dbf3e7c20b5cca494a058102
+DIST amd-driver-installer-catalyst-12.10-x86.x86_64.zip 111686672 SHA256 ca2a097324687245801b3350316880d706c82f43684839dcf7f86f55141d835d SHA512 cef8a1f822d2a9bd81cf85c1410b75d400808946443c2bf95281f7c2cbcf376ac423199f41125825ed6639eaacd14ea688acc5c5b164186a4715b62ed6f5fb63 WHIRLPOOL 2186151882d9ba69af2a39a0a4dbb26adbff87fe69a90c40798e2390c44ce100e8d71f03c0c86e3a8be5d3429f98f3c107578aa5508b6fb983ca4235e0de8f74
+DIST amd-driver-installer-catalyst-13.1-linux-x86.x86_64.zip 114850263 SHA256 67898a922b6b58f25a276a144f16b19014f79c39e4d44d8d2883a467d31e34ad SHA512 30763ab7f47ac22c5b5055495e2d8ae6cc2c8e5ce711fa389f1145a48da2799020c2b8cbf082759d93628017860c39d69337f42ce21b78e1d60c9eda32096df9 WHIRLPOOL ee5dc85a89bc56858ef1c2bcdc6cbfde7e2f9e5675d209c1f6db877e0104cc536f1e18139f0b991a064b14b231a982770eef47368ea281067d62647b4c5365a5
+DIST ati-driver-installer-11-10-x86.x86_64.run 77926379 SHA256 a245e0305051313767fef1be88693702fccfb3f11c18a98f61c233af17e85f9e
+DIST ati-driver-installer-11-11-x86.x86_64.run 97090080 SHA256 fcd51cdc0c7572d443f5ce54576888f09efaced10b12ccf9fa775c81eaade013
+DIST ati-driver-installer-11-12-x86.x86_64.run 99618112 SHA256 0179d1f0425036e50b637e5153b0c64b25836d09e9d22bc50edfbdf6aed32b42
+DIST ati-driver-installer-11-6-x86.x86_64.run 75503458 SHA256 3dbb7cf1a5493588d872eb29b7376eb5db3913c4f35d631c3183d168eed1f67f
+DIST ati-driver-installer-11-8-x86.x86_64.run 75754239 SHA256 71e0194daef7a50c6d0d3b5712b05375a003d452e39c754278336c3811a2acdf
+DIST ati-driver-installer-11-9-x86.x86_64.run 76564617 SHA256 d9ad9c8e0bd250ac41c39d9b8e9f77efc82631f4bebacb82ddde982a86530d56
+DIST xvba-sdk-0.74-404001.tar.gz 583847 SHA256 731a2c489f2fb5d7318c1976061b26c1057a696f46d09dcf55fbada97fed17eb SHA512 aa1dd52b59eeeabd026d8b76e3b75eaf02587ef286438ba28884afeef5a5efaf50283b5ee4f5b81b12cf79cb4ec77c9a235a886b29fb7cdf850c9779f4b07b35 WHIRLPOOL 69917b746d353a884512e97b9d9a9b89e6f51add3119e69ddd119d51c0c3f2820b93a449fe42bd76d671dc505f92bf25b7f2c5868b33768fc68a19596e460951
+EBUILD ati-drivers-11.10.ebuild 7152 SHA256 cab997c19267e119ef24017c65178f9ebbb7744d224cf9858a197cf19459da0d SHA512 5a2ede4fe8eb731a0161ec39eaf15c9e315624669a2ca6084b3ebbb7f38eb94586a7faa6e61eba29e97f4802f9f748752781d4675af97e7e756e2bd21b2286ce WHIRLPOOL 6097ce0703176f7f9331b037d872ff8671c6d16effde5d5e613b082018323dcd4c7de9d5c6297bb1b5fb16a458d3dc8f5feb2e099f44839358d6713032fd8a02
+EBUILD ati-drivers-11.11.ebuild 7152 SHA256 cab997c19267e119ef24017c65178f9ebbb7744d224cf9858a197cf19459da0d SHA512 5a2ede4fe8eb731a0161ec39eaf15c9e315624669a2ca6084b3ebbb7f38eb94586a7faa6e61eba29e97f4802f9f748752781d4675af97e7e756e2bd21b2286ce WHIRLPOOL 6097ce0703176f7f9331b037d872ff8671c6d16effde5d5e613b082018323dcd4c7de9d5c6297bb1b5fb16a458d3dc8f5feb2e099f44839358d6713032fd8a02
+EBUILD ati-drivers-11.12.ebuild 7152 SHA256 cab997c19267e119ef24017c65178f9ebbb7744d224cf9858a197cf19459da0d SHA512 5a2ede4fe8eb731a0161ec39eaf15c9e315624669a2ca6084b3ebbb7f38eb94586a7faa6e61eba29e97f4802f9f748752781d4675af97e7e756e2bd21b2286ce WHIRLPOOL 6097ce0703176f7f9331b037d872ff8671c6d16effde5d5e613b082018323dcd4c7de9d5c6297bb1b5fb16a458d3dc8f5feb2e099f44839358d6713032fd8a02
+EBUILD ati-drivers-11.6.ebuild 7216 SHA256 5b7e43780f2ed164f0ed60f78b16fa7870bee39b0f5c02ba0b2efcde80f1dc93 SHA512 e2d933c2270f1ff4e0d02280c726b4db3f179d692933edcd15f38fe93b5c55204856ecc092934bbcff7f678a6aeece38df184c938d712e7b8b5764aea5e9b801 WHIRLPOOL 8a4c436586bd3ca81a5b222af032002ccc0a9c1d8111b7025f152c192e750958a59a356404de6feaeecb4b94b5ba5287d916d07285988f8e0dce3a746f0eb1e6
+EBUILD ati-drivers-11.8.ebuild 7152 SHA256 cab997c19267e119ef24017c65178f9ebbb7744d224cf9858a197cf19459da0d SHA512 5a2ede4fe8eb731a0161ec39eaf15c9e315624669a2ca6084b3ebbb7f38eb94586a7faa6e61eba29e97f4802f9f748752781d4675af97e7e756e2bd21b2286ce WHIRLPOOL 6097ce0703176f7f9331b037d872ff8671c6d16effde5d5e613b082018323dcd4c7de9d5c6297bb1b5fb16a458d3dc8f5feb2e099f44839358d6713032fd8a02
+EBUILD ati-drivers-11.9.ebuild 7152 SHA256 cab997c19267e119ef24017c65178f9ebbb7744d224cf9858a197cf19459da0d SHA512 5a2ede4fe8eb731a0161ec39eaf15c9e315624669a2ca6084b3ebbb7f38eb94586a7faa6e61eba29e97f4802f9f748752781d4675af97e7e756e2bd21b2286ce WHIRLPOOL 6097ce0703176f7f9331b037d872ff8671c6d16effde5d5e613b082018323dcd4c7de9d5c6297bb1b5fb16a458d3dc8f5feb2e099f44839358d6713032fd8a02
+EBUILD ati-drivers-12.1-r1.ebuild 7304 SHA256 6654771156f69919a895b5fb0f5444e3d41af69355e116d7d59b2549cbac501d SHA512 507b024789e65fbba470a4b4c07b8307a7518227888fce24a05fa27ac607a49696bb037973d9adda3e350971ba3210205ae18e3831bf08149556a51fa4815fd1 WHIRLPOOL c0b592bb9a72a73005b8cbf5b0ee3a99ffe59548553e8185457093b50dc2902740226302bb3d77b2212226508f90dfef378d7127de994af29e4528ea3badc118
+EBUILD ati-drivers-12.10.ebuild 7399 SHA256 c7619e83298e226f934771621bdb3d00db2d4c303ca541ca024aa9a8fe749d5d SHA512 b85b158fedabb772ae843bd0a40400bbdc3d027de660be2f38dba6051aa3087cbd88033ce1d278644e6ba468d4d2053c7e9b2788e354a37a9f8dddd1c76a83df WHIRLPOOL d9b54557002e5948f322a2373f78a1de98429818d966c012814d924a6eb73f429e6bf2765aa46bc393b19804f7c34404d6233f111bfdc3ed313b031ae5900b6d
+EBUILD ati-drivers-12.2.ebuild 7403 SHA256 67d5116db4cf555f142adf9f22127403f52705477ca42af269efc79963b35f3e SHA512 0980eb900443d71500a3a2796eb3c7edfbd7e65c9b79b3b4988cc2a53f4e4a84df7e8db583a23fab024d63a2d417125433bc6af204719f1b8150619976cad759 WHIRLPOOL d4ab46b77020f0a2b65ca5f33d779da1ca40236b9ef27d91eaf44136b95776c8fb00d91b4344c870358d1237a91c5f70d5b9ad0033344371c43363f5626fe5d6
+EBUILD ati-drivers-12.3.ebuild 7403 SHA256 67d5116db4cf555f142adf9f22127403f52705477ca42af269efc79963b35f3e SHA512 0980eb900443d71500a3a2796eb3c7edfbd7e65c9b79b3b4988cc2a53f4e4a84df7e8db583a23fab024d63a2d417125433bc6af204719f1b8150619976cad759 WHIRLPOOL d4ab46b77020f0a2b65ca5f33d779da1ca40236b9ef27d91eaf44136b95776c8fb00d91b4344c870358d1237a91c5f70d5b9ad0033344371c43363f5626fe5d6
+EBUILD ati-drivers-12.4.ebuild 7523 SHA256 a49982cbdc74bd4b469965c39621076c879b34b85921411f634189740129fa7e SHA512 a5424d7b9f4aec53c3eedd82b6fe54f3999cca4c126c3459084abefbf8e715c67b56ea30cc1b177364cbede8b69517b7ef7b513727767fc65790ba036c5ec0e7 WHIRLPOOL 9c1e6f64cc31e17db68e49479cf4250c1dd6a652dab8b34052c1d7f43c9c88a602a806e6356a4d6054befcf1dfacb4676c59268ff648905723628a4a78805f1c
+EBUILD ati-drivers-12.6.ebuild 7752 SHA256 ad803b497c5082dbf25fd7967a5e1ea18504ee5db266f0966600c1819e9ed636 SHA512 1e179237eca74034992223688364416ab4128b1ec2761951a83d68a776d81d93abb6759fc91c05a9f8a90e9f17cc50ee841df6b82168dd02799e53b70d50a818 WHIRLPOOL f338e9344c3738893f97ae1d4a5de6f9580f525cad79492215db435ec1b3ceb7bb9a41b73a76e9fdd7ce2f89e4f34d89f8d77cc715e296b1340baacb1d99f34c
+EBUILD ati-drivers-12.6_beta_pre897.ebuild 7366 SHA256 7ff0e54f530b6ea370f78acfc80e804a551d60f9769f99b49d1590b303618a62 SHA512 6670b2d5aeb3b7be2bc30d735cc058322d7b9d36d269c61b4e38b19a621e97f6bfee72d7bb36530e4e09f7bf87c96145a3ce315a42264dfe92010d014ab2764a WHIRLPOOL 125b054977cca0266a0a94a341d07cb18df8d7b584d3d0caebc75517e74456a7032e716463d588dda229062262d224879a300d43317c5acb0b5849be8a21bad4
+EBUILD ati-drivers-12.8.ebuild 7276 SHA256 f40522909c982ca2b3a0c81efcfbea93575491c251130a2c952ed97013f6fcef SHA512 bd3938a12a85ecac418022f0be3e318f8142a985ef26ffd95ac931971ad09df1f9ca238ac1692a1fe6752085e75c7aa1d08cf7b952a92e44bab634ffa7aff3ff WHIRLPOOL da5c2bbd249700b1f1e51610e2fd6ed369be7b2a218c22dd883cbb14ac30ba204f15f850dcac73aefe9dca54772ef6e03052f7cd371a7fc3ced13f255a16bf36
+EBUILD ati-drivers-13.1.ebuild 8255 SHA256 fbb05e616ba13e81e95659927be00ae85c17c27c4cf4b51c69d7b7b7268b2ec1 SHA512 706069a30d980f049bb402f4979c9c20262ffeaf0844fd4c1d3cfd63eecf9622a6bbd54441b6ef8d0653b2ceffcfc270666e055c37153486e52462b4146553e5 WHIRLPOOL 12239ae2782fb8fc8f298785d790d9c640fee57e2fa95a3ab50cdbabaa77cc4ba4425ddb2dfa0cc47624ab3b49486ef883ba864c598b6f4fbdff1de5369a2630
+EBUILD ati-drivers-13.4.ebuild 6506 SHA256 b07cf387bc966984c4813d6e1f48ab9ccc857b79d289d624df1786d868fdf00c SHA512 0c88520c2dc4d6d4428c34acfceeb842bc72cb3e3b472d55c8516dd21f61d0caca081e2ef45cbe6b537b21c2ff5850e9386f473e5ac6e237be3724fb08f33c24 WHIRLPOOL f9dd28392d6b8a15b8c4929763fda61244706d4494fcdf1529bdca56826d1473625c0904a1084aa0ddb657049d43cc3951e708de6c10532e79b800cbfd591b5f
diff --git a/x11-drivers/ati-drivers/ati-drivers-11.10.ebuild b/x11-drivers/ati-drivers/ati-drivers-11.10.ebuild
new file mode 100644
index 00000000..d009c8c1
--- /dev/null
+++ b/x11-drivers/ati-drivers/ati-drivers-11.10.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
+
+DESCRIPTION="AMD kernel drivers for r600 (HD Series) and newer chipsets"
+HOMEPAGE="http://ati.amd.com"
+# 8.ble will be used for beta releases.
+if [[ $(get_major_version) -gt 8 ]]; then
+ ATI_URL="http://www2.ati.com/drivers/linux/"
+ SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run"
+ FOLDER_PREFIX="common/"
+else
+ SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz"
+ FOLDER_PREFIX=""
+fi
+IUSE="debug multilib"
+
+LICENSE="AMD GPL-2 as-is"
+KEYWORDS="~amd64 ~x86"
+SLOT="1"
+
+RDEPEND="multilib? ( ~x11-drivers/ati-userspace-${PV}[multilib] )
+ ~x11-drivers/ati-userspace-${PV}
+ sys-power/acpid"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+_check_kernel_config() {
+ local failed=0
+ local error=""
+ if ! kernel_is ge 2 6; then
+ eerror "You need a 2.6 linux kernel to compile against!"
+ die "No 2.6 Kernel found"
+ fi
+
+ if ! linux_chkconfig_present MTRR; then
+ ewarn "You don't have MTRR support enabled in the kernel."
+ ewarn "Direct rendering will not work."
+ fi
+
+ if linux_chkconfig_builtin DRM; then
+ ewarn "You have DRM support built in to the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present AGP && \
+ ! linux_chkconfig_present PCIEPORTBUS; then
+ ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present ACPI; then
+ eerror "${P} requires the ACPI support in the kernel"
+ eerror "Please enable it:"
+ eerror " CONFIG_ACPI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Power management and ACPI options --->"
+ eerror " [*] Power Management support"
+ eerror "in the 'menuconfig'"
+ error+=" CONFIG_ACPI disabled;"
+ failed=1
+ fi
+
+ if ! linux_chkconfig_present PCI_MSI; then
+ eerror "${P} requires MSI in the kernel."
+ eerror "Please enable it:"
+ eerror " CONFIG_PCI_MSI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Bus options (PCI etc.) --->"
+ eerror " [*] Message Signaled Interrupts (MSI and MSI-X)"
+ eerror "in the kernel config."
+ error+=" CONFIG_PCI_MSI disabled;"
+ failed=1
+ fi
+
+ if linux_chkconfig_present LOCKDEP; then
+ eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel."
+ eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only."
+ eerror "This prevents ${P} from compiling with an error like this:"
+ eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
+ eerror "Please make sure the following options have been unset:"
+ eerror " Kernel hacking --->"
+ eerror " [ ] Lock debugging: detect incorrect freeing of live locks"
+ eerror " [ ] Lock debugging: prove locking correctness"
+ eerror " [ ] Lock usage statistics"
+ eerror "in 'menuconfig'"
+ error+=" LOCKDEP enabled;"
+ failed=1
+ fi
+
+ use amd64 && if ! linux_chkconfig_present COMPAT; then
+ eerror "${P} requires COMPAT."
+ eerror "Please enable the 32 bit emulation:"
+ eerror "Executable file formats / Emulations --->"
+ eerror " [*] IA32 Emulation"
+ eerror "in the kernel config."
+ eerror "if this doesn't enable CONFIG_COMPAT add"
+ eerror " CONFIG_COMPAT=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" COMPAT disabled;"
+ failed=1
+ fi
+
+ kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then
+ eerror "${P} requires BKL."
+ eerror "Please enable the Big Kernel Lock:"
+ eerror "Kernel hacking --->"
+ eerror " [*] Big Kernel Lock"
+ eerror "in the kernel config."
+ eerror "or add"
+ eerror " CONFIG_BKL=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" BKL disabled;"
+ failed=1
+ fi
+
+ [[ ${failed} -ne 0 ]] && die "${error}"
+}
+
+pkg_pretend() {
+ # workaround until bug 365543 is solved
+ linux-info_pkg_setup
+ require_configured_kernel
+ _check_kernel_config
+}
+
+pkg_setup() {
+ MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
+ BUILD_TARGETS="kmod_build"
+ linux-mod_pkg_setup
+ BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
+ if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
+ else
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
+ fi
+
+ # amd64/x86
+ if use amd64 ; then
+ MY_BASE_DIR="${BASE_DIR}_64a"
+ PKG_LIBDIR=lib64
+ ARCH_DIR="${S}/arch/x86_64"
+ else
+ MY_BASE_DIR="${BASE_DIR}"
+ PKG_LIBDIR=lib
+ ARCH_DIR="${S}/arch/x86"
+ fi
+
+ # Define module dir.
+ MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
+
+ elog
+ elog "Please note that this driver supports only graphic cards based on"
+ elog "r600 chipset and newer."
+ elog "This represent the ATI Radeon HD series at this moment."
+ elog
+ elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati"
+ elog "as replacement is highly recommended. Rather than staying with"
+ elog "old versions of this driver."
+ elog "For migration informations please reffer to:"
+ elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
+ einfo
+}
+
+src_unpack() {
+ if [[ $(get_major_version) -gt 8 ]]; then
+ # Switching to a standard way to extract the files since otherwise no signature file
+ # would be created
+ local src="${DISTDIR}/${A}"
+ sh "${src}" --extract "${S}" 2&>1 /dev/null
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # version patches
+ # epatch "${FILESDIR}"/kernel/${PV}-*.patch
+ if use debug; then
+ sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
+ "${MODULE_DIR}/firegl_public.c" \
+ || die "Failed to enable debug output."
+ fi
+
+ cd "${MODULE_DIR}"
+ # bugged fglrx build system, this file should be copied by hand
+ cp "${ARCH_DIR}"/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
+
+ convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
+
+ # When built with ati's make.sh it defines a bunch of macros if
+ # certain .config values are set, falling back to less reliable
+ # detection methods if linux/autoconf.h is not available. We
+ # simply use the linux/autoconf.h settings directly, bypassing the
+ # detection script.
+ sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
+ sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
+ || die "MODVERSIONS sed failed"
+
+ cd "${S}"
+ mkdir extra || die "mkdir failed"
+ cd extra
+ unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
+}
+
+src_compile() {
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+}
+
+pkg_postinst() {
+ elog "If you experience unexplained segmentation faults and kernel crashes"
+ elog "with this driver and multi-threaded applications such as wine,"
+ elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+ linux-mod_pkg_postinst
+}
+
+pkg_preinst() {
+ linux-mod_pkg_preinst
+}
+
+pkg_postrm() {
+ linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/ati-drivers/ati-drivers-11.11.ebuild b/x11-drivers/ati-drivers/ati-drivers-11.11.ebuild
new file mode 100644
index 00000000..d009c8c1
--- /dev/null
+++ b/x11-drivers/ati-drivers/ati-drivers-11.11.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
+
+DESCRIPTION="AMD kernel drivers for r600 (HD Series) and newer chipsets"
+HOMEPAGE="http://ati.amd.com"
+# 8.ble will be used for beta releases.
+if [[ $(get_major_version) -gt 8 ]]; then
+ ATI_URL="http://www2.ati.com/drivers/linux/"
+ SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run"
+ FOLDER_PREFIX="common/"
+else
+ SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz"
+ FOLDER_PREFIX=""
+fi
+IUSE="debug multilib"
+
+LICENSE="AMD GPL-2 as-is"
+KEYWORDS="~amd64 ~x86"
+SLOT="1"
+
+RDEPEND="multilib? ( ~x11-drivers/ati-userspace-${PV}[multilib] )
+ ~x11-drivers/ati-userspace-${PV}
+ sys-power/acpid"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+_check_kernel_config() {
+ local failed=0
+ local error=""
+ if ! kernel_is ge 2 6; then
+ eerror "You need a 2.6 linux kernel to compile against!"
+ die "No 2.6 Kernel found"
+ fi
+
+ if ! linux_chkconfig_present MTRR; then
+ ewarn "You don't have MTRR support enabled in the kernel."
+ ewarn "Direct rendering will not work."
+ fi
+
+ if linux_chkconfig_builtin DRM; then
+ ewarn "You have DRM support built in to the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present AGP && \
+ ! linux_chkconfig_present PCIEPORTBUS; then
+ ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present ACPI; then
+ eerror "${P} requires the ACPI support in the kernel"
+ eerror "Please enable it:"
+ eerror " CONFIG_ACPI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Power management and ACPI options --->"
+ eerror " [*] Power Management support"
+ eerror "in the 'menuconfig'"
+ error+=" CONFIG_ACPI disabled;"
+ failed=1
+ fi
+
+ if ! linux_chkconfig_present PCI_MSI; then
+ eerror "${P} requires MSI in the kernel."
+ eerror "Please enable it:"
+ eerror " CONFIG_PCI_MSI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Bus options (PCI etc.) --->"
+ eerror " [*] Message Signaled Interrupts (MSI and MSI-X)"
+ eerror "in the kernel config."
+ error+=" CONFIG_PCI_MSI disabled;"
+ failed=1
+ fi
+
+ if linux_chkconfig_present LOCKDEP; then
+ eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel."
+ eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only."
+ eerror "This prevents ${P} from compiling with an error like this:"
+ eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
+ eerror "Please make sure the following options have been unset:"
+ eerror " Kernel hacking --->"
+ eerror " [ ] Lock debugging: detect incorrect freeing of live locks"
+ eerror " [ ] Lock debugging: prove locking correctness"
+ eerror " [ ] Lock usage statistics"
+ eerror "in 'menuconfig'"
+ error+=" LOCKDEP enabled;"
+ failed=1
+ fi
+
+ use amd64 && if ! linux_chkconfig_present COMPAT; then
+ eerror "${P} requires COMPAT."
+ eerror "Please enable the 32 bit emulation:"
+ eerror "Executable file formats / Emulations --->"
+ eerror " [*] IA32 Emulation"
+ eerror "in the kernel config."
+ eerror "if this doesn't enable CONFIG_COMPAT add"
+ eerror " CONFIG_COMPAT=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" COMPAT disabled;"
+ failed=1
+ fi
+
+ kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then
+ eerror "${P} requires BKL."
+ eerror "Please enable the Big Kernel Lock:"
+ eerror "Kernel hacking --->"
+ eerror " [*] Big Kernel Lock"
+ eerror "in the kernel config."
+ eerror "or add"
+ eerror " CONFIG_BKL=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" BKL disabled;"
+ failed=1
+ fi
+
+ [[ ${failed} -ne 0 ]] && die "${error}"
+}
+
+pkg_pretend() {
+ # workaround until bug 365543 is solved
+ linux-info_pkg_setup
+ require_configured_kernel
+ _check_kernel_config
+}
+
+pkg_setup() {
+ MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
+ BUILD_TARGETS="kmod_build"
+ linux-mod_pkg_setup
+ BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
+ if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
+ else
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
+ fi
+
+ # amd64/x86
+ if use amd64 ; then
+ MY_BASE_DIR="${BASE_DIR}_64a"
+ PKG_LIBDIR=lib64
+ ARCH_DIR="${S}/arch/x86_64"
+ else
+ MY_BASE_DIR="${BASE_DIR}"
+ PKG_LIBDIR=lib
+ ARCH_DIR="${S}/arch/x86"
+ fi
+
+ # Define module dir.
+ MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
+
+ elog
+ elog "Please note that this driver supports only graphic cards based on"
+ elog "r600 chipset and newer."
+ elog "This represent the ATI Radeon HD series at this moment."
+ elog
+ elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati"
+ elog "as replacement is highly recommended. Rather than staying with"
+ elog "old versions of this driver."
+ elog "For migration informations please reffer to:"
+ elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
+ einfo
+}
+
+src_unpack() {
+ if [[ $(get_major_version) -gt 8 ]]; then
+ # Switching to a standard way to extract the files since otherwise no signature file
+ # would be created
+ local src="${DISTDIR}/${A}"
+ sh "${src}" --extract "${S}" 2&>1 /dev/null
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # version patches
+ # epatch "${FILESDIR}"/kernel/${PV}-*.patch
+ if use debug; then
+ sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
+ "${MODULE_DIR}/firegl_public.c" \
+ || die "Failed to enable debug output."
+ fi
+
+ cd "${MODULE_DIR}"
+ # bugged fglrx build system, this file should be copied by hand
+ cp "${ARCH_DIR}"/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
+
+ convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
+
+ # When built with ati's make.sh it defines a bunch of macros if
+ # certain .config values are set, falling back to less reliable
+ # detection methods if linux/autoconf.h is not available. We
+ # simply use the linux/autoconf.h settings directly, bypassing the
+ # detection script.
+ sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
+ sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
+ || die "MODVERSIONS sed failed"
+
+ cd "${S}"
+ mkdir extra || die "mkdir failed"
+ cd extra
+ unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
+}
+
+src_compile() {
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+}
+
+pkg_postinst() {
+ elog "If you experience unexplained segmentation faults and kernel crashes"
+ elog "with this driver and multi-threaded applications such as wine,"
+ elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+ linux-mod_pkg_postinst
+}
+
+pkg_preinst() {
+ linux-mod_pkg_preinst
+}
+
+pkg_postrm() {
+ linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/ati-drivers/ati-drivers-11.12.ebuild b/x11-drivers/ati-drivers/ati-drivers-11.12.ebuild
new file mode 100644
index 00000000..d009c8c1
--- /dev/null
+++ b/x11-drivers/ati-drivers/ati-drivers-11.12.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
+
+DESCRIPTION="AMD kernel drivers for r600 (HD Series) and newer chipsets"
+HOMEPAGE="http://ati.amd.com"
+# 8.ble will be used for beta releases.
+if [[ $(get_major_version) -gt 8 ]]; then
+ ATI_URL="http://www2.ati.com/drivers/linux/"
+ SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run"
+ FOLDER_PREFIX="common/"
+else
+ SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz"
+ FOLDER_PREFIX=""
+fi
+IUSE="debug multilib"
+
+LICENSE="AMD GPL-2 as-is"
+KEYWORDS="~amd64 ~x86"
+SLOT="1"
+
+RDEPEND="multilib? ( ~x11-drivers/ati-userspace-${PV}[multilib] )
+ ~x11-drivers/ati-userspace-${PV}
+ sys-power/acpid"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+_check_kernel_config() {
+ local failed=0
+ local error=""
+ if ! kernel_is ge 2 6; then
+ eerror "You need a 2.6 linux kernel to compile against!"
+ die "No 2.6 Kernel found"
+ fi
+
+ if ! linux_chkconfig_present MTRR; then
+ ewarn "You don't have MTRR support enabled in the kernel."
+ ewarn "Direct rendering will not work."
+ fi
+
+ if linux_chkconfig_builtin DRM; then
+ ewarn "You have DRM support built in to the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present AGP && \
+ ! linux_chkconfig_present PCIEPORTBUS; then
+ ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present ACPI; then
+ eerror "${P} requires the ACPI support in the kernel"
+ eerror "Please enable it:"
+ eerror " CONFIG_ACPI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Power management and ACPI options --->"
+ eerror " [*] Power Management support"
+ eerror "in the 'menuconfig'"
+ error+=" CONFIG_ACPI disabled;"
+ failed=1
+ fi
+
+ if ! linux_chkconfig_present PCI_MSI; then
+ eerror "${P} requires MSI in the kernel."
+ eerror "Please enable it:"
+ eerror " CONFIG_PCI_MSI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Bus options (PCI etc.) --->"
+ eerror " [*] Message Signaled Interrupts (MSI and MSI-X)"
+ eerror "in the kernel config."
+ error+=" CONFIG_PCI_MSI disabled;"
+ failed=1
+ fi
+
+ if linux_chkconfig_present LOCKDEP; then
+ eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel."
+ eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only."
+ eerror "This prevents ${P} from compiling with an error like this:"
+ eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
+ eerror "Please make sure the following options have been unset:"
+ eerror " Kernel hacking --->"
+ eerror " [ ] Lock debugging: detect incorrect freeing of live locks"
+ eerror " [ ] Lock debugging: prove locking correctness"
+ eerror " [ ] Lock usage statistics"
+ eerror "in 'menuconfig'"
+ error+=" LOCKDEP enabled;"
+ failed=1
+ fi
+
+ use amd64 && if ! linux_chkconfig_present COMPAT; then
+ eerror "${P} requires COMPAT."
+ eerror "Please enable the 32 bit emulation:"
+ eerror "Executable file formats / Emulations --->"
+ eerror " [*] IA32 Emulation"
+ eerror "in the kernel config."
+ eerror "if this doesn't enable CONFIG_COMPAT add"
+ eerror " CONFIG_COMPAT=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" COMPAT disabled;"
+ failed=1
+ fi
+
+ kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then
+ eerror "${P} requires BKL."
+ eerror "Please enable the Big Kernel Lock:"
+ eerror "Kernel hacking --->"
+ eerror " [*] Big Kernel Lock"
+ eerror "in the kernel config."
+ eerror "or add"
+ eerror " CONFIG_BKL=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" BKL disabled;"
+ failed=1
+ fi
+
+ [[ ${failed} -ne 0 ]] && die "${error}"
+}
+
+pkg_pretend() {
+ # workaround until bug 365543 is solved
+ linux-info_pkg_setup
+ require_configured_kernel
+ _check_kernel_config
+}
+
+pkg_setup() {
+ MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
+ BUILD_TARGETS="kmod_build"
+ linux-mod_pkg_setup
+ BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
+ if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
+ else
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
+ fi
+
+ # amd64/x86
+ if use amd64 ; then
+ MY_BASE_DIR="${BASE_DIR}_64a"
+ PKG_LIBDIR=lib64
+ ARCH_DIR="${S}/arch/x86_64"
+ else
+ MY_BASE_DIR="${BASE_DIR}"
+ PKG_LIBDIR=lib
+ ARCH_DIR="${S}/arch/x86"
+ fi
+
+ # Define module dir.
+ MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
+
+ elog
+ elog "Please note that this driver supports only graphic cards based on"
+ elog "r600 chipset and newer."
+ elog "This represent the ATI Radeon HD series at this moment."
+ elog
+ elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati"
+ elog "as replacement is highly recommended. Rather than staying with"
+ elog "old versions of this driver."
+ elog "For migration informations please reffer to:"
+ elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
+ einfo
+}
+
+src_unpack() {
+ if [[ $(get_major_version) -gt 8 ]]; then
+ # Switching to a standard way to extract the files since otherwise no signature file
+ # would be created
+ local src="${DISTDIR}/${A}"
+ sh "${src}" --extract "${S}" 2&>1 /dev/null
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # version patches
+ # epatch "${FILESDIR}"/kernel/${PV}-*.patch
+ if use debug; then
+ sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
+ "${MODULE_DIR}/firegl_public.c" \
+ || die "Failed to enable debug output."
+ fi
+
+ cd "${MODULE_DIR}"
+ # bugged fglrx build system, this file should be copied by hand
+ cp "${ARCH_DIR}"/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
+
+ convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
+
+ # When built with ati's make.sh it defines a bunch of macros if
+ # certain .config values are set, falling back to less reliable
+ # detection methods if linux/autoconf.h is not available. We
+ # simply use the linux/autoconf.h settings directly, bypassing the
+ # detection script.
+ sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
+ sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
+ || die "MODVERSIONS sed failed"
+
+ cd "${S}"
+ mkdir extra || die "mkdir failed"
+ cd extra
+ unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
+}
+
+src_compile() {
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+}
+
+pkg_postinst() {
+ elog "If you experience unexplained segmentation faults and kernel crashes"
+ elog "with this driver and multi-threaded applications such as wine,"
+ elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+ linux-mod_pkg_postinst
+}
+
+pkg_preinst() {
+ linux-mod_pkg_preinst
+}
+
+pkg_postrm() {
+ linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/ati-drivers/ati-drivers-11.6.ebuild b/x11-drivers/ati-drivers/ati-drivers-11.6.ebuild
new file mode 100644
index 00000000..5ff0deb1
--- /dev/null
+++ b/x11-drivers/ati-drivers/ati-drivers-11.6.ebuild
@@ -0,0 +1,236 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
+
+DESCRIPTION="AMD kernel drivers for r600 (HD Series) and newer chipsets"
+HOMEPAGE="http://ati.amd.com"
+# 8.ble will be used for beta releases.
+if [[ $(get_major_version) -gt 8 ]]; then
+ ATI_URL="http://www2.ati.com/drivers/linux/"
+ SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run"
+ FOLDER_PREFIX="common/"
+else
+ SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz"
+ FOLDER_PREFIX=""
+fi
+IUSE="debug multilib"
+
+LICENSE="AMD GPL-2 as-is"
+KEYWORDS="~amd64 ~x86"
+SLOT="1"
+
+RDEPEND="multilib? ( ~x11-drivers/ati-userspace-${PV}[multilib] )
+ ~x11-drivers/ati-userspace-${PV}"
+DEPEND="${RDEPEND}
+ sys-power/acpid"
+
+S="${WORKDIR}"
+
+_check_kernel_config() {
+ local failed=0
+ local error=""
+ if ! kernel_is ge 2 6; then
+ eerror "You need a 2.6 linux kernel to compile against!"
+ die "No 2.6 Kernel found"
+ fi
+
+ if ! linux_chkconfig_present MTRR; then
+ ewarn "You don't have MTRR support enabled in the kernel."
+ ewarn "Direct rendering will not work."
+ fi
+
+ if linux_chkconfig_builtin DRM; then
+ ewarn "You have DRM support built in to the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present AGP && \
+ ! linux_chkconfig_present PCIEPORTBUS; then
+ ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present ACPI; then
+ eerror "${P} requires the ACPI support in the kernel"
+ eerror "Please enable it:"
+ eerror " CONFIG_ACPI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Power management and ACPI options --->"
+ eerror " [*] Power Management support"
+ eerror "in the 'menuconfig'"
+ error+=" CONFIG_ACPI disabled;"
+ failed=1
+ fi
+
+ if ! linux_chkconfig_present PCI_MSI; then
+ eerror "${P} requires MSI in the kernel."
+ eerror "Please enable it:"
+ eerror " CONFIG_PCI_MSI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Bus options (PCI etc.) --->"
+ eerror " [*] Message Signaled Interrupts (MSI and MSI-X)"
+ eerror "in the kernel config."
+ error+=" CONFIG_PCI_MSI disabled"
+ failed=1
+ fi
+
+ if linux_chkconfig_present LOCKDEP; then
+ eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel."
+ eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only."
+ eerror "This prevents ${P} from compiling with an error like this:"
+ eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
+ eerror "Please make sure the following options have been unset:"
+ eerror " Kernel hacking --->"
+ eerror " [ ] Lock debugging: detect incorrect freeing of live locks"
+ eerror " [ ] Lock debugging: prove locking correctness"
+ eerror " [ ] Lock usage statistics"
+ eerror "in 'menuconfig'"
+ error+=" LOCKDEP enabled"
+ failed=1
+ fi
+
+ use amd64 && if ! linux_chkconfig_present COMPAT; then
+ eerror "${P} requires COMPAT."
+ eerror "Please enable the 32 bit emulation:"
+ eerror "Executable file formats / Emulations --->"
+ eerror " [*] IA32 Emulation"
+ eerror "in the kernel config."
+ eerror "if this doesn't enable CONFIG_COMPAT add"
+ eerror " CONFIG_COMPAT=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" COMPAT disabled"
+ failed=1
+ fi
+
+ kernel_is le 2 6 38 && kernel_is ge 2 6 37 && if ! linux_chkconfig_present BKL ; then
+ eerror "${P} requires BKL."
+ eerror "Please enable the Big Kernel Lock:"
+ eerror "Kernel hacking --->"
+ eerror " [*] Big Kernel Lock"
+ eerror "in the kernel config."
+ eerror "or add"
+ eerror " CONFIG_BKL=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" BKL disabled"
+ failed=1
+ fi
+
+ [ ${failed} -ne 0 ] && die "${error}"
+}
+
+pkg_pretend() {
+ # workaround until bug 365543 is solved
+ linux-info_pkg_setup
+ require_configured_kernel
+ _check_kernel_config
+}
+
+pkg_setup() {
+ MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
+ BUILD_TARGETS="kmod_build"
+ linux-mod_pkg_setup
+ BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
+ if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
+ else
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
+ fi
+
+ # amd64/x86
+ if use amd64 ; then
+ MY_BASE_DIR="${BASE_DIR}_64a"
+ PKG_LIBDIR=lib64
+ ARCH_DIR="${S}/arch/x86_64"
+ else
+ MY_BASE_DIR="${BASE_DIR}"
+ PKG_LIBDIR=lib
+ ARCH_DIR="${S}/arch/x86"
+ fi
+
+ # Define module dir.
+ MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
+
+ elog
+ elog "Please note that this driver supports only graphic cards based on"
+ elog "r600 chipset and newer."
+ elog "This represent the ATI Radeon HD series at this moment."
+ elog
+ elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati"
+ elog "as replacement is highly recommended. Rather than staying with"
+ elog "old versions of this driver."
+ elog "For migration informations please reffer to:"
+ elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
+ einfo
+}
+
+src_unpack() {
+ if [[ $(get_major_version) -gt 8 ]]; then
+ # Switching to a standard way to extract the files since otherwise no signature file
+ # would be created
+ local src="${DISTDIR}/${A}"
+ sh "${src}" --extract "${S}" 2&>1 /dev/null
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # version patches
+ # epatch "${FILESDIR}"/kernel/${PV}-*.patch
+ if use debug; then
+ sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
+ "${MODULE_DIR}/firegl_public.c" \
+ || die "Failed to enable debug output."
+ fi
+
+ cd "${MODULE_DIR}"
+ # bugged fglrx build system, this file should be copied by hand
+ cp "${ARCH_DIR}"/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
+
+ # Add 2.6.39 support
+ epatch "${FILESDIR}"/ati-drivers-2.6.39.patch
+
+ convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
+
+ # When built with ati's make.sh it defines a bunch of macros if
+ # certain .config values are set, falling back to less reliable
+ # detection methods if linux/autoconf.h is not available. We
+ # simply use the linux/autoconf.h settings directly, bypassing the
+ # detection script.
+ sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
+ sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
+ || die "MODVERSIONS sed failed"
+
+ cd "${S}"
+ mkdir extra || die "mkdir failed"
+ cd extra
+ unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
+}
+
+src_compile() {
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+}
+
+pkg_postinst() {
+ elog "If you experience unexplained segmentation faults and kernel crashes"
+ elog "with this driver and multi-threaded applications such as wine,"
+ elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+ linux-mod_pkg_postinst
+}
+
+pkg_preinst() {
+ linux-mod_pkg_preinst
+}
+
+pkg_postrm() {
+ linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/ati-drivers/ati-drivers-11.8.ebuild b/x11-drivers/ati-drivers/ati-drivers-11.8.ebuild
new file mode 100644
index 00000000..d009c8c1
--- /dev/null
+++ b/x11-drivers/ati-drivers/ati-drivers-11.8.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
+
+DESCRIPTION="AMD kernel drivers for r600 (HD Series) and newer chipsets"
+HOMEPAGE="http://ati.amd.com"
+# 8.ble will be used for beta releases.
+if [[ $(get_major_version) -gt 8 ]]; then
+ ATI_URL="http://www2.ati.com/drivers/linux/"
+ SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run"
+ FOLDER_PREFIX="common/"
+else
+ SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz"
+ FOLDER_PREFIX=""
+fi
+IUSE="debug multilib"
+
+LICENSE="AMD GPL-2 as-is"
+KEYWORDS="~amd64 ~x86"
+SLOT="1"
+
+RDEPEND="multilib? ( ~x11-drivers/ati-userspace-${PV}[multilib] )
+ ~x11-drivers/ati-userspace-${PV}
+ sys-power/acpid"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+_check_kernel_config() {
+ local failed=0
+ local error=""
+ if ! kernel_is ge 2 6; then
+ eerror "You need a 2.6 linux kernel to compile against!"
+ die "No 2.6 Kernel found"
+ fi
+
+ if ! linux_chkconfig_present MTRR; then
+ ewarn "You don't have MTRR support enabled in the kernel."
+ ewarn "Direct rendering will not work."
+ fi
+
+ if linux_chkconfig_builtin DRM; then
+ ewarn "You have DRM support built in to the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present AGP && \
+ ! linux_chkconfig_present PCIEPORTBUS; then
+ ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present ACPI; then
+ eerror "${P} requires the ACPI support in the kernel"
+ eerror "Please enable it:"
+ eerror " CONFIG_ACPI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Power management and ACPI options --->"
+ eerror " [*] Power Management support"
+ eerror "in the 'menuconfig'"
+ error+=" CONFIG_ACPI disabled;"
+ failed=1
+ fi
+
+ if ! linux_chkconfig_present PCI_MSI; then
+ eerror "${P} requires MSI in the kernel."
+ eerror "Please enable it:"
+ eerror " CONFIG_PCI_MSI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Bus options (PCI etc.) --->"
+ eerror " [*] Message Signaled Interrupts (MSI and MSI-X)"
+ eerror "in the kernel config."
+ error+=" CONFIG_PCI_MSI disabled;"
+ failed=1
+ fi
+
+ if linux_chkconfig_present LOCKDEP; then
+ eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel."
+ eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only."
+ eerror "This prevents ${P} from compiling with an error like this:"
+ eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
+ eerror "Please make sure the following options have been unset:"
+ eerror " Kernel hacking --->"
+ eerror " [ ] Lock debugging: detect incorrect freeing of live locks"
+ eerror " [ ] Lock debugging: prove locking correctness"
+ eerror " [ ] Lock usage statistics"
+ eerror "in 'menuconfig'"
+ error+=" LOCKDEP enabled;"
+ failed=1
+ fi
+
+ use amd64 && if ! linux_chkconfig_present COMPAT; then
+ eerror "${P} requires COMPAT."
+ eerror "Please enable the 32 bit emulation:"
+ eerror "Executable file formats / Emulations --->"
+ eerror " [*] IA32 Emulation"
+ eerror "in the kernel config."
+ eerror "if this doesn't enable CONFIG_COMPAT add"
+ eerror " CONFIG_COMPAT=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" COMPAT disabled;"
+ failed=1
+ fi
+
+ kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then
+ eerror "${P} requires BKL."
+ eerror "Please enable the Big Kernel Lock:"
+ eerror "Kernel hacking --->"
+ eerror " [*] Big Kernel Lock"
+ eerror "in the kernel config."
+ eerror "or add"
+ eerror " CONFIG_BKL=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" BKL disabled;"
+ failed=1
+ fi
+
+ [[ ${failed} -ne 0 ]] && die "${error}"
+}
+
+pkg_pretend() {
+ # workaround until bug 365543 is solved
+ linux-info_pkg_setup
+ require_configured_kernel
+ _check_kernel_config
+}
+
+pkg_setup() {
+ MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
+ BUILD_TARGETS="kmod_build"
+ linux-mod_pkg_setup
+ BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
+ if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
+ else
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
+ fi
+
+ # amd64/x86
+ if use amd64 ; then
+ MY_BASE_DIR="${BASE_DIR}_64a"
+ PKG_LIBDIR=lib64
+ ARCH_DIR="${S}/arch/x86_64"
+ else
+ MY_BASE_DIR="${BASE_DIR}"
+ PKG_LIBDIR=lib
+ ARCH_DIR="${S}/arch/x86"
+ fi
+
+ # Define module dir.
+ MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
+
+ elog
+ elog "Please note that this driver supports only graphic cards based on"
+ elog "r600 chipset and newer."
+ elog "This represent the ATI Radeon HD series at this moment."
+ elog
+ elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati"
+ elog "as replacement is highly recommended. Rather than staying with"
+ elog "old versions of this driver."
+ elog "For migration informations please reffer to:"
+ elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
+ einfo
+}
+
+src_unpack() {
+ if [[ $(get_major_version) -gt 8 ]]; then
+ # Switching to a standard way to extract the files since otherwise no signature file
+ # would be created
+ local src="${DISTDIR}/${A}"
+ sh "${src}" --extract "${S}" 2&>1 /dev/null
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # version patches
+ # epatch "${FILESDIR}"/kernel/${PV}-*.patch
+ if use debug; then
+ sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
+ "${MODULE_DIR}/firegl_public.c" \
+ || die "Failed to enable debug output."
+ fi
+
+ cd "${MODULE_DIR}"
+ # bugged fglrx build system, this file should be copied by hand
+ cp "${ARCH_DIR}"/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
+
+ convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
+
+ # When built with ati's make.sh it defines a bunch of macros if
+ # certain .config values are set, falling back to less reliable
+ # detection methods if linux/autoconf.h is not available. We
+ # simply use the linux/autoconf.h settings directly, bypassing the
+ # detection script.
+ sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
+ sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
+ || die "MODVERSIONS sed failed"
+
+ cd "${S}"
+ mkdir extra || die "mkdir failed"
+ cd extra
+ unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
+}
+
+src_compile() {
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+}
+
+pkg_postinst() {
+ elog "If you experience unexplained segmentation faults and kernel crashes"
+ elog "with this driver and multi-threaded applications such as wine,"
+ elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+ linux-mod_pkg_postinst
+}
+
+pkg_preinst() {
+ linux-mod_pkg_preinst
+}
+
+pkg_postrm() {
+ linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/ati-drivers/ati-drivers-11.9.ebuild b/x11-drivers/ati-drivers/ati-drivers-11.9.ebuild
new file mode 100644
index 00000000..d009c8c1
--- /dev/null
+++ b/x11-drivers/ati-drivers/ati-drivers-11.9.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
+
+DESCRIPTION="AMD kernel drivers for r600 (HD Series) and newer chipsets"
+HOMEPAGE="http://ati.amd.com"
+# 8.ble will be used for beta releases.
+if [[ $(get_major_version) -gt 8 ]]; then
+ ATI_URL="http://www2.ati.com/drivers/linux/"
+ SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run"
+ FOLDER_PREFIX="common/"
+else
+ SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz"
+ FOLDER_PREFIX=""
+fi
+IUSE="debug multilib"
+
+LICENSE="AMD GPL-2 as-is"
+KEYWORDS="~amd64 ~x86"
+SLOT="1"
+
+RDEPEND="multilib? ( ~x11-drivers/ati-userspace-${PV}[multilib] )
+ ~x11-drivers/ati-userspace-${PV}
+ sys-power/acpid"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+_check_kernel_config() {
+ local failed=0
+ local error=""
+ if ! kernel_is ge 2 6; then
+ eerror "You need a 2.6 linux kernel to compile against!"
+ die "No 2.6 Kernel found"
+ fi
+
+ if ! linux_chkconfig_present MTRR; then
+ ewarn "You don't have MTRR support enabled in the kernel."
+ ewarn "Direct rendering will not work."
+ fi
+
+ if linux_chkconfig_builtin DRM; then
+ ewarn "You have DRM support built in to the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present AGP && \
+ ! linux_chkconfig_present PCIEPORTBUS; then
+ ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present ACPI; then
+ eerror "${P} requires the ACPI support in the kernel"
+ eerror "Please enable it:"
+ eerror " CONFIG_ACPI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Power management and ACPI options --->"
+ eerror " [*] Power Management support"
+ eerror "in the 'menuconfig'"
+ error+=" CONFIG_ACPI disabled;"
+ failed=1
+ fi
+
+ if ! linux_chkconfig_present PCI_MSI; then
+ eerror "${P} requires MSI in the kernel."
+ eerror "Please enable it:"
+ eerror " CONFIG_PCI_MSI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Bus options (PCI etc.) --->"
+ eerror " [*] Message Signaled Interrupts (MSI and MSI-X)"
+ eerror "in the kernel config."
+ error+=" CONFIG_PCI_MSI disabled;"
+ failed=1
+ fi
+
+ if linux_chkconfig_present LOCKDEP; then
+ eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel."
+ eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only."
+ eerror "This prevents ${P} from compiling with an error like this:"
+ eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
+ eerror "Please make sure the following options have been unset:"
+ eerror " Kernel hacking --->"
+ eerror " [ ] Lock debugging: detect incorrect freeing of live locks"
+ eerror " [ ] Lock debugging: prove locking correctness"
+ eerror " [ ] Lock usage statistics"
+ eerror "in 'menuconfig'"
+ error+=" LOCKDEP enabled;"
+ failed=1
+ fi
+
+ use amd64 && if ! linux_chkconfig_present COMPAT; then
+ eerror "${P} requires COMPAT."
+ eerror "Please enable the 32 bit emulation:"
+ eerror "Executable file formats / Emulations --->"
+ eerror " [*] IA32 Emulation"
+ eerror "in the kernel config."
+ eerror "if this doesn't enable CONFIG_COMPAT add"
+ eerror " CONFIG_COMPAT=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" COMPAT disabled;"
+ failed=1
+ fi
+
+ kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then
+ eerror "${P} requires BKL."
+ eerror "Please enable the Big Kernel Lock:"
+ eerror "Kernel hacking --->"
+ eerror " [*] Big Kernel Lock"
+ eerror "in the kernel config."
+ eerror "or add"
+ eerror " CONFIG_BKL=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" BKL disabled;"
+ failed=1
+ fi
+
+ [[ ${failed} -ne 0 ]] && die "${error}"
+}
+
+pkg_pretend() {
+ # workaround until bug 365543 is solved
+ linux-info_pkg_setup
+ require_configured_kernel
+ _check_kernel_config
+}
+
+pkg_setup() {
+ MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
+ BUILD_TARGETS="kmod_build"
+ linux-mod_pkg_setup
+ BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
+ if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
+ else
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
+ fi
+
+ # amd64/x86
+ if use amd64 ; then
+ MY_BASE_DIR="${BASE_DIR}_64a"
+ PKG_LIBDIR=lib64
+ ARCH_DIR="${S}/arch/x86_64"
+ else
+ MY_BASE_DIR="${BASE_DIR}"
+ PKG_LIBDIR=lib
+ ARCH_DIR="${S}/arch/x86"
+ fi
+
+ # Define module dir.
+ MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
+
+ elog
+ elog "Please note that this driver supports only graphic cards based on"
+ elog "r600 chipset and newer."
+ elog "This represent the ATI Radeon HD series at this moment."
+ elog
+ elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati"
+ elog "as replacement is highly recommended. Rather than staying with"
+ elog "old versions of this driver."
+ elog "For migration informations please reffer to:"
+ elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
+ einfo
+}
+
+src_unpack() {
+ if [[ $(get_major_version) -gt 8 ]]; then
+ # Switching to a standard way to extract the files since otherwise no signature file
+ # would be created
+ local src="${DISTDIR}/${A}"
+ sh "${src}" --extract "${S}" 2&>1 /dev/null
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # version patches
+ # epatch "${FILESDIR}"/kernel/${PV}-*.patch
+ if use debug; then
+ sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
+ "${MODULE_DIR}/firegl_public.c" \
+ || die "Failed to enable debug output."
+ fi
+
+ cd "${MODULE_DIR}"
+ # bugged fglrx build system, this file should be copied by hand
+ cp "${ARCH_DIR}"/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
+
+ convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
+
+ # When built with ati's make.sh it defines a bunch of macros if
+ # certain .config values are set, falling back to less reliable
+ # detection methods if linux/autoconf.h is not available. We
+ # simply use the linux/autoconf.h settings directly, bypassing the
+ # detection script.
+ sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
+ sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
+ || die "MODVERSIONS sed failed"
+
+ cd "${S}"
+ mkdir extra || die "mkdir failed"
+ cd extra
+ unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
+}
+
+src_compile() {
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+}
+
+pkg_postinst() {
+ elog "If you experience unexplained segmentation faults and kernel crashes"
+ elog "with this driver and multi-threaded applications such as wine,"
+ elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+ linux-mod_pkg_postinst
+}
+
+pkg_preinst() {
+ linux-mod_pkg_preinst
+}
+
+pkg_postrm() {
+ linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/ati-drivers/ati-drivers-12.1-r1.ebuild b/x11-drivers/ati-drivers/ati-drivers-12.1-r1.ebuild
new file mode 100644
index 00000000..747e5e1d
--- /dev/null
+++ b/x11-drivers/ati-drivers/ati-drivers-12.1-r1.ebuild
@@ -0,0 +1,236 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
+
+DESCRIPTION="AMD kernel drivers for radeon r600 (HD Series) and newer chipsets"
+HOMEPAGE="http://www.amd.com"
+# 8.ble will be used for beta releases.
+if [[ $(get_major_version) -gt 8 ]]; then
+ ATI_URL="http://www2.ati.com/drivers/linux/"
+ SRC_URI="${ATI_URL}/amd-driver-installer-${PV/./-}-x86.x86_64.run"
+ FOLDER_PREFIX="common/"
+else
+ SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz"
+ FOLDER_PREFIX=""
+fi
+IUSE="debug multilib pax_kernel"
+
+LICENSE="AMD GPL-2 as-is"
+KEYWORDS="~amd64 ~x86"
+SLOT="1"
+
+RDEPEND="multilib? ( ~x11-drivers/ati-userspace-${PV}[multilib] )
+ ~x11-drivers/ati-userspace-${PV}
+ sys-power/acpid"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+_check_kernel_config() {
+ local failed=0
+ local error=""
+ if ! kernel_is ge 2 6; then
+ eerror "You need a 2.6 linux kernel to compile against!"
+ die "No 2.6 Kernel found"
+ fi
+
+ if ! linux_chkconfig_present MTRR; then
+ ewarn "You don't have MTRR support enabled in the kernel."
+ ewarn "Direct rendering will not work."
+ fi
+
+ if linux_chkconfig_builtin DRM; then
+ ewarn "You have DRM support built in to the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present AGP && \
+ ! linux_chkconfig_present PCIEPORTBUS; then
+ ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present ACPI; then
+ eerror "${P} requires the ACPI support in the kernel"
+ eerror "Please enable it:"
+ eerror " CONFIG_ACPI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Power management and ACPI options --->"
+ eerror " [*] Power Management support"
+ eerror "in the 'menuconfig'"
+ error+=" CONFIG_ACPI disabled;"
+ failed=1
+ fi
+
+ if ! linux_chkconfig_present PCI_MSI; then
+ eerror "${P} requires MSI in the kernel."
+ eerror "Please enable it:"
+ eerror " CONFIG_PCI_MSI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Bus options (PCI etc.) --->"
+ eerror " [*] Message Signaled Interrupts (MSI and MSI-X)"
+ eerror "in the kernel config."
+ error+=" CONFIG_PCI_MSI disabled;"
+ failed=1
+ fi
+
+ if linux_chkconfig_present LOCKDEP; then
+ eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel."
+ eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only."
+ eerror "This prevents ${P} from compiling with an error like this:"
+ eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
+ eerror "Please make sure the following options have been unset:"
+ eerror " Kernel hacking --->"
+ eerror " [ ] Lock debugging: detect incorrect freeing of live locks"
+ eerror " [ ] Lock debugging: prove locking correctness"
+ eerror " [ ] Lock usage statistics"
+ eerror "in 'menuconfig'"
+ error+=" LOCKDEP enabled;"
+ failed=1
+ fi
+
+ use amd64 && if ! linux_chkconfig_present COMPAT; then
+ eerror "${P} requires COMPAT."
+ eerror "Please enable the 32 bit emulation:"
+ eerror "Executable file formats / Emulations --->"
+ eerror " [*] IA32 Emulation"
+ eerror "in the kernel config."
+ eerror "if this doesn't enable CONFIG_COMPAT add"
+ eerror " CONFIG_COMPAT=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" COMPAT disabled;"
+ failed=1
+ fi
+
+ kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then
+ eerror "${P} requires BKL."
+ eerror "Please enable the Big Kernel Lock:"
+ eerror "Kernel hacking --->"
+ eerror " [*] Big Kernel Lock"
+ eerror "in the kernel config."
+ eerror "or add"
+ eerror " CONFIG_BKL=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" BKL disabled;"
+ failed=1
+ fi
+
+ [[ ${failed} -ne 0 ]] && die "${error}"
+}
+
+pkg_pretend() {
+ # workaround until bug 365543 is solved
+ linux-info_pkg_setup
+ require_configured_kernel
+ _check_kernel_config
+}
+
+pkg_setup() {
+ MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
+ BUILD_TARGETS="kmod_build"
+ linux-mod_pkg_setup
+ BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
+ if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
+ else
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
+ fi
+
+ # amd64/x86
+ if use amd64 ; then
+ MY_BASE_DIR="${BASE_DIR}_64a"
+ PKG_LIBDIR=lib64
+ ARCH_DIR="${S}/arch/x86_64"
+ else
+ MY_BASE_DIR="${BASE_DIR}"
+ PKG_LIBDIR=lib
+ ARCH_DIR="${S}/arch/x86"
+ fi
+
+ # Define module dir.
+ MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
+
+ elog
+ elog "Please note that this driver supports only graphic cards based on"
+ elog "r600 chipset and newer."
+ elog "This represent the AMD Radeon HD series at this moment."
+ elog
+ elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati"
+ elog "as replacement is highly recommended. Rather than staying with"
+ elog "old versions of this driver."
+ elog "For migration informations please reffer to:"
+ elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
+ einfo
+}
+
+src_unpack() {
+ if [[ $(get_major_version) -gt 8 ]]; then
+ # Switching to a standard way to extract the files since otherwise no signature file
+ # would be created
+ local src="${DISTDIR}/${A}"
+ sh "${src}" --extract "${S}" 2&>1 /dev/null
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # version patches
+ # epatch "${FILESDIR}"/kernel/${PV}-*.patch
+ if use debug; then
+ sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
+ "${MODULE_DIR}/firegl_public.c" \
+ || die "Failed to enable debug output."
+ fi
+
+ # fix needed for at least hardened-sources, see bug #392753
+ use pax_kernel && epatch "${FILESDIR}"/ati-drivers-redefine-WARN.patch
+
+ cd "${MODULE_DIR}"
+ # bugged fglrx build system, this file should be copied by hand
+ cp "${ARCH_DIR}"/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
+
+ convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
+
+ # When built with ati's make.sh it defines a bunch of macros if
+ # certain .config values are set, falling back to less reliable
+ # detection methods if linux/autoconf.h is not available. We
+ # simply use the linux/autoconf.h settings directly, bypassing the
+ # detection script.
+ sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
+ sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
+ || die "MODVERSIONS sed failed"
+
+ cd "${S}"
+ mkdir extra || die "mkdir failed"
+ cd extra
+ unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
+}
+
+src_compile() {
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+}
+
+pkg_postinst() {
+ elog "If you experience unexplained segmentation faults and kernel crashes"
+ elog "with this driver and multi-threaded applications such as wine,"
+ elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+ linux-mod_pkg_postinst
+}
+
+pkg_preinst() {
+ linux-mod_pkg_preinst
+}
+
+pkg_postrm() {
+ linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/ati-drivers/ati-drivers-12.10.ebuild b/x11-drivers/ati-drivers/ati-drivers-12.10.ebuild
new file mode 100644
index 00000000..842b2f58
--- /dev/null
+++ b/x11-drivers/ati-drivers/ati-drivers-12.10.ebuild
@@ -0,0 +1,240 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
+
+DESCRIPTION="AMD kernel drivers for radeon r600 (HD5000 Series) and newer chipsets"
+HOMEPAGE="http://www.amd.com"
+MY_V=( $(get_version_components) )
+#RUN="${WORKDIR}/amd-driver-installer-9.00-x86.x86_64.run"
+SRC_URI="http://www2.ati.com/drivers/linux/amd-driver-installer-catalyst-${PV}-x86.x86_64.zip"
+FOLDER_PREFIX="common/"
+IUSE="debug multilib x-multilib pax_kernel"
+
+LICENSE="AMD GPL-2 as-is"
+KEYWORDS="~amd64 ~x86"
+SLOT="1"
+
+RDEPEND="x-multilib? ( ~x11-drivers/ati-userspace-${PV}[x-multilib] )
+ multilib? ( ~x11-drivers/ati-userspace-${PV}[multilib] )
+ ~x11-drivers/ati-userspace-${PV}
+ sys-power/acpid"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+_check_kernel_config() {
+ local failed=0
+ local error=""
+ if ! kernel_is ge 2 6; then
+ eerror "You need a 2.6 linux kernel to compile against!"
+ die "No 2.6 Kernel found"
+ fi
+
+ if ! linux_chkconfig_present MTRR; then
+ ewarn "You don't have MTRR support enabled in the kernel."
+ ewarn "Direct rendering will not work."
+ fi
+
+ if linux_chkconfig_builtin DRM; then
+ ewarn "You have DRM support built in to the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present AGP && \
+ ! linux_chkconfig_present PCIEPORTBUS; then
+ ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present ACPI; then
+ eerror "${P} requires the ACPI support in the kernel"
+ eerror "Please enable it:"
+ eerror " CONFIG_ACPI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Power management and ACPI options --->"
+ eerror " [*] Power Management support"
+ eerror "in the 'menuconfig'"
+ error+=" CONFIG_ACPI disabled;"
+ failed=1
+ fi
+
+ if ! linux_chkconfig_present PCI_MSI; then
+ eerror "${P} requires MSI in the kernel."
+ eerror "Please enable it:"
+ eerror " CONFIG_PCI_MSI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Bus options (PCI etc.) --->"
+ eerror " [*] Message Signaled Interrupts (MSI and MSI-X)"
+ eerror "in the kernel config."
+ error+=" CONFIG_PCI_MSI disabled;"
+ failed=1
+ fi
+
+ if linux_chkconfig_present LOCKDEP; then
+ eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel."
+ eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only."
+ eerror "This prevents ${P} from compiling with an error like this:"
+ eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
+ eerror "Please make sure the following options have been unset:"
+ eerror " Kernel hacking --->"
+ eerror " [ ] Lock debugging: detect incorrect freeing of live locks"
+ eerror " [ ] Lock debugging: prove locking correctness"
+ eerror " [ ] Lock usage statistics"
+ eerror "in 'menuconfig'"
+ error+=" LOCKDEP enabled;"
+ failed=1
+ fi
+
+ use amd64 && if ! linux_chkconfig_present COMPAT; then
+ eerror "${P} requires COMPAT."
+ eerror "Please enable the 32 bit emulation:"
+ eerror "Executable file formats / Emulations --->"
+ eerror " [*] IA32 Emulation"
+ eerror "in the kernel config."
+ eerror "if this doesn't enable CONFIG_COMPAT add"
+ eerror " CONFIG_COMPAT=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" COMPAT disabled;"
+ failed=1
+ fi
+
+ kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then
+ eerror "${P} requires BKL."
+ eerror "Please enable the Big Kernel Lock:"
+ eerror "Kernel hacking --->"
+ eerror " [*] Big Kernel Lock"
+ eerror "in the kernel config."
+ eerror "or add"
+ eerror " CONFIG_BKL=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" BKL disabled;"
+ failed=1
+ fi
+
+ [[ ${failed} -ne 0 ]] && die "${error}"
+}
+
+pkg_pretend() {
+ # workaround until bug 365543 is solved
+ linux-info_pkg_setup
+ require_configured_kernel
+ _check_kernel_config
+}
+
+pkg_setup() {
+ MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
+ BUILD_TARGETS="kmod_build"
+ linux-mod_pkg_setup
+ BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
+ if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
+ else
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
+ fi
+
+ # amd64/x86
+ if use amd64 ; then
+ MY_BASE_DIR="${BASE_DIR}_64a"
+ PKG_LIBDIR=lib64
+ ARCH_DIR="${S}/arch/x86_64"
+ else
+ MY_BASE_DIR="${BASE_DIR}"
+ PKG_LIBDIR=lib
+ ARCH_DIR="${S}/arch/x86"
+ fi
+
+ # Define module dir.
+ MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
+
+ elog
+ elog "Please note that this driver supports only graphic cards based on"
+ elog "Evergreen chipset and newer."
+ elog "This represent the AMD Radeon HD 5400+ series at this moment."
+ elog
+ elog "If your card is older then use ${CATEGORY}/xf86-video-ati"
+ elog "For migration informations please reffer to:"
+ elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
+ einfo
+}
+
+src_unpack() {
+ if [[ ${A} =~ .*\.tar\.gz ]]; then
+ unpack ${A}
+ else
+ #please note, RUN may be insanely assigned at top near SRC_URI
+ if [[ ${A} =~ .*\.zip ]]; then
+ unpack ${A}
+ [[ -z "$RUN" ]] && RUN="${S}/${A/%.zip/.run}"
+ else
+ RUN="${DISTDIR}/${A}"
+ fi
+ sh ${RUN} --extract "${S}" 2>&1 > /dev/null || die
+ fi
+}
+
+src_prepare() {
+ # version patches
+ # epatch "${FILESDIR}"/kernel/${PV}-*.patch
+ if use debug; then
+ sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
+ "${MODULE_DIR}/firegl_public.c" \
+ || die "Failed to enable debug output."
+ fi
+
+ # see http://ati.cchtml.com/show_bug.cgi?id=495
+ #epatch "${FILESDIR}"/ati-drivers-old_rsp.patch
+ # first hunk applied upstream second (x32 related) was not
+ epatch "${FILESDIR}"/ati-drivers-x32_something_something.patch
+
+ # compile fix for linux-3.7
+ # https://bugs.gentoo.org/show_bug.cgi?id=438516
+ epatch "${FILESDIR}/ati-drivers-vm-reserverd.patch"
+
+ cd "${MODULE_DIR}"
+ # bugged fglrx build system, this file should be copied by hand
+ cp "${ARCH_DIR}"/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
+
+ convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
+
+ # When built with ati's make.sh it defines a bunch of macros if
+ # certain .config values are set, falling back to less reliable
+ # detection methods if linux/autoconf.h is not available. We
+ # simply use the linux/autoconf.h settings directly, bypassing the
+ # detection script.
+ sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
+ sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
+ || die "MODVERSIONS sed failed"
+
+ cd "${S}"
+ mkdir extra || die "mkdir failed"
+ cd extra
+ unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
+}
+
+src_compile() {
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+}
+
+pkg_postinst() {
+ elog "If you experience unexplained segmentation faults and kernel crashes"
+ elog "with this driver and multi-threaded applications such as wine,"
+ elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+ linux-mod_pkg_postinst
+}
+
+pkg_preinst() {
+ linux-mod_pkg_preinst
+}
+
+pkg_postrm() {
+ linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/ati-drivers/ati-drivers-12.2.ebuild b/x11-drivers/ati-drivers/ati-drivers-12.2.ebuild
new file mode 100644
index 00000000..4a971613
--- /dev/null
+++ b/x11-drivers/ati-drivers/ati-drivers-12.2.ebuild
@@ -0,0 +1,239 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
+
+DESCRIPTION="AMD kernel drivers for radeon r600 (HD Series) and newer chipsets"
+HOMEPAGE="http://www.amd.com"
+# 8.ble will be used for beta releases.
+if [[ $(get_major_version) -gt 8 ]]; then
+ ATI_URL="http://www2.ati.com/drivers/linux/"
+ SRC_URI="${ATI_URL}/amd-driver-installer-${PV/./-}-x86.x86_64.run"
+ FOLDER_PREFIX="common/"
+else
+ SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz"
+ FOLDER_PREFIX=""
+fi
+IUSE="debug multilib pax_kernel"
+
+LICENSE="AMD GPL-2 as-is"
+KEYWORDS="~amd64 ~x86"
+SLOT="1"
+
+RDEPEND="multilib? ( ~x11-drivers/ati-userspace-${PV}[multilib] )
+ ~x11-drivers/ati-userspace-${PV}
+ sys-power/acpid"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+_check_kernel_config() {
+ local failed=0
+ local error=""
+ if ! kernel_is ge 2 6; then
+ eerror "You need a 2.6 linux kernel to compile against!"
+ die "No 2.6 Kernel found"
+ fi
+
+ if ! linux_chkconfig_present MTRR; then
+ ewarn "You don't have MTRR support enabled in the kernel."
+ ewarn "Direct rendering will not work."
+ fi
+
+ if linux_chkconfig_builtin DRM; then
+ ewarn "You have DRM support built in to the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present AGP && \
+ ! linux_chkconfig_present PCIEPORTBUS; then
+ ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present ACPI; then
+ eerror "${P} requires the ACPI support in the kernel"
+ eerror "Please enable it:"
+ eerror " CONFIG_ACPI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Power management and ACPI options --->"
+ eerror " [*] Power Management support"
+ eerror "in the 'menuconfig'"
+ error+=" CONFIG_ACPI disabled;"
+ failed=1
+ fi
+
+ if ! linux_chkconfig_present PCI_MSI; then
+ eerror "${P} requires MSI in the kernel."
+ eerror "Please enable it:"
+ eerror " CONFIG_PCI_MSI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Bus options (PCI etc.) --->"
+ eerror " [*] Message Signaled Interrupts (MSI and MSI-X)"
+ eerror "in the kernel config."
+ error+=" CONFIG_PCI_MSI disabled;"
+ failed=1
+ fi
+
+ if linux_chkconfig_present LOCKDEP; then
+ eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel."
+ eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only."
+ eerror "This prevents ${P} from compiling with an error like this:"
+ eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
+ eerror "Please make sure the following options have been unset:"
+ eerror " Kernel hacking --->"
+ eerror " [ ] Lock debugging: detect incorrect freeing of live locks"
+ eerror " [ ] Lock debugging: prove locking correctness"
+ eerror " [ ] Lock usage statistics"
+ eerror "in 'menuconfig'"
+ error+=" LOCKDEP enabled;"
+ failed=1
+ fi
+
+ use amd64 && if ! linux_chkconfig_present COMPAT; then
+ eerror "${P} requires COMPAT."
+ eerror "Please enable the 32 bit emulation:"
+ eerror "Executable file formats / Emulations --->"
+ eerror " [*] IA32 Emulation"
+ eerror "in the kernel config."
+ eerror "if this doesn't enable CONFIG_COMPAT add"
+ eerror " CONFIG_COMPAT=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" COMPAT disabled;"
+ failed=1
+ fi
+
+ kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then
+ eerror "${P} requires BKL."
+ eerror "Please enable the Big Kernel Lock:"
+ eerror "Kernel hacking --->"
+ eerror " [*] Big Kernel Lock"
+ eerror "in the kernel config."
+ eerror "or add"
+ eerror " CONFIG_BKL=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" BKL disabled;"
+ failed=1
+ fi
+
+ [[ ${failed} -ne 0 ]] && die "${error}"
+}
+
+pkg_pretend() {
+ # workaround until bug 365543 is solved
+ linux-info_pkg_setup
+ require_configured_kernel
+ _check_kernel_config
+}
+
+pkg_setup() {
+ MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
+ BUILD_TARGETS="kmod_build"
+ linux-mod_pkg_setup
+ BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
+ if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
+ else
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
+ fi
+
+ # amd64/x86
+ if use amd64 ; then
+ MY_BASE_DIR="${BASE_DIR}_64a"
+ PKG_LIBDIR=lib64
+ ARCH_DIR="${S}/arch/x86_64"
+ else
+ MY_BASE_DIR="${BASE_DIR}"
+ PKG_LIBDIR=lib
+ ARCH_DIR="${S}/arch/x86"
+ fi
+
+ # Define module dir.
+ MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
+
+ elog
+ elog "Please note that this driver supports only graphic cards based on"
+ elog "r600 chipset and newer."
+ elog "This represent the AMD Radeon HD series at this moment."
+ elog
+ elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati"
+ elog "as replacement is highly recommended. Rather than staying with"
+ elog "old versions of this driver."
+ elog "For migration informations please reffer to:"
+ elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
+ einfo
+}
+
+src_unpack() {
+ if [[ $(get_major_version) -gt 8 ]]; then
+ # Switching to a standard way to extract the files since otherwise no signature file
+ # would be created
+ local src="${DISTDIR}/${A}"
+ sh "${src}" --extract "${S}" 2&>1 /dev/null
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # version patches
+ # epatch "${FILESDIR}"/kernel/${PV}-*.patch
+ if use debug; then
+ sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
+ "${MODULE_DIR}/firegl_public.c" \
+ || die "Failed to enable debug output."
+ fi
+
+ # fix needed for at least hardened-sources, see bug #392753
+ use pax_kernel && epatch "${FILESDIR}"/ati-drivers-12.2-redefine-WARN.patch
+
+ # Fix compilation with 3.2.8 and 3.3 kernels
+ epatch "${FILESDIR}/ati-drivers-3.2.8+.patch"
+
+ cd "${MODULE_DIR}"
+ # bugged fglrx build system, this file should be copied by hand
+ cp "${ARCH_DIR}"/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
+
+ convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
+
+ # When built with ati's make.sh it defines a bunch of macros if
+ # certain .config values are set, falling back to less reliable
+ # detection methods if linux/autoconf.h is not available. We
+ # simply use the linux/autoconf.h settings directly, bypassing the
+ # detection script.
+ sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
+ sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
+ || die "MODVERSIONS sed failed"
+
+ cd "${S}"
+ mkdir extra || die "mkdir failed"
+ cd extra
+ unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
+}
+
+src_compile() {
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+}
+
+pkg_postinst() {
+ elog "If you experience unexplained segmentation faults and kernel crashes"
+ elog "with this driver and multi-threaded applications such as wine,"
+ elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+ linux-mod_pkg_postinst
+}
+
+pkg_preinst() {
+ linux-mod_pkg_preinst
+}
+
+pkg_postrm() {
+ linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/ati-drivers/ati-drivers-12.3.ebuild b/x11-drivers/ati-drivers/ati-drivers-12.3.ebuild
new file mode 100644
index 00000000..4a971613
--- /dev/null
+++ b/x11-drivers/ati-drivers/ati-drivers-12.3.ebuild
@@ -0,0 +1,239 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
+
+DESCRIPTION="AMD kernel drivers for radeon r600 (HD Series) and newer chipsets"
+HOMEPAGE="http://www.amd.com"
+# 8.ble will be used for beta releases.
+if [[ $(get_major_version) -gt 8 ]]; then
+ ATI_URL="http://www2.ati.com/drivers/linux/"
+ SRC_URI="${ATI_URL}/amd-driver-installer-${PV/./-}-x86.x86_64.run"
+ FOLDER_PREFIX="common/"
+else
+ SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz"
+ FOLDER_PREFIX=""
+fi
+IUSE="debug multilib pax_kernel"
+
+LICENSE="AMD GPL-2 as-is"
+KEYWORDS="~amd64 ~x86"
+SLOT="1"
+
+RDEPEND="multilib? ( ~x11-drivers/ati-userspace-${PV}[multilib] )
+ ~x11-drivers/ati-userspace-${PV}
+ sys-power/acpid"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+_check_kernel_config() {
+ local failed=0
+ local error=""
+ if ! kernel_is ge 2 6; then
+ eerror "You need a 2.6 linux kernel to compile against!"
+ die "No 2.6 Kernel found"
+ fi
+
+ if ! linux_chkconfig_present MTRR; then
+ ewarn "You don't have MTRR support enabled in the kernel."
+ ewarn "Direct rendering will not work."
+ fi
+
+ if linux_chkconfig_builtin DRM; then
+ ewarn "You have DRM support built in to the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present AGP && \
+ ! linux_chkconfig_present PCIEPORTBUS; then
+ ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present ACPI; then
+ eerror "${P} requires the ACPI support in the kernel"
+ eerror "Please enable it:"
+ eerror " CONFIG_ACPI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Power management and ACPI options --->"
+ eerror " [*] Power Management support"
+ eerror "in the 'menuconfig'"
+ error+=" CONFIG_ACPI disabled;"
+ failed=1
+ fi
+
+ if ! linux_chkconfig_present PCI_MSI; then
+ eerror "${P} requires MSI in the kernel."
+ eerror "Please enable it:"
+ eerror " CONFIG_PCI_MSI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Bus options (PCI etc.) --->"
+ eerror " [*] Message Signaled Interrupts (MSI and MSI-X)"
+ eerror "in the kernel config."
+ error+=" CONFIG_PCI_MSI disabled;"
+ failed=1
+ fi
+
+ if linux_chkconfig_present LOCKDEP; then
+ eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel."
+ eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only."
+ eerror "This prevents ${P} from compiling with an error like this:"
+ eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
+ eerror "Please make sure the following options have been unset:"
+ eerror " Kernel hacking --->"
+ eerror " [ ] Lock debugging: detect incorrect freeing of live locks"
+ eerror " [ ] Lock debugging: prove locking correctness"
+ eerror " [ ] Lock usage statistics"
+ eerror "in 'menuconfig'"
+ error+=" LOCKDEP enabled;"
+ failed=1
+ fi
+
+ use amd64 && if ! linux_chkconfig_present COMPAT; then
+ eerror "${P} requires COMPAT."
+ eerror "Please enable the 32 bit emulation:"
+ eerror "Executable file formats / Emulations --->"
+ eerror " [*] IA32 Emulation"
+ eerror "in the kernel config."
+ eerror "if this doesn't enable CONFIG_COMPAT add"
+ eerror " CONFIG_COMPAT=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" COMPAT disabled;"
+ failed=1
+ fi
+
+ kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then
+ eerror "${P} requires BKL."
+ eerror "Please enable the Big Kernel Lock:"
+ eerror "Kernel hacking --->"
+ eerror " [*] Big Kernel Lock"
+ eerror "in the kernel config."
+ eerror "or add"
+ eerror " CONFIG_BKL=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" BKL disabled;"
+ failed=1
+ fi
+
+ [[ ${failed} -ne 0 ]] && die "${error}"
+}
+
+pkg_pretend() {
+ # workaround until bug 365543 is solved
+ linux-info_pkg_setup
+ require_configured_kernel
+ _check_kernel_config
+}
+
+pkg_setup() {
+ MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
+ BUILD_TARGETS="kmod_build"
+ linux-mod_pkg_setup
+ BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
+ if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
+ else
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
+ fi
+
+ # amd64/x86
+ if use amd64 ; then
+ MY_BASE_DIR="${BASE_DIR}_64a"
+ PKG_LIBDIR=lib64
+ ARCH_DIR="${S}/arch/x86_64"
+ else
+ MY_BASE_DIR="${BASE_DIR}"
+ PKG_LIBDIR=lib
+ ARCH_DIR="${S}/arch/x86"
+ fi
+
+ # Define module dir.
+ MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
+
+ elog
+ elog "Please note that this driver supports only graphic cards based on"
+ elog "r600 chipset and newer."
+ elog "This represent the AMD Radeon HD series at this moment."
+ elog
+ elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati"
+ elog "as replacement is highly recommended. Rather than staying with"
+ elog "old versions of this driver."
+ elog "For migration informations please reffer to:"
+ elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
+ einfo
+}
+
+src_unpack() {
+ if [[ $(get_major_version) -gt 8 ]]; then
+ # Switching to a standard way to extract the files since otherwise no signature file
+ # would be created
+ local src="${DISTDIR}/${A}"
+ sh "${src}" --extract "${S}" 2&>1 /dev/null
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # version patches
+ # epatch "${FILESDIR}"/kernel/${PV}-*.patch
+ if use debug; then
+ sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
+ "${MODULE_DIR}/firegl_public.c" \
+ || die "Failed to enable debug output."
+ fi
+
+ # fix needed for at least hardened-sources, see bug #392753
+ use pax_kernel && epatch "${FILESDIR}"/ati-drivers-12.2-redefine-WARN.patch
+
+ # Fix compilation with 3.2.8 and 3.3 kernels
+ epatch "${FILESDIR}/ati-drivers-3.2.8+.patch"
+
+ cd "${MODULE_DIR}"
+ # bugged fglrx build system, this file should be copied by hand
+ cp "${ARCH_DIR}"/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
+
+ convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
+
+ # When built with ati's make.sh it defines a bunch of macros if
+ # certain .config values are set, falling back to less reliable
+ # detection methods if linux/autoconf.h is not available. We
+ # simply use the linux/autoconf.h settings directly, bypassing the
+ # detection script.
+ sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
+ sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
+ || die "MODVERSIONS sed failed"
+
+ cd "${S}"
+ mkdir extra || die "mkdir failed"
+ cd extra
+ unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
+}
+
+src_compile() {
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+}
+
+pkg_postinst() {
+ elog "If you experience unexplained segmentation faults and kernel crashes"
+ elog "with this driver and multi-threaded applications such as wine,"
+ elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+ linux-mod_pkg_postinst
+}
+
+pkg_preinst() {
+ linux-mod_pkg_preinst
+}
+
+pkg_postrm() {
+ linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/ati-drivers/ati-drivers-12.4.ebuild b/x11-drivers/ati-drivers/ati-drivers-12.4.ebuild
new file mode 100644
index 00000000..f72a2c59
--- /dev/null
+++ b/x11-drivers/ati-drivers/ati-drivers-12.4.ebuild
@@ -0,0 +1,242 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
+
+DESCRIPTION="AMD kernel drivers for radeon r600 (HD Series) and newer chipsets"
+HOMEPAGE="http://www.amd.com"
+# 8.ble will be used for beta releases.
+if [[ $(get_major_version) -gt 8 ]]; then
+ ATI_URL="http://www2.ati.com/drivers/linux/"
+ SRC_URI="${ATI_URL}/amd-driver-installer-${PV/./-}-x86.x86_64.run"
+ FOLDER_PREFIX="common/"
+else
+ SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz"
+ FOLDER_PREFIX=""
+fi
+IUSE="debug multilib pax_kernel"
+
+LICENSE="AMD GPL-2 as-is"
+KEYWORDS="~amd64 ~x86"
+SLOT="1"
+
+RDEPEND="multilib? ( ~x11-drivers/ati-userspace-${PV}[multilib] )
+ ~x11-drivers/ati-userspace-${PV}
+ sys-power/acpid"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+_check_kernel_config() {
+ local failed=0
+ local error=""
+ if ! kernel_is ge 2 6; then
+ eerror "You need a 2.6 linux kernel to compile against!"
+ die "No 2.6 Kernel found"
+ fi
+
+ if ! linux_chkconfig_present MTRR; then
+ ewarn "You don't have MTRR support enabled in the kernel."
+ ewarn "Direct rendering will not work."
+ fi
+
+ if linux_chkconfig_builtin DRM; then
+ ewarn "You have DRM support built in to the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present AGP && \
+ ! linux_chkconfig_present PCIEPORTBUS; then
+ ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present ACPI; then
+ eerror "${P} requires the ACPI support in the kernel"
+ eerror "Please enable it:"
+ eerror " CONFIG_ACPI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Power management and ACPI options --->"
+ eerror " [*] Power Management support"
+ eerror "in the 'menuconfig'"
+ error+=" CONFIG_ACPI disabled;"
+ failed=1
+ fi
+
+ if ! linux_chkconfig_present PCI_MSI; then
+ eerror "${P} requires MSI in the kernel."
+ eerror "Please enable it:"
+ eerror " CONFIG_PCI_MSI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Bus options (PCI etc.) --->"
+ eerror " [*] Message Signaled Interrupts (MSI and MSI-X)"
+ eerror "in the kernel config."
+ error+=" CONFIG_PCI_MSI disabled;"
+ failed=1
+ fi
+
+ if linux_chkconfig_present LOCKDEP; then
+ eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel."
+ eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only."
+ eerror "This prevents ${P} from compiling with an error like this:"
+ eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
+ eerror "Please make sure the following options have been unset:"
+ eerror " Kernel hacking --->"
+ eerror " [ ] Lock debugging: detect incorrect freeing of live locks"
+ eerror " [ ] Lock debugging: prove locking correctness"
+ eerror " [ ] Lock usage statistics"
+ eerror "in 'menuconfig'"
+ error+=" LOCKDEP enabled;"
+ failed=1
+ fi
+
+ use amd64 && if ! linux_chkconfig_present COMPAT; then
+ eerror "${P} requires COMPAT."
+ eerror "Please enable the 32 bit emulation:"
+ eerror "Executable file formats / Emulations --->"
+ eerror " [*] IA32 Emulation"
+ eerror "in the kernel config."
+ eerror "if this doesn't enable CONFIG_COMPAT add"
+ eerror " CONFIG_COMPAT=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" COMPAT disabled;"
+ failed=1
+ fi
+
+ kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then
+ eerror "${P} requires BKL."
+ eerror "Please enable the Big Kernel Lock:"
+ eerror "Kernel hacking --->"
+ eerror " [*] Big Kernel Lock"
+ eerror "in the kernel config."
+ eerror "or add"
+ eerror " CONFIG_BKL=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" BKL disabled;"
+ failed=1
+ fi
+
+ [[ ${failed} -ne 0 ]] && die "${error}"
+}
+
+pkg_pretend() {
+ # workaround until bug 365543 is solved
+ linux-info_pkg_setup
+ require_configured_kernel
+ _check_kernel_config
+}
+
+pkg_setup() {
+ MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
+ BUILD_TARGETS="kmod_build"
+ linux-mod_pkg_setup
+ BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
+ if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
+ else
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
+ fi
+
+ # amd64/x86
+ if use amd64 ; then
+ MY_BASE_DIR="${BASE_DIR}_64a"
+ PKG_LIBDIR=lib64
+ ARCH_DIR="${S}/arch/x86_64"
+ else
+ MY_BASE_DIR="${BASE_DIR}"
+ PKG_LIBDIR=lib
+ ARCH_DIR="${S}/arch/x86"
+ fi
+
+ # Define module dir.
+ MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
+
+ elog
+ elog "Please note that this driver supports only graphic cards based on"
+ elog "r600 chipset and newer."
+ elog "This represent the AMD Radeon HD series at this moment."
+ elog
+ elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati"
+ elog "as replacement is highly recommended. Rather than staying with"
+ elog "old versions of this driver."
+ elog "For migration informations please reffer to:"
+ elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
+ einfo
+}
+
+src_unpack() {
+ if [[ $(get_major_version) -gt 8 ]]; then
+ # Switching to a standard way to extract the files since otherwise no signature file
+ # would be created
+ local src="${DISTDIR}/${A}"
+ sh "${src}" --extract "${S}" 2&>1 /dev/null
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # version patches
+ # epatch "${FILESDIR}"/kernel/${PV}-*.patch
+ if use debug; then
+ sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
+ "${MODULE_DIR}/firegl_public.c" \
+ || die "Failed to enable debug output."
+ fi
+
+ # fix needed for at least hardened-sources, see bug #392753
+ use pax_kernel && epatch "${FILESDIR}"/ati-drivers-12.2-redefine-WARN.patch
+
+ # Fix compilation with 3.2.8 and 3.3 kernels
+ epatch "${FILESDIR}/ati-drivers-3.2.8+.patch"
+
+ # see http://ati.cchtml.com/show_bug.cgi?id=495
+ kernel_is ge 3 4 0 && epatch "${FILESDIR}/ati-drivers-old_rsp.patch"
+
+ cd "${MODULE_DIR}"
+ # bugged fglrx build system, this file should be copied by hand
+ cp "${ARCH_DIR}"/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
+
+ convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
+
+ # When built with ati's make.sh it defines a bunch of macros if
+ # certain .config values are set, falling back to less reliable
+ # detection methods if linux/autoconf.h is not available. We
+ # simply use the linux/autoconf.h settings directly, bypassing the
+ # detection script.
+ sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
+ sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
+ || die "MODVERSIONS sed failed"
+
+ cd "${S}"
+ mkdir extra || die "mkdir failed"
+ cd extra
+ unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
+}
+
+src_compile() {
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+}
+
+pkg_postinst() {
+ elog "If you experience unexplained segmentation faults and kernel crashes"
+ elog "with this driver and multi-threaded applications such as wine,"
+ elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+ linux-mod_pkg_postinst
+}
+
+pkg_preinst() {
+ linux-mod_pkg_preinst
+}
+
+pkg_postrm() {
+ linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/ati-drivers/ati-drivers-12.6.ebuild b/x11-drivers/ati-drivers/ati-drivers-12.6.ebuild
new file mode 100644
index 00000000..fdd262e8
--- /dev/null
+++ b/x11-drivers/ati-drivers/ati-drivers-12.6.ebuild
@@ -0,0 +1,252 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
+
+DESCRIPTION="AMD kernel drivers for radeon r600 (HD Series) and newer chipsets"
+HOMEPAGE="http://www.amd.com"
+MY_V=( $(get_version_components) )
+if [[ ${MY_V[2]} != beta ]]; then
+ ATI_URL="http://www2.ati.com/drivers/linux/"
+ SRC_URI="${ATI_URL}/amd-driver-installer-${PV/./-}-x86.x86_64.run"
+ FOLDER_PREFIX="common/"
+else
+ SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz"
+ FOLDER_PREFIX=""
+fi
+IUSE="debug multilib pax_kernel"
+
+LICENSE="AMD GPL-2 as-is"
+KEYWORDS="~amd64 ~x86"
+SLOT="1"
+
+RDEPEND="multilib? ( ~x11-drivers/ati-userspace-${PV}[multilib] )
+ ~x11-drivers/ati-userspace-${PV}
+ sys-power/acpid"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+_check_kernel_config() {
+ local failed=0
+ local error=""
+ if ! kernel_is ge 2 6; then
+ eerror "You need a 2.6 linux kernel to compile against!"
+ die "No 2.6 Kernel found"
+ fi
+
+ if ! linux_chkconfig_present MTRR; then
+ ewarn "You don't have MTRR support enabled in the kernel."
+ ewarn "Direct rendering will not work."
+ fi
+
+ if linux_chkconfig_builtin DRM; then
+ ewarn "You have DRM support built in to the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present AGP && \
+ ! linux_chkconfig_present PCIEPORTBUS; then
+ ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present ACPI; then
+ eerror "${P} requires the ACPI support in the kernel"
+ eerror "Please enable it:"
+ eerror " CONFIG_ACPI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Power management and ACPI options --->"
+ eerror " [*] Power Management support"
+ eerror "in the 'menuconfig'"
+ error+=" CONFIG_ACPI disabled;"
+ failed=1
+ fi
+
+ if ! linux_chkconfig_present PCI_MSI; then
+ eerror "${P} requires MSI in the kernel."
+ eerror "Please enable it:"
+ eerror " CONFIG_PCI_MSI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Bus options (PCI etc.) --->"
+ eerror " [*] Message Signaled Interrupts (MSI and MSI-X)"
+ eerror "in the kernel config."
+ error+=" CONFIG_PCI_MSI disabled;"
+ failed=1
+ fi
+
+ if linux_chkconfig_present LOCKDEP; then
+ eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel."
+ eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only."
+ eerror "This prevents ${P} from compiling with an error like this:"
+ eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
+ eerror "Please make sure the following options have been unset:"
+ eerror " Kernel hacking --->"
+ eerror " [ ] Lock debugging: detect incorrect freeing of live locks"
+ eerror " [ ] Lock debugging: prove locking correctness"
+ eerror " [ ] Lock usage statistics"
+ eerror "in 'menuconfig'"
+ error+=" LOCKDEP enabled;"
+ failed=1
+ fi
+
+ use amd64 && if ! linux_chkconfig_present COMPAT; then
+ eerror "${P} requires COMPAT."
+ eerror "Please enable the 32 bit emulation:"
+ eerror "Executable file formats / Emulations --->"
+ eerror " [*] IA32 Emulation"
+ eerror "in the kernel config."
+ eerror "if this doesn't enable CONFIG_COMPAT add"
+ eerror " CONFIG_COMPAT=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" COMPAT disabled;"
+ failed=1
+ fi
+
+ kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then
+ eerror "${P} requires BKL."
+ eerror "Please enable the Big Kernel Lock:"
+ eerror "Kernel hacking --->"
+ eerror " [*] Big Kernel Lock"
+ eerror "in the kernel config."
+ eerror "or add"
+ eerror " CONFIG_BKL=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" BKL disabled;"
+ failed=1
+ fi
+
+ if linux_chkconfig_present X86_X32; then
+ eerror "You've enabled x32 in the kernel."
+ eerror "Unfortunately, this option is not supported yet and prevents the fglrx"
+ eerror "kernel module from loading."
+ error+=" X86_32 enabled;"
+ failed=1
+ fi
+
+ [[ ${failed} -ne 0 ]] && die "${error}"
+}
+
+pkg_pretend() {
+ # workaround until bug 365543 is solved
+ linux-info_pkg_setup
+ require_configured_kernel
+ _check_kernel_config
+}
+
+pkg_setup() {
+ MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
+ BUILD_TARGETS="kmod_build"
+ linux-mod_pkg_setup
+ BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
+ if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
+ else
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
+ fi
+
+ # amd64/x86
+ if use amd64 ; then
+ MY_BASE_DIR="${BASE_DIR}_64a"
+ PKG_LIBDIR=lib64
+ ARCH_DIR="${S}/arch/x86_64"
+ else
+ MY_BASE_DIR="${BASE_DIR}"
+ PKG_LIBDIR=lib
+ ARCH_DIR="${S}/arch/x86"
+ fi
+
+ # Define module dir.
+ MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
+
+ elog
+ elog "Please note that this driver supports only graphic cards based on"
+ elog "Evergreen chipset and newer."
+ elog "This represent the AMD Radeon HD series at this moment."
+ elog
+ elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati"
+ elog "as replacement is highly recommended. Rather than staying with"
+ elog "old versions of this driver."
+ elog "For migration informations please reffer to:"
+ elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
+ einfo
+}
+
+src_unpack() {
+ if [[ ${MY_V[2]} == beta ]]; then
+ unpack ${A}
+ RUN="${S}/${A/%.zip/.run}"
+ else
+ RUN="${DISTDIR}/${A}"
+ fi
+ sh ${RUN} --extract "${S}" # 2>&1 > /dev/null || die
+}
+
+src_prepare() {
+ # version patches
+ # epatch "${FILESDIR}"/kernel/${PV}-*.patch
+ if use debug; then
+ sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
+ "${MODULE_DIR}/firegl_public.c" \
+ || die "Failed to enable debug output."
+ fi
+
+ # fix needed for at least hardened-sources, see bug #392753
+ use pax_kernel && epatch "${FILESDIR}"/ati-drivers-12.2-redefine-WARN.patch
+
+ # Fix compilation with 3.2.8 and 3.3 kernels
+ epatch "${FILESDIR}/ati-drivers-3.2.8+-2.patch"
+
+ # see http://ati.cchtml.com/show_bug.cgi?id=495
+ kernel_is ge 3 4 0 && epatch "${FILESDIR}/ati-drivers-old_rsp.patch"
+
+ #fixes bug #420751
+ epatch "${FILESDIR}"/ati-drivers-do_mmap.patch
+
+ cd "${MODULE_DIR}"
+ # bugged fglrx build system, this file should be copied by hand
+ cp "${ARCH_DIR}"/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
+
+ convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
+
+ # When built with ati's make.sh it defines a bunch of macros if
+ # certain .config values are set, falling back to less reliable
+ # detection methods if linux/autoconf.h is not available. We
+ # simply use the linux/autoconf.h settings directly, bypassing the
+ # detection script.
+ sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
+ sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
+ || die "MODVERSIONS sed failed"
+
+ cd "${S}"
+ mkdir extra || die "mkdir failed"
+ cd extra
+ unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
+}
+
+src_compile() {
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+}
+
+pkg_postinst() {
+ elog "If you experience unexplained segmentation faults and kernel crashes"
+ elog "with this driver and multi-threaded applications such as wine,"
+ elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+ linux-mod_pkg_postinst
+}
+
+pkg_preinst() {
+ linux-mod_pkg_preinst
+}
+
+pkg_postrm() {
+ linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/ati-drivers/ati-drivers-12.6_beta_pre897.ebuild b/x11-drivers/ati-drivers/ati-drivers-12.6_beta_pre897.ebuild
new file mode 100644
index 00000000..0d39566f
--- /dev/null
+++ b/x11-drivers/ati-drivers/ati-drivers-12.6_beta_pre897.ebuild
@@ -0,0 +1,239 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
+
+DESCRIPTION="AMD kernel drivers for radeon r600 (HD Series) and newer chipsets"
+HOMEPAGE="http://www.amd.com"
+MY_V=( $(get_version_components) )
+if [[ ${MY_V[2]} != beta ]]; then
+ ATI_URL="http://www2.ati.com/drivers/linux/"
+ SRC_URI="${ATI_URL}/amd-driver-installer-${PV/./-}-x86.x86_64.run"
+ FOLDER_PREFIX="common/"
+else
+ #SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz"
+ SRC_URI="http://www2.ati.com/drivers/legacy/amd-driver-installer-12.6-legacy-x86.x86_64.zip"
+ FOLDER_PREFIX="common/"
+fi
+IUSE="debug multilib pax_kernel"
+
+LICENSE="AMD GPL-2 as-is"
+KEYWORDS="~amd64 ~x86"
+SLOT="1"
+
+RDEPEND="multilib? ( ~x11-drivers/ati-userspace-${PV}[multilib] )
+ ~x11-drivers/ati-userspace-${PV}
+ sys-power/acpid"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+_check_kernel_config() {
+ local failed=0
+ local error=""
+ if ! kernel_is ge 2 6; then
+ eerror "You need a 2.6 linux kernel to compile against!"
+ die "No 2.6 Kernel found"
+ fi
+
+ if ! linux_chkconfig_present MTRR; then
+ ewarn "You don't have MTRR support enabled in the kernel."
+ ewarn "Direct rendering will not work."
+ fi
+
+ if linux_chkconfig_builtin DRM; then
+ ewarn "You have DRM support built in to the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present AGP && \
+ ! linux_chkconfig_present PCIEPORTBUS; then
+ ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present ACPI; then
+ eerror "${P} requires the ACPI support in the kernel"
+ eerror "Please enable it:"
+ eerror " CONFIG_ACPI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Power management and ACPI options --->"
+ eerror " [*] Power Management support"
+ eerror "in the 'menuconfig'"
+ error+=" CONFIG_ACPI disabled;"
+ failed=1
+ fi
+
+ if ! linux_chkconfig_present PCI_MSI; then
+ eerror "${P} requires MSI in the kernel."
+ eerror "Please enable it:"
+ eerror " CONFIG_PCI_MSI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Bus options (PCI etc.) --->"
+ eerror " [*] Message Signaled Interrupts (MSI and MSI-X)"
+ eerror "in the kernel config."
+ error+=" CONFIG_PCI_MSI disabled;"
+ failed=1
+ fi
+
+ if linux_chkconfig_present LOCKDEP; then
+ eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel."
+ eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only."
+ eerror "This prevents ${P} from compiling with an error like this:"
+ eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
+ eerror "Please make sure the following options have been unset:"
+ eerror " Kernel hacking --->"
+ eerror " [ ] Lock debugging: detect incorrect freeing of live locks"
+ eerror " [ ] Lock debugging: prove locking correctness"
+ eerror " [ ] Lock usage statistics"
+ eerror "in 'menuconfig'"
+ error+=" LOCKDEP enabled;"
+ failed=1
+ fi
+
+ use amd64 && if ! linux_chkconfig_present COMPAT; then
+ eerror "${P} requires COMPAT."
+ eerror "Please enable the 32 bit emulation:"
+ eerror "Executable file formats / Emulations --->"
+ eerror " [*] IA32 Emulation"
+ eerror "in the kernel config."
+ eerror "if this doesn't enable CONFIG_COMPAT add"
+ eerror " CONFIG_COMPAT=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" COMPAT disabled;"
+ failed=1
+ fi
+
+ kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then
+ eerror "${P} requires BKL."
+ eerror "Please enable the Big Kernel Lock:"
+ eerror "Kernel hacking --->"
+ eerror " [*] Big Kernel Lock"
+ eerror "in the kernel config."
+ eerror "or add"
+ eerror " CONFIG_BKL=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" BKL disabled;"
+ failed=1
+ fi
+
+ [[ ${failed} -ne 0 ]] && die "${error}"
+}
+
+pkg_pretend() {
+ # workaround until bug 365543 is solved
+ linux-info_pkg_setup
+ require_configured_kernel
+ _check_kernel_config
+}
+
+pkg_setup() {
+ MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
+ BUILD_TARGETS="kmod_build"
+ linux-mod_pkg_setup
+ BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
+ if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
+ else
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
+ fi
+
+ # amd64/x86
+ if use amd64 ; then
+ MY_BASE_DIR="${BASE_DIR}_64a"
+ PKG_LIBDIR=lib64
+ ARCH_DIR="${S}/arch/x86_64"
+ else
+ MY_BASE_DIR="${BASE_DIR}"
+ PKG_LIBDIR=lib
+ ARCH_DIR="${S}/arch/x86"
+ fi
+
+ # Define module dir.
+ MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
+
+ elog
+ elog "Please note that this driver supports only graphic cards based on"
+ elog "Evergreen chipset and newer."
+ elog "This represent the AMD Radeon HD series at this moment."
+ elog
+ elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati"
+ elog "as replacement is highly recommended. Rather than staying with"
+ elog "old versions of this driver."
+ elog "For migration informations please reffer to:"
+ elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
+ einfo
+}
+
+src_unpack() {
+ if [[ ${MY_V[2]} == beta ]]; then
+ unpack ${A}
+ RUN=${A/%.zip/.run}
+ else
+ RUN=${A}
+ fi
+ sh ${RUN} --extract "${S}" # 2>&1 > /dev/null || die
+}
+
+src_prepare() {
+ # version patches
+ # epatch "${FILESDIR}"/kernel/${PV}-*.patch
+ if use debug; then
+ sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
+ "${MODULE_DIR}/firegl_public.c" \
+ || die "Failed to enable debug output."
+ fi
+
+ # fix needed for at least hardened-sources, see bug #392753
+ use pax_kernel && epatch "${FILESDIR}"/ati-drivers-12.2-redefine-WARN.patch
+
+ #fixes bug #420751
+ epatch "${FILESDIR}"/ati-drivers-do_mmap.patch
+
+ cd "${MODULE_DIR}"
+ # bugged fglrx build system, this file should be copied by hand
+ cp "${ARCH_DIR}"/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
+
+ convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
+
+ # When built with ati's make.sh it defines a bunch of macros if
+ # certain .config values are set, falling back to less reliable
+ # detection methods if linux/autoconf.h is not available. We
+ # simply use the linux/autoconf.h settings directly, bypassing the
+ # detection script.
+ sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
+ sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
+ || die "MODVERSIONS sed failed"
+
+ cd "${S}"
+ mkdir extra || die "mkdir failed"
+ cd extra
+ unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
+}
+
+src_compile() {
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+}
+
+pkg_postinst() {
+ elog "If you experience unexplained segmentation faults and kernel crashes"
+ elog "with this driver and multi-threaded applications such as wine,"
+ elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+ linux-mod_pkg_postinst
+}
+
+pkg_preinst() {
+ linux-mod_pkg_preinst
+}
+
+pkg_postrm() {
+ linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/ati-drivers/ati-drivers-12.8.ebuild b/x11-drivers/ati-drivers/ati-drivers-12.8.ebuild
new file mode 100644
index 00000000..260fcc6c
--- /dev/null
+++ b/x11-drivers/ati-drivers/ati-drivers-12.8.ebuild
@@ -0,0 +1,235 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
+
+DESCRIPTION="AMD kernel drivers for radeon r600 (HD Series) and newer chipsets"
+HOMEPAGE="http://www.amd.com"
+MY_V=( $(get_version_components) )
+if [[ ${MY_V[2]} != beta ]]; then
+ ATI_URL="http://www2.ati.com/drivers/linux/"
+ SRC_URI="${ATI_URL}/amd-driver-installer-${PV/./-}-x86.x86_64.zip"
+ FOLDER_PREFIX="common/"
+else
+ SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz"
+ FOLDER_PREFIX=""
+fi
+IUSE="debug multilib x-multilib pax_kernel"
+
+LICENSE="AMD GPL-2 as-is"
+KEYWORDS="~amd64 ~x86"
+SLOT="1"
+
+RDEPEND="x-multilib? ( ~x11-drivers/ati-userspace-${PV}[x-multilib] )
+ multilib? ( ~x11-drivers/ati-userspace-${PV}[multilib] )
+ ~x11-drivers/ati-userspace-${PV}
+ sys-power/acpid"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+_check_kernel_config() {
+ local failed=0
+ local error=""
+ if ! kernel_is ge 2 6; then
+ eerror "You need a 2.6 linux kernel to compile against!"
+ die "No 2.6 Kernel found"
+ fi
+
+ if ! linux_chkconfig_present MTRR; then
+ ewarn "You don't have MTRR support enabled in the kernel."
+ ewarn "Direct rendering will not work."
+ fi
+
+ if linux_chkconfig_builtin DRM; then
+ ewarn "You have DRM support built in to the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present AGP && \
+ ! linux_chkconfig_present PCIEPORTBUS; then
+ ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present ACPI; then
+ eerror "${P} requires the ACPI support in the kernel"
+ eerror "Please enable it:"
+ eerror " CONFIG_ACPI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Power management and ACPI options --->"
+ eerror " [*] Power Management support"
+ eerror "in the 'menuconfig'"
+ error+=" CONFIG_ACPI disabled;"
+ failed=1
+ fi
+
+ if ! linux_chkconfig_present PCI_MSI; then
+ eerror "${P} requires MSI in the kernel."
+ eerror "Please enable it:"
+ eerror " CONFIG_PCI_MSI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Bus options (PCI etc.) --->"
+ eerror " [*] Message Signaled Interrupts (MSI and MSI-X)"
+ eerror "in the kernel config."
+ error+=" CONFIG_PCI_MSI disabled;"
+ failed=1
+ fi
+
+ if linux_chkconfig_present LOCKDEP; then
+ eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel."
+ eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only."
+ eerror "This prevents ${P} from compiling with an error like this:"
+ eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
+ eerror "Please make sure the following options have been unset:"
+ eerror " Kernel hacking --->"
+ eerror " [ ] Lock debugging: detect incorrect freeing of live locks"
+ eerror " [ ] Lock debugging: prove locking correctness"
+ eerror " [ ] Lock usage statistics"
+ eerror "in 'menuconfig'"
+ error+=" LOCKDEP enabled;"
+ failed=1
+ fi
+
+ use amd64 && if ! linux_chkconfig_present COMPAT; then
+ eerror "${P} requires COMPAT."
+ eerror "Please enable the 32 bit emulation:"
+ eerror "Executable file formats / Emulations --->"
+ eerror " [*] IA32 Emulation"
+ eerror "in the kernel config."
+ eerror "if this doesn't enable CONFIG_COMPAT add"
+ eerror " CONFIG_COMPAT=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" COMPAT disabled;"
+ failed=1
+ fi
+
+ kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then
+ eerror "${P} requires BKL."
+ eerror "Please enable the Big Kernel Lock:"
+ eerror "Kernel hacking --->"
+ eerror " [*] Big Kernel Lock"
+ eerror "in the kernel config."
+ eerror "or add"
+ eerror " CONFIG_BKL=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" BKL disabled;"
+ failed=1
+ fi
+
+ [[ ${failed} -ne 0 ]] && die "${error}"
+}
+
+pkg_pretend() {
+ # workaround until bug 365543 is solved
+ linux-info_pkg_setup
+ require_configured_kernel
+ _check_kernel_config
+}
+
+pkg_setup() {
+ MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
+ BUILD_TARGETS="kmod_build"
+ linux-mod_pkg_setup
+ BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
+ if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
+ else
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
+ fi
+
+ # amd64/x86
+ if use amd64 ; then
+ MY_BASE_DIR="${BASE_DIR}_64a"
+ PKG_LIBDIR=lib64
+ ARCH_DIR="${S}/arch/x86_64"
+ else
+ MY_BASE_DIR="${BASE_DIR}"
+ PKG_LIBDIR=lib
+ ARCH_DIR="${S}/arch/x86"
+ fi
+
+ # Define module dir.
+ MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
+
+ elog
+ elog "Please note that this driver supports only graphic cards based on"
+ elog "Evergreen chipset and newer."
+ elog "This represent the AMD Radeon HD series at this moment."
+ elog
+ elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati"
+ elog "as replacement is highly recommended. Rather than staying with"
+ elog "old versions of this driver."
+ elog "For migration informations please reffer to:"
+ elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
+ einfo
+}
+
+src_unpack() {
+ unpack ${A}
+ RUN="${S}/"*.run
+ sh ${RUN} --extract "${S}" # 2>&1 > /dev/null || die
+}
+
+src_prepare() {
+ # version patches
+ # epatch "${FILESDIR}"/kernel/${PV}-*.patch
+ if use debug; then
+ sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
+ "${MODULE_DIR}/firegl_public.c" \
+ || die "Failed to enable debug output."
+ fi
+
+ # fix needed for at least hardened-sources, see bug #392753
+ use pax_kernel && epatch "${FILESDIR}"/ati-drivers-12.2-redefine-WARN.patch
+
+ #fixes bug #420751
+ epatch "${FILESDIR}"/ati-drivers-do_mmap.patch
+
+ cd "${MODULE_DIR}"
+ # bugged fglrx build system, this file should be copied by hand
+ cp "${ARCH_DIR}"/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
+
+ convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
+
+ # When built with ati's make.sh it defines a bunch of macros if
+ # certain .config values are set, falling back to less reliable
+ # detection methods if linux/autoconf.h is not available. We
+ # simply use the linux/autoconf.h settings directly, bypassing the
+ # detection script.
+ sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
+ sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
+ || die "MODVERSIONS sed failed"
+
+ cd "${S}"
+ mkdir extra || die "mkdir failed"
+ cd extra
+ unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
+}
+
+src_compile() {
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+}
+
+pkg_postinst() {
+ elog "If you experience unexplained segmentation faults and kernel crashes"
+ elog "with this driver and multi-threaded applications such as wine,"
+ elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+ linux-mod_pkg_postinst
+}
+
+pkg_preinst() {
+ linux-mod_pkg_preinst
+}
+
+pkg_postrm() {
+ linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/ati-drivers/ati-drivers-13.1.ebuild b/x11-drivers/ati-drivers/ati-drivers-13.1.ebuild
new file mode 100644
index 00000000..89efdf51
--- /dev/null
+++ b/x11-drivers/ati-drivers/ati-drivers-13.1.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
+
+DESCRIPTION="AMD kernel drivers for radeon r600 (HD Series) and newer chipsets"
+HOMEPAGE="http://www.amd.com"
+MY_V=( $(get_version_components) )
+#RUN="${WORKDIR}/amd-driver-installer-9.00-x86.x86_64.run"
+DRIVERS_URI="http://www2.ati.com/drivers/linux/amd-driver-installer-catalyst-${PV}-linux-x86.x86_64.zip"
+XVBA_SDK_URI="http://developer.amd.com.php53-23.ord1-1.websitetestlink.com/wordpress/media/2012/10/xvba-sdk-0.74-404001.tar.gz"
+SRC_URI="${DRIVERS_URI} ${XVBA_SDK_URI}"
+FOLDER_PREFIX="common/"
+IUSE="debug multilib x-multilib pax_kernel disable-watermark"
+
+LICENSE="AMD GPL-2 QPL-1.0"
+KEYWORDS="-* ~amd64 ~x86"
+SLOT="1"
+
+RDEPEND="x-multilib? ( ~x11-drivers/ati-userspace-${PV}[x-multilib] )
+ multilib? ( ~x11-drivers/ati-userspace-${PV}[multilib] )
+ ~x11-drivers/ati-userspace-${PV}
+ sys-power/acpid"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+_check_kernel_config() {
+ local failed=0
+ local error=""
+ if ! kernel_is ge 2 6; then
+ eerror "You need a 2.6 linux kernel to compile against!"
+ die "No 2.6 Kernel found"
+ fi
+
+ if ! linux_chkconfig_present MTRR; then
+ ewarn "You don't have MTRR support enabled in the kernel."
+ ewarn "Direct rendering will not work."
+ fi
+
+ if linux_chkconfig_builtin DRM; then
+ ewarn "You have DRM support built in to the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present AGP && \
+ ! linux_chkconfig_present PCIEPORTBUS; then
+ ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! linux_chkconfig_present ACPI; then
+ eerror "${P} requires the ACPI support in the kernel"
+ eerror "Please enable it:"
+ eerror " CONFIG_ACPI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Power management and ACPI options --->"
+ eerror " [*] Power Management support"
+ eerror "in the 'menuconfig'"
+ error+=" CONFIG_ACPI disabled;"
+ failed=1
+ fi
+
+ if ! linux_chkconfig_present PCI_MSI; then
+ eerror "${P} requires MSI in the kernel."
+ eerror "Please enable it:"
+ eerror " CONFIG_PCI_MSI=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Bus options (PCI etc.) --->"
+ eerror " [*] Message Signaled Interrupts (MSI and MSI-X)"
+ eerror "in the kernel config."
+ error+=" CONFIG_PCI_MSI disabled;"
+ failed=1
+ fi
+
+ if linux_chkconfig_present LOCKDEP; then
+ eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel."
+ eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only."
+ eerror "This prevents ${P} from compiling with an error like this:"
+ eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
+ eerror "Please make sure the following options have been unset:"
+ eerror " Kernel hacking --->"
+ eerror " [ ] Lock debugging: detect incorrect freeing of live locks"
+ eerror " [ ] Lock debugging: prove locking correctness"
+ eerror " [ ] Lock usage statistics"
+ eerror "in 'menuconfig'"
+ error+=" LOCKDEP enabled;"
+ failed=1
+ fi
+
+ use amd64 && if ! linux_chkconfig_present COMPAT; then
+ eerror "${P} requires COMPAT."
+ eerror "Please enable the 32 bit emulation:"
+ eerror "Executable file formats / Emulations --->"
+ eerror " [*] IA32 Emulation"
+ eerror "in the kernel config."
+ eerror "if this doesn't enable CONFIG_COMPAT add"
+ eerror " CONFIG_COMPAT=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" COMPAT disabled;"
+ failed=1
+ fi
+
+ kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then
+ eerror "${P} requires BKL."
+ eerror "Please enable the Big Kernel Lock:"
+ eerror "Kernel hacking --->"
+ eerror " [*] Big Kernel Lock"
+ eerror "in the kernel config."
+ eerror "or add"
+ eerror " CONFIG_BKL=y"
+ eerror "in /usr/src/linux/.config"
+ error+=" BKL disabled;"
+ failed=1
+ fi
+
+ [[ ${failed} -ne 0 ]] && die "${error}"
+}
+
+pkg_pretend() {
+ # workaround until bug 365543 is solved
+ linux-info_pkg_setup
+ require_configured_kernel
+ _check_kernel_config
+}
+
+pkg_setup() {
+ MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
+ BUILD_TARGETS="kmod_build"
+ linux-mod_pkg_setup
+ BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
+ if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
+ else
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
+ fi
+ # Define module dir.
+ MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
+ # get the xorg-server version and set BASE_DIR for that
+ BASE_DIR="${S}/xpic"
+
+ # amd64/x86
+ if use amd64 ; then
+ MY_BASE_DIR="${BASE_DIR}_64a"
+ PKG_LIBDIR=lib64
+ ARCH_DIR="${S}/arch/x86_64"
+ else
+ MY_BASE_DIR="${BASE_DIR}"
+ PKG_LIBDIR=lib
+ ARCH_DIR="${S}/arch/x86"
+ fi
+
+ elog
+ elog "Please note that this driver supports only graphic cards based on"
+ elog "Evergreen chipset and newer."
+ elog "This represent the AMD Radeon HD 5400+ series at this moment."
+ elog
+ elog "If your card is older then use ${CATEGORY}/xf86-video-ati"
+ elog "For migration informations please reffer to:"
+ elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
+ einfo
+}
+
+src_unpack() {
+ local DRIVERS_DISTFILE XVBA_SDK_DISTFILE
+ DRIVERS_DISTFILE=${DRIVERS_URI/*\//}
+ XVBA_SDK_DISTFILE=${XVBA_SDK_URI/*\//}
+
+ if [[ ${DRIVERS_DISTFILE} =~ .*\.tar\.gz ]]; then
+ unpack ${DRIVERS_DISTFILE}
+ else
+ #please note, RUN may be insanely assigned at top near SRC_URI
+ if [[ ${DRIVERS_DISTFILE} =~ .*\.zip ]]; then
+ unpack ${DRIVERS_DISTFILE}
+ [[ -z "$RUN" ]] && RUN="${S}/${DRIVERS_DISTFILE/%.zip/.run}"
+ else
+ RUN="${DISTDIR}/${DRIVERS_DISTFILE}"
+ fi
+ sh ${RUN} --extract "${S}" 2>&1 > /dev/null || die
+ fi
+
+ mkdir xvba_sdk
+ cd xvba_sdk
+ unpack ${XVBA_SDK_DISTFILE}
+}
+
+src_prepare() {
+ # version patches
+ # epatch "${FILESDIR}"/kernel/${PV}-*.patch
+ if use debug; then
+ sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
+ "${MODULE_DIR}/firegl_public.c" \
+ || die "Failed to enable debug output."
+ fi
+
+ # see http://ati.cchtml.com/show_bug.cgi?id=495
+ #epatch "${FILESDIR}"/ati-drivers-old_rsp.patch
+ # first hunk applied upstream second (x32 related) was not
+ epatch "${FILESDIR}"/ati-drivers-x32_something_something.patch
+
+ # compile fix for linux-3.7
+ # https://bugs.gentoo.org/show_bug.cgi?id=438516
+ epatch "${FILESDIR}/ati-drivers-vm-reserverd.patch"
+
+ # compile fix for AGP-less kernel, bug #435322
+ epatch "${FILESDIR}"/ati-drivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch
+
+ # Use ACPI_DEVICE_HANDLE wrapper to make driver build on linux-3.8
+ # see https://bugs.gentoo.org/show_bug.cgi?id=448216
+ epatch "${FILESDIR}/ati-drivers-kernel-3.8-acpihandle.patch"
+
+ cd "${MODULE_DIR}"
+ # bugged fglrx build system, this file should be copied by hand
+ cp "${ARCH_DIR}"/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
+
+ convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
+
+ # When built with ati's make.sh it defines a bunch of macros if
+ # certain .config values are set, falling back to less reliable
+ # detection methods if linux/autoconf.h is not available. We
+ # simply use the linux/autoconf.h settings directly, bypassing the
+ # detection script.
+ sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
+ sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
+ || die "MODVERSIONS sed failed"
+ cd "${S}"
+
+ mkdir extra || die "mkdir failed"
+ cd extra
+ unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
+}
+
+src_compile() {
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+}
+
+pkg_postinst() {
+ elog "If you experience unexplained segmentation faults and kernel crashes"
+ elog "with this driver and multi-threaded applications such as wine,"
+ elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+ linux-mod_pkg_postinst
+}
+
+pkg_preinst() {
+ linux-mod_pkg_preinst
+}
+
+pkg_postrm() {
+ linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/ati-drivers/ati-drivers-13.4.ebuild b/x11-drivers/ati-drivers/ati-drivers-13.4.ebuild
new file mode 100644
index 00000000..b80fdf13
--- /dev/null
+++ b/x11-drivers/ati-drivers/ati-drivers-13.4.ebuild
@@ -0,0 +1,192 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
+
+DESCRIPTION="Ati precompiled drivers for Radeon Evergreen (HD5000 Series) and newer chipsets"
+HOMEPAGE="http://www.amd.com"
+MY_V=( $(get_version_components) )
+#RUN="${WORKDIR}/amd-driver-installer-9.00-x86.x86_64.run"
+SLOT="1"
+[[ "${MY_V[2]}" =~ beta.* ]] && BETADIR="beta/" || BETADIR="linux/"
+if [[ legacy != ${SLOT} ]]; then
+ DRIVERS_URI="http://www2.ati.com/drivers/${BETADIR}amd-catalyst-${PV/_beta/-beta}-linux-x86.x86_64.zip"
+else
+ DRIVERS_URI="http://www2.ati.com/drivers/legacy/amd-driver-installer-catalyst-$(get_version_component_range 1-2)-$(get_version_component_range 3)-legacy-linux-x86.x86_64.zip"
+fi
+XVBA_SDK_URI="http://developer.amd.com/wordpress/media/2012/10/xvba-sdk-0.74-404001.tar.gz"
+SRC_URI="${DRIVERS_URI} ${XVBA_SDK_URI}"
+FOLDER_PREFIX="common/"
+IUSE="debug multilib x-multilib pax_kernel disable-watermark"
+
+LICENSE="AMD GPL-2 QPL-1.0"
+KEYWORDS="-* ~amd64 ~x86"
+RESTRICT="bindist test"
+
+RDEPEND="x-multilib? ( ~x11-drivers/ati-userspace-${PV}[x-multilib] )
+ multilib? ( ~x11-drivers/ati-userspace-${PV}[multilib] )
+ ~x11-drivers/ati-userspace-${PV}
+ sys-power/acpid"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+CONFIG_CHECK="~MTRR ~!DRM ACPI PCI_MSI !LOCKDEP !PAX_KERNEXEC_PLUGIN_METHOD_OR"
+use amd64 && CONFIG_CHECK="${CONFIG_CHECK} COMPAT"
+ERROR_MTRR="CONFIG_MTRR required for direct rendering."
+ERROR_DRM="CONFIG_DRM must be disabled or compiled as a module and not loaded for direct
+ rendering to work."
+ERROR_LOCKDEP="CONFIG_LOCKDEP (lock tracking) exports the symbol lock_acquire
+ as GPL-only. This prevents ${P} from compiling with an error like this:
+ FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
+ERROR_PAX_KERNEXEC_PLUGIN_METHOD_OR="This config option will cause
+ kernel to reject loading the fglrx module with
+ \"ERROR: could not insert 'fglrx': Exec format error.\"
+ You may want to try CONFIG_PAX_KERNEXEC_PLUGIN_METHOD_BTS instead."
+
+_check_kernel_config() {
+ if ! linux_chkconfig_present AGP && \
+ ! linux_chkconfig_present PCIEPORTBUS; then
+ ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then
+ die "CONFIG_BKL must be enabled for kernels 2.6.37-2.6.38."
+ fi
+}
+
+pkg_pretend() {
+ # workaround until bug 365543 is solved
+ linux-info_pkg_setup
+ require_configured_kernel
+ _check_kernel_config
+}
+
+pkg_setup() {
+ MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
+ BUILD_TARGETS="kmod_build"
+ linux-mod_pkg_setup
+ BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
+ if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
+ else
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
+ fi
+ # Define module dir.
+ MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
+ # get the xorg-server version and set BASE_DIR for that
+ BASE_DIR="${S}/xpic"
+
+ # amd64/x86
+ if use amd64 ; then
+ MY_BASE_DIR="${BASE_DIR}_64a"
+ PKG_LIBDIR=lib64
+ ARCH_DIR="${S}/arch/x86_64"
+ else
+ MY_BASE_DIR="${BASE_DIR}"
+ PKG_LIBDIR=lib
+ ARCH_DIR="${S}/arch/x86"
+ fi
+
+ elog
+ elog "Please note that this driver only supports graphic cards based on"
+ elog "Evergreen chipset and newer."
+ elog "This includes the AMD Radeon HD 5400+ series at this moment."
+ elog
+ elog "If your card is older then use ${CATEGORY}/xf86-video-ati"
+ elog "For migration information please refer to:"
+ elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
+ einfo
+}
+
+src_unpack() {
+ local DRIVERS_DISTFILE XVBA_SDK_DISTFILE
+ DRIVERS_DISTFILE=${DRIVERS_URI##*/}
+ XVBA_SDK_DISTFILE=${XVBA_SDK_URI##*/}
+
+ if [[ ${DRIVERS_DISTFILE} =~ .*\.tar\.gz ]]; then
+ unpack ${DRIVERS_DISTFILE}
+ else
+ #please note, RUN may be insanely assigned at top near SRC_URI
+ if [[ ${DRIVERS_DISTFILE} =~ .*\.zip ]]; then
+ unpack ${DRIVERS_DISTFILE}
+ [[ -z "$RUN" ]] && RUN="${S}/${DRIVERS_DISTFILE/%.zip/.run}"
+ else
+ RUN="${DISTDIR}/${DRIVERS_DISTFILE}"
+ fi
+ sh ${RUN} --extract "${S}" 2>&1 > /dev/null || die
+ fi
+
+ mkdir xvba_sdk
+ cd xvba_sdk
+ unpack ${XVBA_SDK_DISTFILE}
+}
+
+src_prepare() {
+ # version patches
+ # epatch "${FILESDIR}"/kernel/${PV}-*.patch
+ if use debug; then
+ sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
+ "${MODULE_DIR}/firegl_public.c" \
+ || die "Failed to enable debug output."
+ fi
+
+ # see http://ati.cchtml.com/show_bug.cgi?id=495
+ #epatch "${FILESDIR}"/ati-drivers-old_rsp.patch
+ # first hunk applied upstream second (x32 related) was not
+ epatch "${FILESDIR}"/ati-drivers-x32_something_something.patch
+
+ # compile fix for AGP-less kernel, bug #435322
+ epatch "${FILESDIR}"/ati-drivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch
+
+ # Compile fix, https://bugs.gentoo.org/show_bug.cgi?id=454870
+ use pax_kernel && epatch "${FILESDIR}/const-notifier-block.patch"
+
+ cd "${MODULE_DIR}"
+ # bugged fglrx build system, this file should be copied by hand
+ cp ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
+
+ convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
+
+ # When built with ati's make.sh it defines a bunch of macros if
+ # certain .config values are set, falling back to less reliable
+ # detection methods if linux/autoconf.h is not available. We
+ # simply use the linux/autoconf.h settings directly, bypassing the
+ # detection script.
+ sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
+ sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
+ || die "MODVERSIONS sed failed"
+ cd "${S}"
+
+ mkdir extra || die "mkdir extra failed"
+ cd extra
+ unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
+}
+
+src_compile() {
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+}
+
+pkg_postinst() {
+ elog "If you experience unexplained segmentation faults and kernel crashes"
+ elog "with this driver and multi-threaded applications such as wine,"
+ elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+ linux-mod_pkg_postinst
+}
+
+pkg_preinst() {
+ linux-mod_pkg_preinst
+}
+
+pkg_postrm() {
+ linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/ati-drivers/files/amd-drivers-3.2.7.1.patch b/x11-drivers/ati-drivers/files/amd-drivers-3.2.7.1.patch
new file mode 100644
index 00000000..104c8788
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/amd-drivers-3.2.7.1.patch
@@ -0,0 +1,19 @@
+--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
++++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
+@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)
+ #ifdef CONFIG_X86_64
+ kernel_fpu_begin();
+ #else
++#ifndef TS_USEDFPU
++ preempt_disable();
++ if (__thread_has_fpu(current))
++ __save_init_fpu(current);
++#else
+ struct thread_info *cur_task = current_thread_info();
+ preempt_disable();
+ if (cur_task->status & TS_USEDFPU)
+ __save_init_fpu(cur_task->task);
++#endif
+ else
+ clts();
+ #endif
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-12.2-redefine-WARN.patch b/x11-drivers/ati-drivers/files/ati-drivers-12.2-redefine-WARN.patch
new file mode 100644
index 00000000..f4fab432
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-12.2-redefine-WARN.patch
@@ -0,0 +1,42 @@
+--- common/lib/modules/fglrx/build_mod/kcl_debug.h.orig 2012-03-08 19:30:38.195025328 +0100
++++ common/lib/modules/fglrx/build_mod/kcl_debug.h 2012-03-08 19:31:24.976024507 +0100
+@@ -85,8 +85,8 @@
+ #ifdef ERROR
+ #undef ERROR
+ #endif
+-#ifdef WARN
+-#undef WARN
++#ifdef AMD_WARN
++#undef AMD_WARN
+ #endif
+ #ifdef INFO
+ #undef INFO
+@@ -122,7 +122,7 @@
+ {
+ SPECIAL = 0,
+ ERROR ,
+- WARN ,
++ AMD_WARN ,
+ INFO ,
+ INFOEX,
+ TRACE,
+@@ -160,7 +160,7 @@
+ }log_map;
+
+
+-#define DEFAULT_LOG_LEVEL ((U08)(___BIT(INFO) | ___BIT(INFOEX) |___BIT(ERROR) |___BIT(WARN) | ___BIT(TRACE)| ___BIT(SPECIAL) ))
++#define DEFAULT_LOG_LEVEL ((U08)(___BIT(INFO) | ___BIT(INFOEX) |___BIT(ERROR) |___BIT(AMD_WARN) | ___BIT(TRACE)| ___BIT(SPECIAL) ))
+ #define INFO_LOG_LEVEL ((U08)(___BIT(INFO) | ___BIT(INFOEX)))
+ extern const log_map module_log_map[];
+ extern const module_map module_type_map[];
+--- common/lib/modules/fglrx/build_mod/kcl_debug.c.orig 2012-03-08 19:36:18.244019310 +0100
++++ common/lib/modules/fglrx/build_mod/kcl_debug.c 2012-03-08 19:36:36.197018973 +0100
+@@ -69,7 +69,7 @@
+ {
+ {SPECIAL , 'S'},
+ {ERROR , 'E'},
+- {WARN , 'W'},
++ {AMD_WARN , 'W'},
+ {INFO , 'I'},
+ {INFOEX , 'X'},
+ {TRACE , 'T'},
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch b/x11-drivers/ati-drivers/files/ati-drivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch
new file mode 100644
index 00000000..0ea461b8
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch
@@ -0,0 +1,27 @@
+From: Vasiliy Yeremeyev <vayerx@gmail.com>
+Date: Sun, 4 Nov 2012 23:59:36 +0400
+Subject: [PATCH] KCL_AGP_FindCapsRegisters stub for AGP-less systems
+
+---
+ common/lib/modules/fglrx/build_mod/kcl_agp.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/common/lib/modules/fglrx/build_mod/kcl_agp.c b/common/lib/modules/fglrx/build_mod/kcl_agp.c
+index b9c0655..cb1902b 100644
+--- a/common/lib/modules/fglrx/build_mod/kcl_agp.c
++++ b/common/lib/modules/fglrx/build_mod/kcl_agp.c
+@@ -479,6 +479,11 @@ int ATI_API_CALL KCL_AGP_Enable(unsigned long mode)
+ return -EINVAL;
+ }
+
++int ATI_API_CALL KCL_AGP_FindCapsRegisters(KCL_PCI_DevHandle dev)
++{
++ return -EINVAL;
++}
++
+ int ATI_API_CALL KCL_AGP_ReadCapsRegisters(KCL_PCI_DevHandle dev, unsigned int *caps)
+ {
+ return -EINVAL;
+--
+1.7.12
+
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-2.6.33.patch b/x11-drivers/ati-drivers/files/ati-drivers-2.6.33.patch
new file mode 100644
index 00000000..85f9aff7
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-2.6.33.patch
@@ -0,0 +1,140 @@
+--- work.orig/common/lib/modules/fglrx/build_mod/drmP.h
++++ work/common/lib/modules/fglrx/build_mod/drmP.h
+@@ -42,7 +42,11 @@
+ * can build the DRM (part of PI DRI). 4/21/2000 S + B */
+ #include <asm/current.h>
+ #endif /* __alpha__ */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/kernel.h>
+ #include <linux/miscdevice.h>
+--- work.orig/common/lib/modules/fglrx/build_mod/firegl_public.c
++++ work/common/lib/modules/fglrx/build_mod/firegl_public.c
+@@ -28,7 +28,11 @@
+ #error Kernel versions older than 2.6.0 are no longer supported by this module.
+ #endif
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+
+ #if !defined(CONFIG_X86)
+ #if !defined(CONFIG_X86_PC)
+@@ -163,8 +167,12 @@
+
+ // For 2.6.18 or higher, the UTS_RELEASE is defined in the linux/utsrelease.h.
+ #ifndef UTS_RELEASE
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/utsrelease.h>
++#else
+ #include <linux/utsrelease.h>
+ #endif
++#endif
+
+ #if defined(__i386__)
+ #ifndef do_div
+--- work.orig/common/lib/modules/fglrx/build_mod/kcl_acpi.c
++++ work/common/lib/modules/fglrx/build_mod/kcl_acpi.c
+@@ -15,7 +15,11 @@
+ ****************************************************************************/
+
+ #include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/acpi.h>
+
+ #include "kcl_config.h"
+--- work.orig/common/lib/modules/fglrx/build_mod/kcl_agp.c
++++ work/common/lib/modules/fglrx/build_mod/kcl_agp.c
+@@ -31,7 +31,11 @@
+ */
+
+ #include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/pci.h>
+ #include <linux/agp_backend.h>
+ #include <linux/string.h>
+--- work.orig/common/lib/modules/fglrx/build_mod/kcl_io.c
++++ work/common/lib/modules/fglrx/build_mod/kcl_io.c
+@@ -37,7 +37,11 @@
+ */
+
+ #include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/poll.h>
+ #include <linux/signal.h>
+ #include <asm/io.h>
+--- work.orig/common/lib/modules/fglrx/build_mod/kcl_osconfig.h
++++ work/common/lib/modules/fglrx/build_mod/kcl_osconfig.h
+@@ -20,7 +20,11 @@
+ #define KCL_OSCONFIG_H
+
+ #include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+
+ // Choose modern way to call 32-on-64 IOCTLs if configured in the kernel
+ #if defined(CONFIG_COMPAT) && LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9)
+--- work.orig/common/lib/modules/fglrx/build_mod/kcl_pci.c
++++ work/common/lib/modules/fglrx/build_mod/kcl_pci.c
+@@ -31,7 +31,11 @@
+ */
+
+ #include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/pci.h>
+
+ #include "kcl_config.h"
+--- work.orig/common/lib/modules/fglrx/build_mod/kcl_str.c
++++ work/common/lib/modules/fglrx/build_mod/kcl_str.c
+@@ -30,7 +30,12 @@
+ *
+ */
+
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/string.h>
+ #include <linux/module.h>
+
+--- work.orig/common/lib/modules/fglrx/build_mod/kcl_wait.c
++++ work/common/lib/modules/fglrx/build_mod/kcl_wait.c
+@@ -31,7 +31,11 @@
+ */
+
+ #include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/wait.h>
+ #include <linux/highmem.h>
+ #include <linux/sched.h>
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-2.6.34.patch b/x11-drivers/ati-drivers/files/ati-drivers-2.6.34.patch
new file mode 100644
index 00000000..1993d134
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-2.6.34.patch
@@ -0,0 +1,10 @@
+--- work.orig/common/lib/modules/fglrx/build_mod/kcl_wait.c 2010-04-13 20:02:46.494496561 +0200
++++ work/common/lib/modules/fglrx/build_mod/kcl_wait.c 2010-04-13 19:52:00.054563389 +0200
+@@ -39,6 +39,7 @@
+ #include <linux/wait.h>
+ #include <linux/highmem.h>
+ #include <linux/sched.h>
++#include <linux/slab.h>
+
+ #include "kcl_config.h"
+ #include "kcl_wait.h"
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-2.6.35-and-newer.patch b/x11-drivers/ati-drivers/files/ati-drivers-2.6.35-and-newer.patch
new file mode 100644
index 00000000..e1703f34
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-2.6.35-and-newer.patch
@@ -0,0 +1,11 @@
+--- work.orig/common/lib/modules/fglrx/build_mod/kcl_ioctl.c 2010-09-19 11:45:04.922760268 +0200
++++ work/common/lib/modules/fglrx/build_mod/kcl_ioctl.c 2010-09-19 12:04:29.092812959 +0200
+@@ -193,7 +193,7 @@ void ATI_API_CALL KCL_IOCTL_UnregisterCo
+ */
+ void* ATI_API_CALL KCL_IOCTL_AllocUserSpace32(long size)
+ {
+- return compat_alloc_user_space(size);
++ return arch_compat_alloc_user_space(size);
+ }
+
+ #endif // __x86_64__
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-2.6.36.patch b/x11-drivers/ati-drivers/files/ati-drivers-2.6.36.patch
new file mode 100644
index 00000000..5f8f5845
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-2.6.36.patch
@@ -0,0 +1,26 @@
+--- work.orig/common/lib/modules/fglrx/build_mod/firegl_public.c 2010-08-20 21:51:48.000000000 +0200
++++ work/common/lib/modules/fglrx/build_mod/firegl_public.c 2010-08-20 23:46:37.000000000 +0200
+@@ -320,7 +320,11 @@
+ return firegl_release((KCL_IO_FILE_Handle)filp);
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)
++int ip_firegl_ioctl(struct file* filp, unsigned int cmd, unsigned long arg)
++#else
+ int ip_firegl_ioctl(struct inode* inode, struct file* filp, unsigned int cmd, unsigned long arg)
++#endif
+ {
+ return firegl_ioctl((KCL_IO_FILE_Handle)filp, cmd, arg);
+ }
+@@ -407,7 +411,11 @@
+ #endif
+ open: ip_firegl_open,
+ release: ip_firegl_release,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)
++ unlocked_ioctl: ip_firegl_ioctl,
++#else
+ ioctl: ip_firegl_ioctl,
++#endif
+ mmap: ip_firegl_mmap,
+
+ write: ip_firegl_write,
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-2.6.37.patch b/x11-drivers/ati-drivers/files/ati-drivers-2.6.37.patch
new file mode 100644
index 00000000..e3feb837
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-2.6.37.patch
@@ -0,0 +1,14 @@
+--- ati.orig/common/lib/modules/fglrx/build_mod/firegl_public.c 2010-11-18 18:08:34.831997690 +0100
++++ ati/common/lib/modules/fglrx/build_mod/firegl_public.c 2010-11-18 18:10:28.711997706 +0100
+@@ -5094,7 +5094,11 @@
+ unsigned int ATI_API_CALL KAS_Mutex_Initialize(void* hMutex)
+ {
+ kasMutex_t* mutex_obj = (kasMutex_t*)hMutex;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)
++ sema_init(&(mutex_obj->mutex),1);
++#else
+ init_MUTEX(&(mutex_obj->mutex));
++#endif
+ return 1;
+ }
+
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-2.6.38.patch b/x11-drivers/ati-drivers/files/ati-drivers-2.6.38.patch
new file mode 100644
index 00000000..0c3970e0
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-2.6.38.patch
@@ -0,0 +1,60 @@
+--- cat11.1/common/lib/modules/fglrx/build_mod/firegl_public.c 2011-01-17 15:59:26.000000000 +0100
++++ cat11.1/common/lib/modules/fglrx/build_mod/firegl_public.c 2011-02-01 18:39:08.902218444 +0100
+@@ -848,7 +848,12 @@
+ * happen much less frequent then without this workaround.
+ */
+ if (state == PM_EVENT_SUSPEND)
+- acquire_console_sem();
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
++ console_lock();
++#else
++ acquire_console_sem();
++#endif
+
+ if (firegl_cail_powerdown(privdev, state))
+ ret = -EIO;
+@@ -870,8 +875,13 @@
+ }
+
+ if (state == PM_EVENT_SUSPEND)
+- release_console_sem();
+-
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
++ console_unlock();
++#else
++ release_console_sem();
++#endif
++
+ KCL_DEBUG_TRACEOUT(FN_FIREGL_ACPI, ret, NULL);
+
+ return ret;
+@@ -894,7 +904,12 @@
+ if (PMSG_EVENT(pdev->dev.power.power_state) == 0) return 0;
+
+ if (PMSG_EVENT(pdev->dev.power.power_state) == PM_EVENT_SUSPEND)
+- acquire_console_sem();
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
++ console_lock();
++#else
++ acquire_console_sem();
++#endif
+
+ #ifdef FIREGL_USWC_SUPPORT
+ // Restore the PAT after resuming from S3 or S4.
+@@ -919,7 +934,12 @@
+ firegl_cail_powerup(privdev);
+
+ if (PMSG_EVENT(pdev->dev.power.power_state) == PM_EVENT_SUSPEND)
+- release_console_sem();
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
++ console_unlock();
++#else
++ release_console_sem();
++#endif
+
+ PMSG_EVENT(pdev->dev.power.power_state) = 0;
+ KCL_DEBUG_TRACEOUT(FN_FIREGL_ACPI, 0, NULL);
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-2.6.39.patch b/x11-drivers/ati-drivers/files/ati-drivers-2.6.39.patch
new file mode 100644
index 00000000..ffd2e459
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-2.6.39.patch
@@ -0,0 +1,55 @@
+--- firegl_public.c.orig 2011-05-10 22:19:26.395914392 +0200
++++ firegl_public.c 2011-05-11 01:40:36.967379590 +0200
+@@ -114,7 +114,9 @@
+ #include <linux/pci.h>
+ #include <linux/wait.h>
+ #include <linux/miscdevice.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,39)
+ #include <linux/smp_lock.h>
++#endif
+ // newer SuSE kernels need this
+ #include <linux/highmem.h>
+
+@@ -1049,7 +1051,11 @@ static int __init firegl_init_module(voi
+ dev->pubdev.signature = FGL_DEVICE_SIGNATURE;
+
+ for (i = 0; i < __KE_MAX_SPINLOCKS; i++)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,39)
+ dev->spinlock[i] = SPIN_LOCK_UNLOCKED;
++#else
++ dev->spinlock[i] = __SPIN_LOCK_UNLOCKED(old_style_spin_init);
++#endif
+
+ for (i=0; i < __KE_MAX_SEMAPHORES; i++)
+ sema_init(&dev->struct_sem[i], 1);
+@@ -1900,13 +1906,17 @@ void ATI_API_CALL KCL_spin_unlock(void *
+ /** \brief Grab global kernel lock */
+ void ATI_API_CALL KCL_GlobalKernelLock(void)
+ {
++#ifdef CONFIG_KERNEL_LOCK
+ lock_kernel();
++#endif
+ }
+
+ /** \brief Release global kernel lock */
+ void ATI_API_CALL KCL_GlobalKernelUnlock(void)
+ {
++#ifdef CONFIG_KERNEL_LOCK
+ unlock_kernel();
++#endif
+ }
+
+ /*****************************************************************************/
+--- drmP.h.orig 2011-05-10 22:17:00.000000000 +0200
++++ drmP.h 2011-05-11 01:32:09.399610802 +0200
+@@ -57,7 +57,9 @@
+ #include <linux/pci.h>
+ #include <linux/version.h>
+ #include <linux/sched.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,39)
+ #include <linux/smp_lock.h> /* For (un)lock_kernel */
++#endif
+ #include <linux/mm.h>
+ #include <linux/pagemap.h>
+ #if defined(__alpha__) || defined(__powerpc__)
+ #if defined(__alpha__) || defined(__powerpc__)
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-3.2.8+-2.patch b/x11-drivers/ati-drivers/files/ati-drivers-3.2.8+-2.patch
new file mode 100644
index 00000000..9bf9058f
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-3.2.8+-2.patch
@@ -0,0 +1,12 @@
+--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
++++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
+@@ -187,6 +187,9 @@
+ #include <linux/gfp.h>
+ #include <linux/swap.h>
+ #include "asm/i387.h"
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)
++#include <asm/fpu-internal.h>
++#endif
+
+ #include "firegl_public.h"
+ #include "kcl_osconfig.h"
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-3.2.8+.patch b/x11-drivers/ati-drivers/files/ati-drivers-3.2.8+.patch
new file mode 100644
index 00000000..01291160
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-3.2.8+.patch
@@ -0,0 +1,29 @@
+--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
++++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
+@@ -187,6 +187,9 @@
+ #include <linux/gfp.h>
+ #include <linux/swap.h>
+ #include "asm/i387.h"
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)
++#include <asm/fpu-internal.h>
++#endif
+
+ #include "firegl_public.h"
+ #include "kcl_osconfig.h"
+@@ -5807,10 +5810,16 @@ void ATI_API_CALL KCL_fpu_begin(void)
+ #ifdef CONFIG_X86_64
+ kernel_fpu_begin();
+ #else
++#ifndef TS_USEDFPU
++ preempt_disable();
++ if (__thread_has_fpu(current))
++ __save_init_fpu(current);
++#else
+ struct thread_info *cur_task = current_thread_info();
+ preempt_disable();
+ if (cur_task->status & TS_USEDFPU)
+ __save_init_fpu(cur_task->task);
++#endif
+ else
+ clts();
+ #endif
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-CVE-2010-3081-fix.patch b/x11-drivers/ati-drivers/files/ati-drivers-CVE-2010-3081-fix.patch
new file mode 100644
index 00000000..5a71da10
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-CVE-2010-3081-fix.patch
@@ -0,0 +1,60 @@
+/****************************************************************************
+ * *
+ * Copyright 1999-2005 ATI Technologies Inc., Markham, Ontario, CANADA. *
+ * All Rights Reserved. *
+ * *
+ * Your use and or redistribution of this software in source and \ or *
+ * binary form, with or without modification, is subject to: (i) your *
+ * ongoing acceptance of and compliance with the terms and conditions of *
+ * the ATI Technologies Inc. software End User License Agreement; and (ii) *
+ * your inclusion of this notice in any version of this software that you *
+ * use or redistribute. A copy of the ATI Technologies Inc. software End *
+ * User License Agreement is included with this software and is also *
+ * available by contacting ATI Technologies Inc. at http://www.ati.com *
+ * *
+ ****************************************************************************/
+
+--- common/lib/modules/fglrx/build_mod/kcl_ioctl.c.orig 2010-09-01 16:05:31.000000000 +0200
++++ common/lib/modules/fglrx/build_mod/kcl_ioctl.c 2010-09-23 01:41:46.711844303 +0200
+@@ -35,6 +35,9 @@
+
+ #ifdef __x86_64__
+ # include "asm/compat.h"
++# if ARCH_COMPAT_ALLOC_USER_SPACE
++# include "linux/compat.h"
++# endif
+ # if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
+ # if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12)
+ # include "linux/ioctl32.h"
+@@ -193,7 +196,20 @@
+ */
+ void* ATI_API_CALL KCL_IOCTL_AllocUserSpace32(long size)
+ {
+- return compat_alloc_user_space(size);
++ void __user *ptr;
++
++ /* If size would occupy more than half of the entire compat space... */
++ if (unlikely(size > (((compat_uptr_t)~0) >> 1)))
++ return NULL;
++#if ARCH_COMPAT_ALLOC_USER_SPACE
++ ptr = arch_compat_alloc_user_space(size);
++#else
++ ptr = compat_alloc_user_space(size);
++#endif
++ if (unlikely(!access_ok(VERIFY_WRITE, ptr, size)))
++ return NULL;
++
++ return ptr;
+ }
+
+ #endif // __x86_64__
+--- common/lib/modules/fglrx/build_mod/2.6.x/Makefile.orig 2010-09-01 16:05:31.000000000 +0200
++++ common/lib/modules/fglrx/build_mod/2.6.x/Makefile 2010-09-23 01:47:46.533415019 +0200
+@@ -66,6 +66,7 @@
+ -DFGL_GART_RESERVED_SLOT \
+ -DFGL_LINUX253P1_VMA_API \
+ -DPAGE_ATTR_FIX=$(PAGE_ATTR_FIX) \
++ -DARCH_COMPAT_ALLOC_USER_SPACE=$(ARCH_COMPAT_ALLOC_USER_SPACE) \
+
+ ifeq ($(KERNELRELEASE),)
+ # on first call from remote location we get into this path
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-do_mmap.patch b/x11-drivers/ati-drivers/files/ati-drivers-do_mmap.patch
new file mode 100644
index 00000000..04248eb7
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-do_mmap.patch
@@ -0,0 +1,50 @@
+--- a/common/lib/modules/fglrx/build_mod/firegl_public.c 2012-06-15 18:30:13.483762070 +0200
++++ b/common/lib/modules/fglrx/build_mod/firegl_public.c 2012-06-17 17:47:36.543041869 +0200
+@@ -2106,6 +2106,12 @@
+ }
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0)
++# define NO_DO_MMAP
++# define do_mmap(a,b,c,d,e,f) vm_mmap(a, b, c, d, e, f)
++# define do_munmap(a,b,c) vm_munmap(b, c)
++#endif
++
+ unsigned long ATI_API_CALL KCL_MEM_AllocLinearAddrInterval(
+ KCL_IO_FILE_Handle file,
+ unsigned long addr,
+@@ -2117,10 +2123,13 @@
+
+ flags = MAP_SHARED;
+ prot = PROT_READ|PROT_WRITE;
+-
++#ifdef NO_DO_MMAP
++ vaddr = (void *) vm_mmap(file, 0, len, prot, flags, pgoff);
++#else
+ down_write(&current->mm->mmap_sem);
+ vaddr = (void *) do_mmap(file, 0, len, prot, flags, pgoff);
+ up_write(&current->mm->mmap_sem);
++#endif
+ if (IS_ERR(vaddr))
+ return 0;
+ else
+@@ -2131,7 +2140,9 @@
+ {
+ int retcode = 0;
+
++#ifndef NO_DO_MMAP
+ down_write(&current->mm->mmap_sem);
++#endif
+ #ifdef FGL_LINUX_RHEL_MUNMAP_API
+ retcode = do_munmap(current->mm,
+ addr,
+@@ -2142,7 +2153,9 @@
+ addr,
+ len);
+ #endif
++#ifndef NO_DO_MMAP
+ up_write(&current->mm->mmap_sem);
++#endif
+ return retcode;
+ }
+
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-fix_compilation-bug-297322.patch b/x11-drivers/ati-drivers/files/ati-drivers-fix_compilation-bug-297322.patch
new file mode 100644
index 00000000..e2af915a
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-fix_compilation-bug-297322.patch
@@ -0,0 +1,25 @@
+--- common/lib/modules/fglrx/build_mod/firegl_public.c
++++ common/lib/modules/fglrx/build_mod/firegl_public.c
+@@ -1441,7 +1441,9 @@
+ todo !!!
+ #endif
+
+-unsigned long ATI_API_CALL __ke__cmpxchg(volatile void *ptr, unsigned long old,
++void __cmpxchg_wrong_size(void) {}
++
++unsigned long ATI_API_CALL __ke__cmpxchg(volatile unsigned long *ptr, unsigned long old,
+ unsigned long new, int size)
+ {
+ #ifndef __HAVE_ARCH_CMPXCHG
+--- common/lib/modules/fglrx/build_mod/firegl_public.h
++++ common/lib/modules/fglrx/build_mod/firegl_public.h
+@@ -441,7 +441,8 @@
+ extern void ATI_API_CALL KCL_SIGNAL_BlockAll(int (*notifier)(void *priv), void *pPriv, __ke_sigset_t *pSigMask);
+ extern void ATI_API_CALL KCL_SIGNAL_UnblockAll(void);
+
+-extern unsigned long ATI_API_CALL __ke__cmpxchg(volatile void *ptr, unsigned long old,
++extern void __cmpxchg_wrong_size(void);
++extern unsigned long ATI_API_CALL __ke__cmpxchg(volatile unsigned long *ptr, unsigned long old,
+ unsigned long new, int size);
+
+ #define __ke_cmpxchg(ptr,o,n) \
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-kernel-3.8-acpihandle.patch b/x11-drivers/ati-drivers/files/ati-drivers-kernel-3.8-acpihandle.patch
new file mode 100644
index 00000000..bdff4fb7
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-kernel-3.8-acpihandle.patch
@@ -0,0 +1,15 @@
+--- common/lib/modules/fglrx/build_mod/kcl_acpi.c 2012-07-04 21:43:47.000000000 +0200
++++ common/lib/modules/fglrx/build_mod/kcl_acpi.c.new 2012-12-23 11:25:38.000000000 +0100
+@@ -775,11 +775,7 @@
+ unsigned int ATI_API_CALL KCL_ACPI_GetHandles(kcl_match_info_t *pInfo)
+ {
+ #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12)
+- #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,19)
+- pInfo->video_handle = pInfo->pcidev->dev.archdata.acpi_handle;
+- #else
+- pInfo->video_handle = pInfo->pcidev->dev.firmware_data;
+- #endif
++ pInfo->video_handle = DEVICE_ACPI_HANDLE(&pInfo->pcidev->dev);
+ if ( pInfo->video_handle &&
+ (KCL_ACPI_videoDevice(pInfo->video_handle) != KCL_ACPI_OK) )
+ {
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-old_rsp.patch b/x11-drivers/ati-drivers/files/ati-drivers-old_rsp.patch
new file mode 100644
index 00000000..0456bd6b
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-old_rsp.patch
@@ -0,0 +1,24 @@
+--- a/common/lib/modules/fglrx/build_mod/firegl_public.c 2012-05-26 18:33:25.044695179 +0200
++++ b/common/lib/modules/fglrx/build_mod/firegl_public.c 2012-05-26 18:28:39.692699095 +0200
+@@ -4154,7 +4154,7 @@
+ {
+ unsigned int p;
+ KCL_DEBUG5(FN_FIREGL_KAS, "%d\n", level_init);
+- for_each_cpu_mask(p, cpu_possible_map)
++ for_each_possible_cpu(p)
+ {
+ KCL_DEBUG1(FN_FIREGL_KAS,"Setting initial execution level for CPU # %d\n", p);
+ preempt_disable();
+--- a/common/lib/modules/fglrx/build_mod/kcl_ioctl.c 2012-05-26 19:11:03.402987821 +0200
++++ b/common/lib/modules/fglrx/build_mod/kcl_ioctl.c 2012-05-26 19:13:00.273986422 +0200
+@@ -217,6 +217,10 @@
+ * \param size [in] Number of bytes to allocate
+ * \return Pointer to allocated memory
+ */
++#ifndef CONFIG_X86_X32
++DEFINE_PER_CPU(unsigned long, old_rsp);
++#endif
++
+ void* ATI_API_CALL KCL_IOCTL_AllocUserSpace32(long size)
+ {
+ void __user *ret = COMPAT_ALLOC_USER_SPACE(size); \ No newline at end of file
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-redefine-WARN.patch b/x11-drivers/ati-drivers/files/ati-drivers-redefine-WARN.patch
new file mode 100644
index 00000000..fe5ed2f8
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-redefine-WARN.patch
@@ -0,0 +1,39 @@
+--- common/lib/modules/fglrx/build_mod/kcl_debug.h.orig 2011-12-30 14:32:00.271391437 +0100
++++ common/lib/modules/fglrx/build_mod/kcl_debug.h 2011-12-30 15:48:21.647473696 +0100
+@@ -85,8 +85,8 @@
+ #ifdef ERROR
+ #undef ERROR
+ #endif
+-#ifdef WARN
+-#undef WARN
++#ifdef AMD_WARN
++#undef AMD_WARN
+ #endif
+ #ifdef INFO
+ #undef INFO
+@@ -122,7 +122,7 @@
+ {
+ SPECIAL = 0,
+ ERROR ,
+- WARN ,
++ AMD_WARN ,
+ INFO ,
+ INFOEX,
+ TRACE,
+@@ -163,14 +163,14 @@
+ {
+ {SPECIAL , 'S'},
+ {ERROR , 'E'},
+- {WARN , 'W'},
++ {AMD_WARN , 'W'},
+ {INFO , 'I'},
+ {INFOEX , 'X'},
+ {TRACE , 'T'},
+ {PERFORMANCE , 'P'},
+ {DUMP , 'D'},
+ };
+-#define DEFAULT_LOG_LEVEL ((U08)(___BIT(INFO) | ___BIT(INFOEX) |___BIT(ERROR) |___BIT(WARN) | ___BIT(TRACE)| ___BIT(SPECIAL) ))
++#define DEFAULT_LOG_LEVEL ((U08)(___BIT(INFO) | ___BIT(INFOEX) |___BIT(ERROR) |___BIT(AMD_WARN) | ___BIT(TRACE)| ___BIT(SPECIAL) ))
+ #define INFO_LOG_LEVEL ((U08)(___BIT(INFO) | ___BIT(INFOEX)))
+ static module_map module_type_map[LOG_M_MAX] =
+ {
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-vm-reserverd.patch b/x11-drivers/ati-drivers/files/ati-drivers-vm-reserverd.patch
new file mode 100644
index 00000000..08045a65
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-vm-reserverd.patch
@@ -0,0 +1,12 @@
+--- common/lib/modules/fglrx/build_mod/firegl_public.c 2012-10-18 00:29:21.778369464 +0200
++++ common/lib/modules/fglrx/build_mod/firegl_public.c.new 2012-10-18 00:30:39.647416026 +0200
+@@ -222,6 +222,10 @@
+ #define preempt_enable()
+ #endif
+
++#ifndef VM_RESERVED
++#define VM_RESERVED (VM_DONTEXPAND | VM_DONTDUMP)
++#endif
++
+ // ============================================================
+ /* globals */
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-x32_something_something.patch b/x11-drivers/ati-drivers/files/ati-drivers-x32_something_something.patch
new file mode 100644
index 00000000..d37c1191
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-x32_something_something.patch
@@ -0,0 +1,13 @@
+--- a/common/lib/modules/fglrx/build_mod/kcl_ioctl.c 2012-05-26 19:11:03.402987821 +0200
++++ b/common/lib/modules/fglrx/build_mod/kcl_ioctl.c 2012-05-26 19:13:00.273986422 +0200
+@@ -217,6 +217,10 @@
+ * \param size [in] Number of bytes to allocate
+ * \return Pointer to allocated memory
+ */
++#ifndef CONFIG_X86_X32
++DEFINE_PER_CPU(unsigned long, old_rsp);
++#endif
++
+ void* ATI_API_CALL KCL_IOCTL_AllocUserSpace32(long size)
+ {
+ void __user *ret = COMPAT_ALLOC_USER_SPACE(size);
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-xen.patch b/x11-drivers/ati-drivers/files/ati-drivers-xen.patch
new file mode 100644
index 00000000..a1b88df7
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-xen.patch
@@ -0,0 +1,62 @@
+--- common/lib/modules/fglrx/build_mod/firegl_public.c 2008-12-09 15:17:27.000000000 +0000
++++ common/lib/modules/fglrx/build_mod/firegl_public.c 2008-12-09 15:12:34.000000000 +0000
+@@ -31,6 +31,9 @@
+ #include <linux/autoconf.h>
+
+ #if !defined(CONFIG_X86_PC)
++#if !defined(CONFIG_X86_PC_XEN)
++#if !defined(CONFIG_X86_XEN)
++#if !defined(CONFIG_X86_64_XEN)
+ #if !defined(CONFIG_X86_64)
+ #if !defined(CONFIG_X86_VOYAGER)
+ #if !defined(CONFIG_X86_NUMAQ)
+@@ -47,6 +50,9 @@
+ #endif
+ #endif
+ #endif
++#endif
++#endif
++#endif
+
+ /* The dirty-page-tracking patch included in NLD 9 SMP kernels defines
+ * a static inline function that uses a GPL-only symbol in a header
+--- common/lib/modules/fglrx/build_mod/firegl_public.h 2008-12-09 15:17:27.000000000 +0000
++++ common/lib/modules/fglrx/build_mod/firegl_public.h 2008-12-09 15:15:45.000000000 +0000
+@@ -30,9 +30,13 @@
+ #endif
+
+ #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9)
+-
++#ifdef CONFIG_XEN
++#define REMAP_PAGE_RANGE_FN io_remap_pfn_range
++#define REMAP_PAGE_RANGE_STR "io_remap_pfn_range"
++#else
+ #define REMAP_PAGE_RANGE_FN remap_pfn_range
+ #define REMAP_PAGE_RANGE_STR "remap_pfn_range"
++#endif
+ #define REMAP_PAGE_RANGE_OFF(offset) ((offset) >> PAGE_SHIFT)
+
+ #else /* LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,9) */
+@@ -43,13 +47,21 @@
+
+ #endif /* LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9) */
+
++#ifdef CONFIG_XEN
++#define REMAP_PAGE_RANGE(vma,offset) \
++ REMAP_PAGE_RANGE_FN((vma), \
++ (vma)->vm_start, \
++ REMAP_PAGE_RANGE_OFF(offset), \
++ (vma)->vm_end - (vma)->vm_start, \
++ (vma)->vm_page_prot)
++#else
+ #define REMAP_PAGE_RANGE(vma,offset) \
+ REMAP_PAGE_RANGE_FN(FGL_VMA_API_PASS \
+ (vma)->vm_start, \
+ REMAP_PAGE_RANGE_OFF(offset), \
+ (vma)->vm_end - (vma)->vm_start, \
+ (vma)->vm_page_prot)
+-
++#endif
+
+ /* Page table macros */
+
diff --git a/x11-drivers/ati-drivers/files/ati-powermode-opt-path-2.patch b/x11-drivers/ati-drivers/files/ati-powermode-opt-path-2.patch
new file mode 100644
index 00000000..f5a35a30
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-powermode-opt-path-2.patch
@@ -0,0 +1,42 @@
+diff -ur common.orig/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh
+--- common.orig/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh 2006-07-28 04:22:36.000000000 +0100
++++ common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh 2006-08-04 12:19:42.000000000 +0100
+@@ -4,6 +4,8 @@
+ # Control script for ACPI lid state and AC adapter state
+ #
+
++aticonfig='/opt/bin/aticonfig'
++
+ getXuser() {
+ user=`finger| grep -m1 ":$displaynum " | awk '{print $1}'`
+ if [ x"$user" = x"" ]; then
+@@ -47,7 +49,7 @@
+ done
+
+ #If PPLIB is enabled
+-su $user -c '/usr/bin/aticonfig --pplib-cmd="get version"' | grep PPLIB
++su $user -c '$aticonfig --pplib-cmd="get version"' | grep PPLIB
+ if [ $? = 0 ]; then
+ echo "Has PPLIB"
+ has_pplib=1
+@@ -61,15 +63,15 @@
+ if [ ${lid_closed} -eq 1 -o ${on_dc} -eq 1 ]; then
+ echo "Low power"
+ if [ ${has_pplib} -eq 1 ]; then
+- su $user -c '/usr/bin/aticonfig --pplib-cmd="notify psrc dc"'
++ su $user -c '$aticonfig --pplib-cmd="notify psrc dc"'
+ else
+- su $user -c "/usr/bin/aticonfig --set-powerstate=1 --effective=now"
++ su $user -c "$aticonfig --set-powerstate=1"
+ fi
+ else
+ echo "high power"
+ if [ ${has_pplib} -eq 1 ]; then
+- su $user -c '/usr/bin/aticonfig --pplib-cmd="notify psrc ac"'
++ su $user -c '$aticonfig --pplib-cmd="notify psrc ac"'
+ else
+- su $user -c "/usr/bin/aticonfig --set-powerstate=3 --effective=now"
++ su $user -c "$aticonfig --set-powerstate=$($aticonfig --lsp | grep 'default state' | cut -c 3)"
+ fi
+ fi
+
diff --git a/x11-drivers/ati-drivers/files/ati-powermode-opt-path-3.patch b/x11-drivers/ati-drivers/files/ati-powermode-opt-path-3.patch
new file mode 100644
index 00000000..106e67ee
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-powermode-opt-path-3.patch
@@ -0,0 +1,40 @@
+--- a/common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh 2012-08-17 22:39:05.077984979 +0800
++++ b/common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh 2012-08-17 22:41:15.919976149 +0800
+@@ -4,6 +4,8 @@
+ # Control script for ACPI lid state and AC adapter state
+ #
+
++aticonfig='/opt/bin/aticonfig'
++
+ getXuser() {
+ user=`who| grep -m1 ":$displaynum " | awk '{print $1}'`
+ if [ x"$user" = x"" ]; then
+@@ -47,7 +49,7 @@
+ done
+
+ #If PPLIB is enabled
+-su $user -c '/usr/bin/aticonfig --pplib-cmd="get version"' | grep PPLIB
++su $user -c '$aticonfig --pplib-cmd="get version"' | grep PPLIB
+ if [ $? = 0 ]; then
+ echo "Has PPLIB"
+ has_pplib=1
+@@ -61,15 +63,15 @@
+ if [ ${lid_closed} -eq 1 -o ${on_dc} -eq 1 ]; then
+ echo "Low power"
+ if [ ${has_pplib} -eq 1 ]; then
+- su $user -c '/usr/bin/aticonfig --pplib-cmd="notify psrc dc"'
++ su $user -c '$aticonfig --pplib-cmd="notify psrc dc"'
+ else
+- su $user -c "/usr/bin/aticonfig --set-powerstate=1 --effective=now"
++ su $user -c "$aticonfig --set-powerstate=1 --effective=now"
+ fi
+ else
+ echo "high power"
+ if [ ${has_pplib} -eq 1 ]; then
+- su $user -c '/usr/bin/aticonfig --pplib-cmd="notify psrc ac"'
++ su $user -c '$aticonfig --pplib-cmd="notify psrc ac"'
+ else
+- su $user -c "/usr/bin/aticonfig --set-powerstate=3 --effective=now"
++ su $user -c "$aticonfig --set-powerstate=3 --effective=now"
+ fi
+ fi
diff --git a/x11-drivers/ati-drivers/files/atieventsd.init b/x11-drivers/ati-drivers/files/atieventsd.init
new file mode 100644
index 00000000..73139ce3
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/atieventsd.init
@@ -0,0 +1,20 @@
+#!/sbin/runscript
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/files/atieventsd.init,v 1.3 2007/05/18 23:58:01 marienz Exp $
+
+depend() {
+ need acpid
+}
+
+start() {
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --exec /opt/sbin/atieventsd -- ${ATIEVENTSDOPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet --exec /opt/sbin/atieventsd
+ eend $?
+} \ No newline at end of file
diff --git a/x11-drivers/ati-drivers/files/const-notifier-block.patch b/x11-drivers/ati-drivers/files/const-notifier-block.patch
new file mode 100644
index 00000000..ba1fdb2b
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/const-notifier-block.patch
@@ -0,0 +1,25 @@
+diff -Nur common/lib/modules/fglrx/build_mod/kcl_acpi.c common-r1/lib/modules/fglrx/build_mod/kcl_acpi.c
+--- common/lib/modules/fglrx/build_mod/kcl_acpi.c 2013-01-29 17:03:51.000000000 +0200
++++ common-r1/lib/modules/fglrx/build_mod/kcl_acpi.c 2013-02-15 20:33:10.611838616 +0200
+@@ -15,6 +15,9 @@
+ ****************************************************************************/
+
+ #include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,7,0)
++#include <linux/notifier.h>
++#endif
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
+ #include <generated/autoconf.h>
+ #else
+@@ -145,7 +148,11 @@
+ return NOTIFY_OK;
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,7,0)
++static notifier_block_no_const firegl_acpi_lid_notifier = {
++#else
+ static struct notifier_block firegl_acpi_lid_notifier = {
++#endif
+ .notifier_call = firegl_acpi_lid_event,
+ };
+ #endif
diff --git a/x11-drivers/ati-drivers/files/kernel/2.6.31-fglrx_find_task_by_vpid.patch b/x11-drivers/ati-drivers/files/kernel/2.6.31-fglrx_find_task_by_vpid.patch
new file mode 100644
index 00000000..1d4e030b
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/kernel/2.6.31-fglrx_find_task_by_vpid.patch
@@ -0,0 +1,19 @@
+--- common/lib/modules/fglrx/build_mod/firegl_public.c.orig 2009-09-10 20:14:10.302938534 +0200
++++ common/lib/modules/fglrx/build_mod/firegl_public.c 2009-09-10 20:16:21.828943780 +0200
+@@ -183,6 +183,7 @@
+ #include <linux/string.h>
+ #include <linux/gfp.h>
+ #include <linux/swap.h>
++#include <linux/pid.h>
+
+ #include "firegl_public.h"
+ #include "kcl_osconfig.h"
+@@ -1315,7 +1316,7 @@
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26)
+ p = find_task_by_pid( pid );
+ #else
+- p = find_task_by_vpid( pid );
++ p = pid_task( pid, PIDTYPE_PID );
+ #endif
+ if (p)
+ {
diff --git a/x11-drivers/ati-drivers/files/kernel/2.6.32-9.11-fix_compilation.patch b/x11-drivers/ati-drivers/files/kernel/2.6.32-9.11-fix_compilation.patch
new file mode 100644
index 00000000..38519d76
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/kernel/2.6.32-9.11-fix_compilation.patch
@@ -0,0 +1,37 @@
+--- work/common/lib/modules/fglrx/build_mod/firegl_public.c
++++ work.new/common/lib/modules/fglrx/build_mod/firegl_public.c
+@@ -1441,7 +1441,9 @@
+ todo !!!
+ #endif
+
+-unsigned long ATI_API_CALL __ke__cmpxchg(volatile void *ptr, unsigned long old,
++void __cmpxchg_wrong_size(void) {}
++
++unsigned long ATI_API_CALL __ke__cmpxchg(volatile unsigned long *ptr, unsigned long old,
+ unsigned long new, int size)
+ {
+ #ifndef __HAVE_ARCH_CMPXCHG
+--- work/common/lib/modules/fglrx/build_mod/firegl_public.h
++++ work.new/common/lib/modules/fglrx/build_mod/firegl_public.h
+@@ -441,7 +441,8 @@
+ extern void ATI_API_CALL KCL_SIGNAL_BlockAll(int (*notifier)(void *priv), void *pPriv, __ke_sigset_t *pSigMask);
+ extern void ATI_API_CALL KCL_SIGNAL_UnblockAll(void);
+
+-extern unsigned long ATI_API_CALL __ke__cmpxchg(volatile void *ptr, unsigned long old,
++extern void __cmpxchg_wrong_size(void);
++extern unsigned long ATI_API_CALL __ke__cmpxchg(volatile unsigned long *ptr, unsigned long old,
+ unsigned long new, int size);
+
+ #define __ke_cmpxchg(ptr,o,n) \
+--- work/common/lib/modules/fglrx/build_mod/kcl_io.c
++++ work.new/common/lib/modules/fglrx/build_mod/kcl_io.c
+@@ -37,8 +37,9 @@
+ */
+
+ #include <linux/version.h>
+ #include <linux/autoconf.h>
+ #include <linux/poll.h>
++#include <linux/signal.h>
+ #include <asm/io.h>
+
+ #include "kcl_config.h"
diff --git a/x11-drivers/ati-drivers/files/switchlibGL b/x11-drivers/ati-drivers/files/switchlibGL
new file mode 100644
index 00000000..a6aa4fce
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/switchlibGL
@@ -0,0 +1,61 @@
+#!/bin/bash
+# switchlibGL
+#
+# Copyright (c) 2011 Advanced Micro Devices, Inc.
+#
+# Purpose:
+# For switch between AMD and Intel graphic driver library.
+#
+# Usage:
+# switchlibGL amd|intel|query
+# amd: switches to the AMD version of libGL.
+# intel: switches to the open-source version of libGL .
+# query: checks, which version is currently active and prints either "amd"
+# or "intel" or "unknown" on the standard output.
+# must be root to execute this script
+
+ARCH=`uname -m`
+E_ERR=1
+
+# Check if root
+if [ "`whoami`" != "root" ]; then
+ echo "Must be root to run this script." 1>&2
+ exit $E_ERR
+fi
+
+# One parameter
+if [ $# -ne 1 ]; then
+ echo "Usage: `basename $0` amd|intel|query " 1>&2
+ echo "Please choose one parameter " 1>&2
+ exit $E_ERR
+fi
+
+current=$(eselect opengl show)
+# Switch to right mode
+case "$1" in
+ "amd" )
+ if [ $current != ati ] ; then
+ eselect opengl set ati || return 1
+ fi
+ ;;
+ "intel" )
+ if [ $current != xorg-x11 ] ; then
+ eselect opengl set xorg-x11 || return 1
+ fi
+ ;;
+ "query" )
+ case "$current" in
+ "ati" )
+ echo "amd"
+ ;;
+ "xorg-x11" )
+ echo "intel"
+ ;;
+ esac
+ ;;
+ * ) echo "Usage: `basename $0` amd|intel|query" 1>&2; exit $E_ERR;;
+ # other than amd|intel|query parameter report an error
+esac
+
+# A zero return value from the script upon exit indicates success.
+exit 0