On 11/9/24 13:07, Akihiko Odaki wrote:
> On 2024/11/09 15:52, Dmitry Osipenko wrote:
>> Accidentally missed this email a week ago. Thanks again for all the
>> reviews!
>>
>> On 10/31/24 10:32, Akihiko Odaki wrote:
>> ...
>>>>    +# libx11 presents together with SDL or GTK libs on systems that
>>>> support X11
>>>> +xlib = dependency('x11', required: false)
>>>
>>> There is a line saying:
>>> x11 = dependency('x11', method: 'pkg-config', required: gtkx11.found())
>>>
>>> Please reuse it.
>>
>> I've seen this option and choose not to use it because despite the brief
>> 'X11' name, it's about X11 support specifically for GTK and not SDL.
>>
>> Though, we can use this GTK/X11 for now and improve Meson dependencies
>> later on because in practice GTK is enabled for all distro-built QEMUs.
>> Will switch to it in v3.
> 
> I think you can just remove "if gtkx11.found()" to use it for SDL.

Right, thanks.

>> ...
>>>>    +static void sdl2_set_hint_x11_force_egl(void)
>>>> +{
>>>> +#if defined(SDL_HINT_VIDEO_X11_FORCE_EGL) && defined(CONFIG_OPENGL)
>>>> && \
>>>> +    defined(CONFIG_XLIB)
>>>> +    Display *x_disp = XOpenDisplay(NULL);
>>>> +    EGLDisplay egl_display;
>>>> +
>>>> +    if (!x_disp) {
>>>> +        return;
>>>> +    }
>>>> +
>>>> +    /* Prefer EGL over GLX to get dma-buf support. */
>>>> +    egl_display = eglGetDisplay((EGLNativeDisplayType)x_disp);
>>>> +
>>>> +    if (egl_display != EGL_NO_DISPLAY) {
>>>> +        /*
>>>> +         * Setting X11_FORCE_EGL hint doesn't make SDL to prefer 11
>>>> over
>>>
>>> s/prefer 11 over/prefer X11 over/
>>>
>>> Personally, I'm more concerned whether setting that hint will make an
>>> invalid argument error or something.
>>
>> There are no known side effects from setting that hint for QEMU and
>> libsdl code looks sane. AFAICT, EGL is not enabled by default in SDL
>> only because there are older SDL applications that use GLX features and
>> they will be broken if SDL will switch to EGL by default.
>> > Technically, should be possible to make SDL use EGL on demand, like
> only
>> when QEMU runs with enabled native-context for example. But there is no
>> point in doing that today since there are no known problems with the EGL
>> hint, IMO. We will be able to address problems if somebody will report a
>> bug.
>>
> 
> I was thinking of scenarios where X11 is not used. A convincing scenario
>  of failure is that SDL emits an error for the flag and stops working.
> The fact that this code just works implies it is not the case, but it's
> worth noting if you leave a comment anyway.

We check X11 presence using XOpenDisplay() and hint won't be set if Xorg
is unavailable.

For the case of XWayland, there is already a comment in this patch
telling that flag has no effect on Wayland. Will extend this comment,
thanks.

-- 
Best regards,
Dmitry

Reply via email to