poles89 Posted December 25, 2018 Share Posted December 25, 2018 (edited) Hi guys, Though native graphics acceleration is supported on i3 from Mojave, I'm not able to manage to get it. This is my system configuration : Motherboard: Asus Prime H370-Plus CPU: i3-8100 (UHD 630) OS: Mojave 10.14.2 I'm trying every possible way to get full graphics acceleration. But whatever I try it shows only 4MB video memory or leads to Kernal Panic. Here are some ways I have tried so far: Prerequisites: Installed latest Lilu+WEG on L/E. set DMVT prealloc to 64MB on bios. Option 1: IntelGFX-> 0x3E928086, ig-platform-id-> 0x3E9B0007, Inject Intel = true. Output: Kernal Panic Option 2: Blank IntelGFX, blank ig-platform-id, Inject Intel = false Output: Kernal Panic Option 3: IntelGFX-> 0x3E928086, ig-platform-id-> 0x5912000, Inject Intel = true. Output: Booted Successfully but no graphics acceleration. I knew that ig-platform-id-> 0x5912000 doesn't work in mojave and its works only for high sierra but I set this because with this ig-platform-id I can boot. Another way I can boot it by setting invalid Fake IntelGFX value like 0x12345678. Option 4: Downloaded Intel FBPatcher & followed this guide. But as I opened the app, its shows like this: It clearly indicates it neither can detect Intel CPU generation nor GPU memory (currently shows 0 MB). I changed to different PlatformId from the drop down but no improvement. Anyway I applied a patch with SMBIOS ->Macmini8,1 by someione's recommendation . I attached a config file (config_fbpather.plist) for this. Output: Kernal Panic I have tried the upper mentioned methods with SMBIOS like iMac14,2 / iMac18[1,2,3] and Macmini8,1. I'm using HDMI port for display output. Now I don't know whats wrong with theses methods but maybe someone can help me to figure out this problem. I have also attached those config.plist files. Thanks in advance. config_fakeid_0x3E928086.plist config_fbpatcher.plist config_fbpatcher_with_device_id.plist config_platform-id_0x59120000.plist Edited January 26, 2019 by poles89 forget to attached files. 1 Link to comment Share on other sites More sharing options...
RandomTech Posted December 25, 2018 Share Posted December 25, 2018 Helping someone out has become very hard on this website as a lot of people are coming to Hackintosh world lately. Once I was trying to help a user to chose his new hardware for Hackintosh then I faced a Nvidia fanboy fighting me for something I wasn't sure about. Helping in Hackintosh means (try things out till fix the problem), no one can help another user with straight forward steps which will lead to a super successful Hackintosh, though it can happen but only by luck. Anyway, I thing 0x5912000 shouldn't be there because its for Caby Lake and you should delete any iGPU related configs in config.plis, use only WEG+Lilu before you run FB-Patch (as its already mentioned in the guide). Your FB-Patcher is detecting 0x3E92 as Device Id, so that should be the correct one which you can choose also as PlatformId, for PlatformId I select 0x3E920003 because I also have 0x3E92 Device Id, other way to know the correct Device Id is in Windows by running GPU-Z. SMBIOS also should be Macmini8,1 or iMac 18,1 as I see people making UHD 630 work successfully, in my case I have a discrete GPU so I think its different but my goal is still try to help. 2 Link to comment Share on other sites More sharing options...
poles89 Posted December 25, 2018 Author Share Posted December 25, 2018 6 hours ago, RandomTech said: Helping someone out has become very hard on this website as a lot of people are coming to Hackintosh world lately. Once I was trying to help a user to chose his new hardware for Hackintosh then I faced a Nvidia fanboy fighting me for something I wasn't sure about. Helping in Hackintosh means (try things out till fix the problem), no one can help another user with straight forward steps which will lead to a super successful Hackintosh, though it can happen but only by luck. Anyway, I thing 0x5912000 shouldn't be there because its for Caby Lake and you should delete any iGPU related configs in config.plis, use only WEG+Lilu before you run FB-Patch (as its already mentioned in the guide). Your FB-Patcher is detecting 0x3E92 as Device Id, so that should be the correct one which you can choose also as PlatformId, for PlatformId I select 0x3E920003 because I also have 0x3E92 Device Id, other way to know the correct Device Id is in Windows by running GPU-Z. SMBIOS also should be Macmini8,1 or iMac 18,1 as I see people making UHD 630 work successfully, in my case I have a discrete GPU so I think its different but my goal is still try to help. Thanks for the suggestion. I'm using WEG+Lilu. FB-Patcher is detecting 0x3E92 beacuse I thought its the right one. But still fb-pathcer can't detect it. You are right that I have to know the right device id. I will install windows and run GPU Z to see the device id. Link to comment Share on other sites More sharing options...
mnfesq Posted December 25, 2018 Share Posted December 25, 2018 1 hour ago, poles89 said: Thanks for the suggestion. I'm using WEG+Lilu. FB-Patcher is detecting 0x3E92 beacuse I thought its the right one. But still fb-pathcer can't detect it. You are right that I have to know the right device id. I will install windows and run GPU Z to see the device id. You probably don't need to install windows to find out your device id for your gpu. Just use DPCIManager. Here's the link and disregard the malware warning. It's a false positive because it can get beneath your OS to read the device ids. https://sourceforge.net/projects/dpcimanager/ Link to comment Share on other sites More sharing options...
poles89 Posted December 26, 2018 Author Share Posted December 26, 2018 19 hours ago, mnfesq said: You probably don't need to install windows to find out your device id for your gpu. Just use DPCIManager. Here's the link and disregard the malware warning. It's a false positive because it can get beneath your OS to read the device ids. https://sourceforge.net/projects/dpcimanager/ Sorry man, I already used it. I found that my device id is 0x3E91. But I still can't boot with IntelGFX: 0x3E910000 & ig-platform-id: 0x3E9B0007 or 0X3E910003. I tried to boot only with IntelGFX: 0x3E910000 and blank ig-platgform-id too but no improvement. Link to comment Share on other sites More sharing options...
onemanOSX Posted December 26, 2018 Share Posted December 26, 2018 Someone commented in a thread here on his success to activate UHD 630 on his build. https://olarila.com/forum/viewtopic.php?p=68700#p68700 Unfortunately, that was all I managed to gather from him and didnt get to grab hold of his clover settings. Link to comment Share on other sites More sharing options...
mnfesq Posted December 26, 2018 Share Posted December 26, 2018 (edited) Someone reported success with your setup by removing the FakeID for IntelGFX. Here's the link: Edited December 26, 2018 by mnfesq Link to comment Share on other sites More sharing options...
RandomTech Posted December 26, 2018 Share Posted December 26, 2018 6 hours ago, poles89 said: I found that my device id is 0x3E91. But I still can't boot You might also need to configure the display connectors by using FB-Patcher, wether is HDMI or DP depending on your display and motherboard's connection, I cannot be sure of course onemanOSX knows better if that's the case or not. Link to comment Share on other sites More sharing options...
LockDown Posted December 27, 2018 Share Posted December 27, 2018 i am only using lilu,weg & Inject Intel=true. No other special settings in config.plist Link to comment Share on other sites More sharing options...
poles89 Posted December 27, 2018 Author Share Posted December 27, 2018 9 hours ago, RandomTech said: You might also need to configure the display connectors by using FB-Patcher, wether is HDMI or DP depending on your display and motherboard's connection, I cannot be sure of course onemanOSX knows better if that's the case or not. Thanks. If you see my original post then there is a image I posted where the fb pathcer can't detect Intel generation and graphics memory. Even after changing device id to 0x3E91 . Link to comment Share on other sites More sharing options...
poles89 Posted December 27, 2018 Author Share Posted December 27, 2018 5 hours ago, ellaosx said: i am only using lilu,weg & Inject Intel=true. No other special settings in config.plist Tried already. Didn't work. Link to comment Share on other sites More sharing options...
LockDown Posted December 27, 2018 Share Posted December 27, 2018 I have set the dvmt to 96 1 Link to comment Share on other sites More sharing options...
RandomTech Posted December 27, 2018 Share Posted December 27, 2018 5 hours ago, poles89 said: Thanks. If you see my original post then there is a image I posted where the fb pathcer can't detect Intel generation and graphics memory. Even after changing device id to 0x3E91 . I ignored the first post because is all wrong, it detects 0x5912000 and I think is duo to config.plist wrong iGPU information. The only thing to do is to set BIOS correctly for iGPU and follow the FB-Patcher guide with more attention. What happens to you is not FB-Patcher fault, Im sure there is something wrong with the steps you taking. I hope you fix it. Merry Christmas and happy new year. Link to comment Share on other sites More sharing options...
poles89 Posted December 27, 2018 Author Share Posted December 27, 2018 5 hours ago, RandomTech said: I ignored the first post because is all wrong, it detects 0x5912000 and I think is duo to config.plist wrong iGPU information. The only thing to do is to set BIOS correctly for iGPU and follow the FB-Patcher guide with more attention. What happens to you is not FB-Patcher fault, Im sure there is something wrong with the steps you taking. I hope you fix it. Merry Christmas and happy new year. Merry Christmas !!! The thing is I can't boot with proper ig-platform-id which is 0x3E9B0007 for Mojave. I can only boot in these following conditions: 1> IntelGFX -> 0x12345678 & blank ig-platform-id. Means with an invalid fakeID. 2> IntelGFX -> 0x3E918086 & High Sierra's ig-platform-id 0x5912000. I know its not correct & I don't get any graphics acceleration but at least I can boot. I think maybe the Intel FB-Patcher can only be useful when you can boot with proper IntelGFX value & ig-platform-id. Intel FB-Patcher's guide doesn't tell you what you should do if you can't boot your machine without those value. It assumes that you already booted with proper fakeID & ig-platform-id. Still I tried to use it by assuming that my IntelGFX value 0x3E918086 & ig-platform-id as 0x3E9B0007 and generated a patch which didn't work out (FYI, the OP's image of fb-pathcer's device id is 0x3E92 which was wrong but I tried the same app with my actual device id 0x3E91, which leads to same result). Intel FB-Patcher is a great app which helped lot of users to create patches. But for me, it didn't work out. I know I'm missing something but if you can't boot with proper value & and even if you boot with invalid ig-platform-id, the app doesn't show you cpu generation & video memory then how could you generate a proper patch? Maybe @headkaze can give some suggestion about how you should use the fb-pathcer app if you can't boot your machine with proper id. Link to comment Share on other sites More sharing options...
RandomTech Posted December 27, 2018 Share Posted December 27, 2018 3 hours ago, poles89 said: It assumes that you already booted with proper fakeID & ig-platform-id I didn't use any fakeID & ig-platform-id to boot (only WEG+Lilu as the FB-Patcher guide says) 3 hours ago, poles89 said: but if you can't boot with proper value No need to a proper value for boot (only WEG+Lilu as the FB-Patcher guide says) 3 hours ago, poles89 said: how you should use the fb-pathcer app if you can't boot your machine with proper id. There is no need for proper id to boot machine (only WEG+Lilu as the FB-Patcher guide says) If this doesn't work for you then maybe its another issue Good luck Link to comment Share on other sites More sharing options...
LockDown Posted December 28, 2018 Share Posted December 28, 2018 (edited) @poles89 cleanup config.plist w/o fake IntelGFX & ig-platform-id 1. Install Lilu & Weg. 2. Install Rehabman's FakePCIID & FakePCIID_Intel_HD_Graphics 3. Inject Intel=true 4. set DVMT to 96 Edited December 28, 2018 by ellaosx 1 Link to comment Share on other sites More sharing options...
poles89 Posted December 28, 2018 Author Share Posted December 28, 2018 (edited) 15 hours ago, RandomTech said: I didn't use any fakeID & ig-platform-id to boot (only WEG+Lilu as the FB-Patcher guide says) No need to a proper value for boot (only WEG+Lilu as the FB-Patcher guide says) There is no need for proper id to boot machine (only WEG+Lilu as the FB-Patcher guide says) If this doesn't work for you then maybe its another issue Good luck Thanks. What Fb-pathcer guide says is, you need to remove any fakeID & ig-platform-id before applying that patch but for that you need to boot the machine...so that you can run the app and do necessary steps. You guys are lucky that you can boot machine without those ids. 13 hours ago, ellaosx said: @poles89 cleanup config.plist w/o fake IntelGFX & ig-platform-id 1. Install Lilu & Weg. 2. Install Rehabman's FakePCIID & FakePCIID_Intel_HD_Graphics 3. Inject Intel=true 4. set DVMT to 96 Ok I will try that. But what will be the installed location of all those? L/E or kexts/other? Edited December 28, 2018 by poles89 Link to comment Share on other sites More sharing options...
poles89 Posted January 2, 2019 Author Share Posted January 2, 2019 On 12/28/2018 at 5:41 AM, ellaosx said: @poles89 cleanup config.plist w/o fake IntelGFX & ig-platform-id 1. Install Lilu & Weg. 2. Install Rehabman's FakePCIID & FakePCIID_Intel_HD_Graphics 3. Inject Intel=true 4. set DVMT to 96 Tried but it didn't work. Link to comment Share on other sites More sharing options...
poles89 Posted January 2, 2019 Author Share Posted January 2, 2019 But I find something in the boot log Quote WARNING: IOPlatformPluginUtil : getCPUIDInfo: this is an unknown CPU model 0x9e Which means it can't detect the cpu and I think thats why FB-patcher is showing ??? in cpu generation section. The Lilu+WEG is already installed. I also tried @RehabMan FakeCPUID.kext but no luck. I also find that AppleFramebuffer is not loading at all when I opened ioreg. I also added -liludbgall -wegdbg liludump=60 boot flags with debug version of lilu+WEG. Here are the attached files. Lilu_1.3.1_18.2.txt bootlog.txt Link to comment Share on other sites More sharing options...
lancorp Posted January 5, 2019 Share Posted January 5, 2019 On 12/28/2018 at 5:18 AM, poles89 said: Thanks. What Fb-pathcer guide says is, you need to remove any fakeID & ig-platform-id before applying that patch but for that you need to boot the machine...so that you can run the app and do necessary steps. You guys are lucky that you can boot machine without those ids. Ok I will try that. But what will be the installed location of all those? L/E or kexts/other? Exactly this. The guides say to remove FakeID for IntelGFX, don't inject anything, basically, remove any graphics related configs, but when I do that, I can't boot. Like you, the only way I can boot is with IntelGFX FakeID of 0x12345678 and inject Intel. Like you, no acceleration, but at least I can boot. I would up just buying a RX 560 4GB for $120 and get fully supported, accelerated graphics, and more performance than the UHD 630. I have found an interesting issue with my UHD 630 when the RX 560 is installed and am going to post about it in this forum now. Link to comment Share on other sites More sharing options...
poles89 Posted January 26, 2019 Author Share Posted January 26, 2019 It has been solved by using a connectors patch orginally used by Asus Prime H370M-Plus. As I have DVI-D, HDMI & VGA ports my connectors tab settings in Intel FB-Pathcer a.k.a Hackintool should be Row 1: Index 2, BusID 0x02, Type HDMI Row 2: Index 3, BusID 0x04, Type HDMI Row 3: Index 1, BusID 0x01, Type DP Here DVI-D type also written as HDMI. Otherwise the DVI-D port will not work. And the patch: Spoiler <key>Properties</key> <dict> <key>PciRoot(0x0)/Pci(0x2,0x0)</key> <dict> <key>AAPL,ig-platform-id</key> <data> BwCbPg== </data> <key>device-id</key> <data> mz4AAA== </data> <key>framebuffer-con0-busid</key> <data> AgAAAA== </data> <key>framebuffer-con0-enable</key> <data> AQAAAA== </data> <key>framebuffer-con0-flags</key> <data> xwMAAA== </data> <key>framebuffer-con0-index</key> <data> AgAAAA== </data> <key>framebuffer-con0-pipe</key> <data> CgAAAA== </data> <key>framebuffer-con0-type</key> <data> AAgAAA== </data> <key>framebuffer-con1-busid</key> <data> BAAAAA== </data> <key>framebuffer-con1-enable</key> <data> AQAAAA== </data> <key>framebuffer-con1-flags</key> <data> xwMAAA== </data> <key>framebuffer-con1-index</key> <data> AwAAAA== </data> <key>framebuffer-con1-pipe</key> <data> CAAAAA== </data> <key>framebuffer-con1-type</key> <data> AAgAAA== </data> <key>framebuffer-con2-busid</key> <data> AQAAAA== </data> <key>framebuffer-con2-enable</key> <data> AQAAAA== </data> <key>framebuffer-con2-flags</key> <data> xwMAAA== </data> <key>framebuffer-con2-index</key> <data> AQAAAA== </data> <key>framebuffer-con2-pipe</key> <data> CQAAAA== </data> <key>framebuffer-con2-type</key> <data> AAQAAA== </data> <key>framebuffer-patch-enable</key> <data> AQAAAA== </data> </dict> </dict> Now my both DVI-D & HDMI ports are working. 1 Link to comment Share on other sites More sharing options...
idk Posted February 3, 2019 Share Posted February 3, 2019 On 1/26/2019 at 2:55 PM, poles89 said: It has been solved by using a connectors patch orginally used by Asus Prime H370M-Plus. As I have DVI-D, HDMI & VGA ports my connectors tab settings in Intel FB-Pathcer a.k.a Hackintool should be Row 1: Index 2, BusID 0x02, Type HDMI Row 2: Index 3, BusID 0x04, Type HDMI Row 3: Index 1, BusID 0x01, Type DP Here DVI-D type also written as HDMI. Otherwise the DVI-D port will not work. And the patch: Hide contents <key>Properties</key> <dict> <key>PciRoot(0x0)/Pci(0x2,0x0)</key> <dict> <key>AAPL,ig-platform-id</key> <data> BwCbPg== </data> <key>device-id</key> <data> mz4AAA== </data> <key>framebuffer-con0-busid</key> <data> AgAAAA== </data> <key>framebuffer-con0-enable</key> <data> AQAAAA== </data> <key>framebuffer-con0-flags</key> <data> xwMAAA== </data> <key>framebuffer-con0-index</key> <data> AgAAAA== </data> <key>framebuffer-con0-pipe</key> <data> CgAAAA== </data> <key>framebuffer-con0-type</key> <data> AAgAAA== </data> <key>framebuffer-con1-busid</key> <data> BAAAAA== </data> <key>framebuffer-con1-enable</key> <data> AQAAAA== </data> <key>framebuffer-con1-flags</key> <data> xwMAAA== </data> <key>framebuffer-con1-index</key> <data> AwAAAA== </data> <key>framebuffer-con1-pipe</key> <data> CAAAAA== </data> <key>framebuffer-con1-type</key> <data> AAgAAA== </data> <key>framebuffer-con2-busid</key> <data> AQAAAA== </data> <key>framebuffer-con2-enable</key> <data> AQAAAA== </data> <key>framebuffer-con2-flags</key> <data> xwMAAA== </data> <key>framebuffer-con2-index</key> <data> AQAAAA== </data> <key>framebuffer-con2-pipe</key> <data> CQAAAA== </data> <key>framebuffer-con2-type</key> <data> AAQAAA== </data> <key>framebuffer-patch-enable</key> <data> AQAAAA== </data> </dict> </dict> Now my both DVI-D & HDMI ports are working. Do you use a DVI-D port to connect to a monitor? Link to comment Share on other sites More sharing options...
poles89 Posted March 23, 2019 Author Share Posted March 23, 2019 On 2/4/2019 at 2:58 AM, idk said: Do you use a DVI-D port to connect to a monitor? I know its been late. But yes, I use DVI-D port for monitor. 1 Link to comment Share on other sites More sharing options...
mdurg Posted May 7, 2019 Share Posted May 7, 2019 On 1/26/2019 at 7:55 AM, poles89 said: It has been solved by using a connectors patch orginally used by Asus Prime H370M-Plus. As I have DVI-D, HDMI & VGA ports my connectors tab settings in Intel FB-Pathcer a.k.a Hackintool should be Row 1: Index 2, BusID 0x02, Type HDMI Row 2: Index 3, BusID 0x04, Type HDMI Row 3: Index 1, BusID 0x01, Type DP Here DVI-D type also written as HDMI. Otherwise the DVI-D port will not work. And the patch: Reveal hidden contents <key>Properties</key> <dict> <key>PciRoot(0x0)/Pci(0x2,0x0)</key> <dict> <key>AAPL,ig-platform-id</key> <data> BwCbPg== </data> <key>device-id</key> <data> mz4AAA== </data> <key>framebuffer-con0-busid</key> <data> AgAAAA== </data> <key>framebuffer-con0-enable</key> <data> AQAAAA== </data> <key>framebuffer-con0-flags</key> <data> xwMAAA== </data> <key>framebuffer-con0-index</key> <data> AgAAAA== </data> <key>framebuffer-con0-pipe</key> <data> CgAAAA== </data> <key>framebuffer-con0-type</key> <data> AAgAAA== </data> <key>framebuffer-con1-busid</key> <data> BAAAAA== </data> <key>framebuffer-con1-enable</key> <data> AQAAAA== </data> <key>framebuffer-con1-flags</key> <data> xwMAAA== </data> <key>framebuffer-con1-index</key> <data> AwAAAA== </data> <key>framebuffer-con1-pipe</key> <data> CAAAAA== </data> <key>framebuffer-con1-type</key> <data> AAgAAA== </data> <key>framebuffer-con2-busid</key> <data> AQAAAA== </data> <key>framebuffer-con2-enable</key> <data> AQAAAA== </data> <key>framebuffer-con2-flags</key> <data> xwMAAA== </data> <key>framebuffer-con2-index</key> <data> AQAAAA== </data> <key>framebuffer-con2-pipe</key> <data> CQAAAA== </data> <key>framebuffer-con2-type</key> <data> AAQAAA== </data> <key>framebuffer-patch-enable</key> <data> AQAAAA== </data> </dict> </dict> Now my both DVI-D & HDMI ports are working. Would you mind telling me where that patch goes? I believe I have the same problem. MSI Z390 motherboard, i5-9600 with Intel UHD 630 graphics. Have a DVI and HDMI port. I get a black screen about half way through boot, unless I fake the device in Clover boot with 0x12345678 Thanks, Mark Link to comment Share on other sites More sharing options...
poles89 Posted May 8, 2019 Author Share Posted May 8, 2019 (edited) 17 hours ago, mdurg said: Would you mind telling me where that patch goes? I believe I have the same problem. MSI Z390 motherboard, i5-9600 with Intel UHD 630 graphics. Have a DVI and HDMI port. I get a black screen about half way through boot, unless I fake the device in Clover boot with 0x12345678 Thanks, Mark It goes to Devices -> Properties section on your config.plist Can you try the following code which is working for MSI Z390M Gaming Plus motherboard: Spoiler <key>Properties</key> <dict> <key>PciRoot(0x0)/Pci(0x2,0x0)</key> <dict> <key>AAPL,ig-platform-id</key> <data> BwCbPg== </data> <key>device-id</key> <data> mz4AAA== </data> <key>enable-hdmi20</key> <data> AQAAAA== </data> <key>framebuffer-con0-busid</key> <data> AQAAAA== </data> <key>framebuffer-con0-enable</key> <data> AQAAAA== </data> <key>framebuffer-con0-flags</key> <data> xwMAAA== </data> <key>framebuffer-con0-index</key> <data> AQAAAA== </data> <key>framebuffer-con0-pipe</key> <data> EgAAAA== </data> <key>framebuffer-con0-type</key> <data> AAgAAA== </data> <key>framebuffer-con1-busid</key> <data> AAAAAA== </data> <key>framebuffer-con1-enable</key> <data> AQAAAA== </data> <key>framebuffer-con1-flags</key> <data> xwMAAA== </data> <key>framebuffer-con1-index</key> <data> AgAAAA== </data> <key>framebuffer-con1-pipe</key> <data> EgAAAA== </data> <key>framebuffer-con1-type</key> <data> AQAAAA== </data> <key>framebuffer-con2-busid</key> <data> AAAAAA== </data> <key>framebuffer-con2-enable</key> <data> AQAAAA== </data> <key>framebuffer-con2-flags</key> <data> xwMAAA== </data> <key>framebuffer-con2-index</key> <data> AwAAAA== </data> <key>framebuffer-con2-pipe</key> <data> EgAAAA== </data> <key>framebuffer-con2-type</key> <data> AQAAAA== </data> <key>framebuffer-con3-busid</key> <data> AAAAAA== </data> <key>framebuffer-con3-enable</key> <data> AQAAAA== </data> <key>framebuffer-con3-flags</key> <data> IAAAAA== </data> <key>framebuffer-con3-index</key> <data> /////w== </data> <key>framebuffer-con3-pipe</key> <data> AAAAAA== </data> <key>framebuffer-con3-type</key> <data> AQAAAA== </data> <key>framebuffer-patch-enable</key> <data> AQAAAA== </data> </dict> </dict> Try HDMI first. Edited May 8, 2019 by poles89 Link to comment Share on other sites More sharing options...
Recommended Posts