Review Request 129399: Take X-KDE-RunOnDiscreteGpu property into account when starting app using KRun

Jan Grulich jgrulich at redhat.com
Mon Nov 28 07:40:53 UTC 2016



> On Lis. 26, 2016, 7:20 odp., David Faure wrote:
> > src/widgets/krun.cpp, line 436
> > <https://git.reviewboard.kde.org/r/129399/diff/2/?file=486397#file486397line436>
> >
> >     Is it needed to do this check more than once?
> >     If this can't change over time, there could be a static enum here (not check yet, present, absent) to avoid making a dbus blocking call every time.
> 
> Jan Grulich wrote:
>     I'm not sure how to do that as static variables cannot be mutable thus I need to initialize it immediately and cannot change later. I'm also not able to put it into KRunPrivate as its member variables also cannot be used in KRun static methods. Could you give me a hint what do you mean exactly?
> 
> David Faure wrote:
>     Static variables can definitely be mutable, as long as they are not declared const.
>     
>         enum DiscreteGpuCheck { NotChecked, Present, Absent };
>         static DiscreteGpuCheck s_gpuCheck = NotChecked;
>         if (s_gpuCheck == NotChecked) {
>             <make dbus call>
>             <set s_gpuCheck to either Present or Absent>
>         }
>         // use s_gpuCheck here.
>     
>     (This is only used in the GUI thread, in KRun, KPropertiesDialog and klauncher, so no mutex needed)
>     
>     Possibly this whole code could be in Solid, so that it's only in one place (and so that the dbus call is only made once per process, rather than 2 or 3 times given that this is needed in multiple places). I have no overview on the Solid API though, to be able to say where it would fit best.
>     
>     Also, KIO depends on Solid, but not klauncher. So maybe klauncher needs its own copy -- there is only one klauncher process so it would do the call only once.

Already tried that, but getting error: ISO C++ forbids in-class initialization of non-const static member ‘KRun::s_gpuCheck’. From what I've read on the internet this will compile maybe on some compilers, but it's not a valid code.


- Jan


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/129399/#review101128
-----------------------------------------------------------


On Lis. 22, 2016, 12:13 odp., Jan Grulich wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/129399/
> -----------------------------------------------------------
> 
> (Updated Lis. 22, 2016, 12:13 odp.)
> 
> 
> Review request for KDE Frameworks and David Faure.
> 
> 
> Repository: kio
> 
> 
> Description
> -------
> 
> When running an app using KRun, check whether X-KDE-RunOnDiscreteGpu is set and whether we have a discrete graphics card and set the environment variable accordingly.
> 
> 
> Diffs
> -----
> 
>   src/widgets/krun.cpp d93b1f2 
> 
> Diff: https://git.reviewboard.kde.org/r/129399/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Jan Grulich
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20161128/bbd0c2d6/attachment.html>


More information about the Kde-frameworks-devel mailing list