[Mesa-dev] [PATCH] dri: don't load .drirc from $HOME
Edmondo Tommasina
edmondo.tommasina at gmail.com
Mon Jan 9 11:16:49 UTC 2017
Could be a patch like this useful for power users?
Load custom drirc only when specified in env variable.
Patch untested, not even compiled.
edmondo (on mobile phone)
diff --git a/docs/envvars.html b/docs/envvars.html
index cf57ca5..a404ced 100644
--- a/docs/envvars.html
+++ b/docs/envvars.html
@@ -114,6 +114,7 @@ glGetString(GL_SHADING_LANGUAGE_VERSION). Valid values
are integers, such as
if it's higher than what's normally reported. (for developers only)
<li>MESA_GLSL - <a href="shading.html#envvars">shading language compiler
options</a>
<li>MESA_NO_MINMAX_CACHE - when set, the minmax index cache is globally
disabled.
+<li>MESA_CUSTOM_DRIRC - load custom drirc file.
</ul>
diff --git a/src/mesa/drivers/dri/common/xmlconfig.c
b/src/mesa/drivers/dri/common/xmlconfig.c
index a8f7c9b..c36b78a 100644
--- a/src/mesa/drivers/dri/common/xmlconfig.c
+++ b/src/mesa/drivers/dri/common/xmlconfig.c
@@ -944,8 +944,7 @@ static void parseOneConfigFile (XML_Parser p) {
void driParseConfigFiles (driOptionCache *cache, const driOptionCache
*info,
int screenNum, const char
*driverName) {
- char *filenames[2] = { SYSCONFDIR "/drirc", NULL};
- char *home;
+ char *filenames[2] = { SYSCONFDIR "/drirc",
getenv("MESA_CUSTOM_DRIRC") };
uint32_t i;
struct OptConfData userData;
@@ -956,17 +955,6 @@ void driParseConfigFiles (driOptionCache *cache, const
driOptionCache *info,
userData.driverName = driverName;
userData.execName = GET_PROGRAM_NAME();
- if ((home = getenv ("HOME"))) {
- uint32_t len = strlen (home);
- filenames[1] = malloc(len + 7+1);
- if (filenames[1] == NULL)
- __driUtilMessage ("Can't allocate memory for
%s/.drirc.", home);
- else {
- memcpy (filenames[1], home, len);
- memcpy (filenames[1] + len, "/.drirc", 7+1);
- }
- }
-
for (i = 0; i < 2; ++i) {
XML_Parser p;
if (filenames[i] == NULL)
@@ -987,8 +975,6 @@ void driParseConfigFiles (driOptionCache *cache, const
driOptionCache *info,
parseOneConfigFile (p);
XML_ParserFree (p);
}
-
- free(filenames[1]);
}
void driDestroyOptionInfo (driOptionCache *info) {
On Jan 9, 2017 12:08, "Christian König" <deathsimple at vodafone.de> wrote:
> Am 09.01.2017 um 11:58 schrieb Marek Olšák:
>
>> On Mon, Jan 9, 2017 at 7:25 AM, Michel Dänzer <michel at daenzer.net> wrote:
>>
>>> On 09/01/17 03:13 PM, Michel Dänzer wrote:
>>>
>>>> On 07/01/17 11:46 PM, Marek Olšák wrote:
>>>>
>>>>> From: Marek Olšák <marek.olsak at amd.com>
>>>>>
>>>>> ~/.drirc is created by the driconf tool (GPL license) and it overrides
>>>>> system drirc settings and can't be changed by Mesa updates.
>>>>> This drops support for the tool. It has been a source of major pain
>>>>> for us and it continues to cause problems.
>>>>>
>>>>> If people wanna keep this and enjoy the pain, I will make a v2 that
>>>>> applies it to radeon drivers only.
>>>>>
>>>>> v2: update comments and docs
>>>>>
>>>> The problem is the driconf application (and possibly documentation
>>>> recommending its use), not the ~/.drirc file. This is throwing out the
>>>> proverbial baby with the bathwater. Fix the problem instead.
>>>>
>>> As for something that could be done about this issue in Mesa, how about
>>> adding terminal output about which driconf options are set to what
>>> values from where, enabled e.g. via LIBGL_DEBUG=verbose ?
>>>
>> That would have no effect on anything whatsoever. The idea is to drop
>> support for driconf. That can be done by not loading ~/.drirc and
>> either:
>> - not loading anything, or
>> - load a different file from HOME instead (e.g. ~/.mesarc)
>>
>
> I would start slower and at-least allow for a grace period or getting rid
> of this.
>
> E.g. if ~/.drirc is present give a big warning on stderr that this is
> deprecated for at least one major release.
>
> If we then find that we need a per user configuration file we can still
> add support for ~/.mesarc.
>
> But in general I agree that file caused quite some pain for questionable
> gain.
>
> Regards,
> Christian.
>
>
>> driconf uses GPL, which is not compatible with X.Org and Mesa.
>>
>> Marek
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>
>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170109/4e88f45a/attachment.html>
More information about the mesa-dev
mailing list