<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="background-color: rgb(255, 255, 255);">
<p style="color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">
Hi guys, </p>
<p style="color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">
<br>
</p>
<p style="color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">
Let me introduce myself. My name is Qiang Yu, I'm a developer of amdgpu-pro driver.</p>
<p style="color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">
As you know the amdgpu-pro adopts some open source part like GBM but due to its</p>
<p style="color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">
close source OGL part, we implement our<span style="font-size: 12pt;"> own GBM</span><span style="font-size: 12pt;"> backend</span><span style="font-size: 12pt;">. </span></p>
<p style="color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">
<br>
</p>
<p style="color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">
Currently libgbm only support <span style="font-size: 12pt;">static selection of GBM backend by GBM_BACKEND,</span></p>
<p style="color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">
<span style="font-size: 12pt;">so for the hybrid GPU case like Intel iGPU + AMD dGPU and AMD dGPU is drived</span></p>
<p style="color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">
<span style="font-size: 12pt;">by amdgpu-pro, it's not convenient for </span><span style="font-size: 12pt;">client to switch backend all the time and even </span></p>
<p><span style="color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;"></span><span style="color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">impossible</span><font face="Calibri, Arial, Helvetica, sans-serif"><span style="font-size: 12pt;"> for </span>applications<span style="font-size: 12pt;"> that
 need to deal with both GPUs like the XServer.</span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span style="font-size: 12pt;"><br>
</span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span style="font-size: 12pt;">So I'm wondering a dynamic dispatch method and hope it can go upstream to the </span></font><span style="font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif;">libgbm</span><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">:</span></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span style="font-size: 12pt;">1. create a /etc/gbm/xxx.conf for libgbm to read when none default backend needed</span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span style="font-size: 12pt;">2. the content should be like: <kernel driver name>:<gbm backend name></span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span style="font-size: 12pt;">    In the amdgpu-pro case, the content is: amdgpu:gbm_amdgpu.so</span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span style="font-size: 12pt;"><br>
</span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span style="font-size: 12pt;">This method need libgbm use libdrm to determine the FD kernel driver first.</span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span style="font-size: 12pt;">Any feedback on this method and the hope to go upstream?</span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span style="font-size: 12pt;"><br>
</span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span style="font-size: 12pt;">Thanks,</span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span style="font-size: 12pt;">Qiang</span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span style="font-size: 12pt;"><br>
</span></font></p>
</div>
</body>
</html>