[Mesa-dev] [PATCH v2] gbm: Replace GBM_DRIVERS_PATH with LIBGL_DRIVERS_PATH

Kristian Høgsberg krh at bitplanet.net
Thu Jul 24 13:54:35 PDT 2014


On Thu, Jul 24, 2014 at 1:43 PM, Kristian Høgsberg <krh at bitplanet.net> wrote:
> On Thu, Jul 24, 2014 at 1:32 PM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
>> On 22/07/14 19:43, Dylan Baker wrote:
>>> GBM_DRIVERS_PATH is not documented, and only used to set the location of
>>> gbm drivers, while LIBGL_DRIVERS_PATH is used for everything else, and
>>> is documented.
>>>
>>> Generally this split leads to confusion as to why gbm doesn't work.
>>>
>>> This patch makes LIBGL_DRIVERS_PATH the main variable, but uses
>>> GBM_DRIVERS_PATH as a fallback if LIBGL_DRIVERS_PATH is NULL.
>>>
>> Dylan if we're going the LIBGL road, can we please use the GBM variable first
>> and then fallback to the LIBGL one ? This way things won't break for people
>> using the former. Meanwhile I'm writing docs/gbm.html with some rough
>> description what gbm is and all the env vars used :-)
>>
>> git grep -i gbm -- docs/
>> 0 matches found
>
> The entire public API is documented using doxygen.  Look in src/gbm/main/gbm.c

... but a more introductory, overview style document would be very
nice to have as well.  Thanks for doing that.  It would be nice to
also include a pointer to Robs kmscube as a complete example of how to
use the API.

Kristian

> Kristian
>
>>
>> Thanks
>> Emil
>>
>>> v2: - Use GBM_DRIVERS_PATH as a fallback
>>>
>>> Signed-off-by: Dylan Baker <baker.dylan.c at gmail.com>
>>> ---
>>>  src/gbm/backends/dri/gbm_dri.c | 11 +++++++++--
>>>  1 file changed, 9 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c
>>> index 347bc99..3e4851c 100644
>>> --- a/src/gbm/backends/dri/gbm_dri.c
>>> +++ b/src/gbm/backends/dri/gbm_dri.c
>>> @@ -211,9 +211,16 @@ dri_load_driver(struct gbm_dri_device *dri)
>>>     char *get_extensions_name;
>>>
>>>     search_paths = NULL;
>>> +   /* don't allow setuid apps to use LIBGL_DRIVERS_PATH */
>>>     if (geteuid() == getuid()) {
>>> -      /* don't allow setuid apps to use GBM_DRIVERS_PATH */
>>> -      search_paths = getenv("GBM_DRIVERS_PATH");
>>> +      search_paths = getenv("LIBGL_DRIVERS_PATH");
>>> +
>>> +      /* fallback path for compatability, GBM_DRIVERS_PATH should be
>>> +       * dropped eventually
>>> +       */
>>> +      if (search_paths == NULL) {
>>> +         search_paths = getenv("GBM_DRIVERS_PATH");
>>> +      }
>>>     }
>>>     if (search_paths == NULL)
>>>        search_paths = DEFAULT_DRIVER_DIR;
>>>
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list