Hi,

On 10/29/2015 12:27 PM, Martin Peres wrote:
On 29/10/15 12:33, Eero Tamminen wrote:
On 10/28/2015 11:24 PM, Jimmy Berry wrote:
I have found myself desiring the ability to manipulate the GALLIUM_HUD
variable while an application is running. At the most basic simply
being able to toggle the hud on and off would be great. Otherwise, one
has to relaunch an application and get back to the same state which
may not always be trivial.

Obviously there are a lot of other possibilities for such a mechanism
even manipulating other variables interactively.

I discussed the idea with imirkin_ on #dri-devel who agreed that
something like a socket interface would be a reasonable way to
approach the problem, but suggested I toss out the idea on the mailing
list to acquire more thoughts.

I have extensive development experience, but none in the kernel nor
mesa space. If desirable I would be interested in attempting to
implement this idea.

Some other possibilities than socket:

* Using (non-blocking) fifo, so that it can be more easily controlled
from shell script than with socket

* Using signal to toggle the HUD

Signal handler should be set only when user requests it, e.g. with
environment variable (that way Mesa doesn't by itself steal signals
from applications).

You cannot depend on signals in libraries. The application may have
replaced the library's handler with its own.

I meant that the enabling environment variable would also specify what signal is used for toggling:
        MESA_TOGGLE_HUD_WITH_SIG=<signal>

User can check from /proc/PID/status file what signals are unused.


One more possibility is Mesa monitoring debug config file changes and re-reading the options after it notices that file has been updated.

As to when and how that monitoring is done, it's something that could also be enabled with environment variable (MESA_RUNTIME_CONFIG=yes). Implementation could use inotify in another thread, check file timestamp on every frame, or have (user-specified) signal for telling that file should be re-read. That kind of mechanism could be used to control many other things at run-time too.


        - Eero

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to