<div dir="ltr">Hi all, <div><br></div><div>Sorry for the late reply. Yes, the old patch of mine is required in libdrm/master if you are to build it with aosp/oreo-mr1-release as it now expects libdrm_platform.so. I will rebase it and submit. (of course considering Rob's patch)</div><div><br></div><div><span style="font-size:12.8px">> Strange I though we already have both issues addressed?</span><br style="font-size:12.8px"><span style="font-size:12.8px">> </span><span style="font-size:12.8px">Admittedly the /vendor move was recent, although the static build of</span><br style="font-size:12.8px"><span style="font-size:12.8px">> </span><span style="font-size:12.8px">libdrm (for recovery) has been around for ages.</span><br style="font-size:12.8px"><span style="font-size:12.8px">> </span><br style="font-size:12.8px"><span style="font-size:12.8px">> </span><span style="font-size:12.8px">Аre you saying that despite that it's around latest AOSP does not pick it up?</span><br style="font-size:12.8px"><span style="font-size:12.8px">> </span><span style="font-size:12.8px">Can you share a bit more light on the topic?</span><br></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">My patch was needed because in some of the products (aosp_arm64_ab, aosp_walleye, aosp_taimen, etc.) in O-MR1 turned a build option called 'BOARD_VNDK_VERSION' on. When the option is on, the build system ensures that any vendor module isn't using a system module and any system module isn't using a vendor module. </span><span style="font-size:12.8px">For example, after Rob's patch, libminui can't use libdrm.so because libminui is not in the vendor partition, but libdrm.so has moved to vendor partition. So, it is a system->vendor violation. Before Rob's patch, libminui -> libdrm is okay, but libdrm_<vendor>.so -> libdrm.so isn't okay as it is a vendor->system violation. Of course, this does not trigger an error for the products which don't set BOARD_VNDK_VERSION.</span></div><div><span style="font-size:12.8px"><br></span></div><div>FYI. Starting from P, this will again be changed (in a good way).</div><div>[1] <a href="https://android-review.googlesource.com/c/platform/external/libdrm/+/516796">https://android-review.googlesource.com/c/platform/external/libdrm/+/516796</a><br></div><div>[2] <a href="https://android-review.googlesource.com/c/platform/bootable/recovery/+/516720">https://android-review.googlesource.com/c/platform/bootable/recovery/+/516720</a><br></div><div><br></div><div>[1] is changing the build scripts to Android.bp and eliminates the need for declaring two lib definitions for the same source code.</div><div><br></div><div>cc_library {</div><div>    name: "libdrm",</div><div>    vendor_availalbe: true,</div><div>    ...</div><div>}</div><div><br></div><div>The 'vendor_available: true' internally makes two variants of libdrm.so (one in /system/lib and the other in /vendor/lib) and modules in system or vendor are linked to the appropriate variant of libdrm.so depending on their origin. As a result. the platform version of libdrm has been renamed back to libdrm.so and that is reflected to [2].</div><div><br></div><div><br></div><div><br></div><div><br></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 12, 2017 at 4:28 AM, Emil Velikov <span dir="ltr"><<a href="mailto:emil.l.velikov@gmail.com" target="_blank">emil.l.velikov@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 11 December 2017 at 03:51, Chih-Wei Huang <<a href="mailto:cwhuang@android-x86.org">cwhuang@android-x86.org</a>> wrote:<br>
<br>
> Please rebase to the latest master and re-submit the patch.<br>
> In particular, please consider the master already has<br>
> a Rob Herring's patch which moved libdrm* to /vendor.<br>
><br>
</span>This please.<br>
<span class=""><br>
><br>
><br>
> 2017-07-26 18:08 GMT+08:00 Jiyong Park <<a href="mailto:jiyong@google.com">jiyong@google.com</a>>:<br>
>> libdrm_<vendor>.so are moved to the vendor partition (/vendor/lib or<br>
>> /system/vendor/lib if there is no dedicated vendor partition), since<br>
>> they are vendor-specific extension that must not be in the system<br>
>> partition which should be generic.<br>
>><br>
>> libdrm.so (which is generic) is built/installed twice: once to<br>
>> /vendor/lib to satisfy the dependency for the libdrm_<vendor>.so libs<br>
>> and once to /system/lib for platform clients such as the recovery<br>
>> executable.<br>
>><br>
</span>Strange I though we already have both issues addressed?<br>
Admittedly the /vendor move was recent, although the static build of<br>
libdrm (for recovery) has been around for ages.<br>
<br>
Аre you saying that despite that it's around latest AOSP does not pick it up?<br>
Can you share a bit more light on the topic?<br>
<br>
Thanks<br>
<span class="HOEnZb"><font color="#888888">Emil<br>
</font></span></blockquote></div><br></div>