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" <deathsim...@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 <mic...@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.ol...@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@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/mesa-dev >> > > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev