diff options
author | BlackNoxis <steven.darklight@gmail.com> | 2014-02-15 23:24:26 +0200 |
---|---|---|
committer | BlackNoxis <steven.darklight@gmail.com> | 2014-02-15 23:24:26 +0200 |
commit | 7224c1253228e5c29c78cb3f0f26ce34770f2356 (patch) | |
tree | 1684924656132935256e034f35f92abee6623265 /x11-drivers/ati-drivers |
Added ebuilds for kogaion desktop
Diffstat (limited to 'x11-drivers/ati-drivers')
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(¤t->mm->mmap_sem); + vaddr = (void *) do_mmap(file, 0, len, prot, flags, pgoff); + up_write(¤t->mm->mmap_sem); ++#endif + if (IS_ERR(vaddr)) + return 0; + else +@@ -2131,7 +2140,9 @@ + { + int retcode = 0; + ++#ifndef NO_DO_MMAP + down_write(¤t->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(¤t->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 |