qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] docs/about: Update the support statement for Windows


From: Thomas Huth
Subject: Re: [PATCH] docs/about: Update the support statement for Windows
Date: Thu, 12 May 2022 08:59:59 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0

On 05/05/2022 17.09, Daniel P. Berrangé wrote:
On Thu, May 05, 2022 at 04:12:11PM +0200, Thomas Huth wrote:
On 05/05/2022 13.55, Daniel P. Berrangé wrote:
On Thu, May 05, 2022 at 09:14:57AM +0100, Daniel P. Berrangé wrote:
On Thu, May 05, 2022 at 09:48:41AM +0200, Thomas Huth wrote:
Our support statement for Windows currently talks about "Vista / Server
2008" - which is related to the API of Windows, and this is not easy
to understand for the non-technical users. It might also not be quite
true anymore, since we only compile-test QEMU with recent toolchains.

We documented Vista / Server 2008 because that is what our code is
declaring it wants in terms of Windows public APIs:

In osdep.h we have:

    #ifdef _WIN32
    /* as defined in sdkddkver.h */
    #ifndef _WIN32_WINNT
    #define _WIN32_WINNT 0x0600 /* Vista */
    #endif

which tells Mingw / MSys not to expose windows header file declarations
that post-date Vista.

Of course we rely on 3rd party libraries and in particular GLib2 is
mandatory, and it also set _WIN32_WINNT. So our constraint is the
newer of the _WIN32_WINNT constraint set by QEMU and whatever version
of GLib2 being compiled against.

QEMU sets a min GLib of 2.56, and that version of GLib sets 0x0601
which means Windows >= 7.  So even though QEMU only asks for Vista,
in practice our minimum is 7.

Windows 7 does not receive any security updates since 2020 anymore, so I'd
rather would bump it to the level of Windows 8.1 directly instead. Or
directly go for Windows 10 to mimic the behavior that we have with most of
the Linux distros (max. two major releases at a time).

I like the simplicity of having the same rule everywhere.

I'm a little wary of people being stuck on old versions, when I see
current articles like this showing 20% of people still on Win7, way
more than Win8 surprisingly.

https://www.statista.com/statistics/993868/worldwide-windows-operating-system-market-share/

I still think it would be better to not provide QEMU to people who fail to make sure that their host system is up to date with security patches...

The thing with bumping the _WIN32_WINNT version higher though is that
we're not really doing it for any compelling technical reasons. Usually
when we bump min glib, it lets us cut out compatibility hacks and/or
get access to new APIs.

Bumping _WIN32_WINNT can do that, but the interesting place where that's
useful is mostly in GLib. I'm not sure what we'd make use of in the QEMU
side from setting a newer _WIN32_WINNT. Hence my suggestion that we just
let min GLib drive our min _WIN32_WINNT setting.

Ok, fair point. So let's raise the WIN32_WINNT setting to the same level as glib - but I think our support statement in our docs could be independent from that... I'll try to come up with a different phrasing in v2 of this patch.

 Thomas





reply via email to

[Prev in Thread] Current Thread [Next in Thread]