[vlc-devel] Support for Windows on Arm

Pierrick Bouvier pierrick.bouvier at linaro.org
Fri Sep 9 10:20:45 UTC 2022


If you need help or lack time for this, don't hesitate to ask.

On 9/9/22 11:55, Steve Lhomme wrote:
> On 2022-09-09 11:47, Pierrick Bouvier wrote:
>> How could nightlies build on Martin's machine?
>>
>> Are there other patches, or does another toolchain is used?
> 
> The Docker image is using an outdated mingw version which doesn't
> contain this commit:
> 
> Revision: 97806c0ecf06b25295200d636978b06e28aa89bc
> Author: Martin Storsjö <martin at martin.st>
> Date: 2021-01-13 22:13:15
> Message:
> headers: Implement __debugbreak, MemoryBarrier and YieldProcessor for
> armv7 and aarch64
> Signed-off-by: Martin Storsjö <martin at martin.st>
> ----
> Modified: mingw-w64-headers/crt/_mingw.h.in
> Modified: mingw-w64-headers/include/winnt.h
> 
> We need to update the mingw version in our Docker.
> 
>> On 9/9/22 11:44, Steve Lhomme wrote:
>>> On 2022-09-09 11:09, Pierrick Bouvier wrote:
>>>> Oh yes, that would be great!
>>>>
>>>> If only that is missing to get full builds, that seems like a cheap
>>>> move :)
>>>
>>> Well, it doesn't build yet:
>>> https://code.videolan.org/robUx4/vlc/-/jobs/1134131
>>>
>>> Some call to MemoryBarrier() in some gettext tool.
>>>
>>>> On 9/9/22 11:03, Steve Lhomme wrote:
>>>>> On 2022-09-09 10:52, Martin Storsjö wrote:
>>>>>> On Fri, 9 Sep 2022, Pierrick Bouvier wrote:
>>>>>>
>>>>>>> On 9/9/22 10:39, Martin Storsjö wrote:
>>>>>>>> On Fri, 9 Sep 2022, Pierre Lamot wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 09/09/2022 10:29, Steve Lhomme wrote:
>>>>>>>>>> out of the box for Windows ARM. It should build like the other
>>>>>>>>>> Windows
>>>>>>>>>> targets except adding `-a aarch64` to build.sh. It should work
>>>>>>>>>> with
>>>>>>>>>> the LLVM Dockers we use (or any llvm-mingw build). Not sure
>>>>>>>>>> there's
>>>>>>>>>> mingw-w64 for ARM available.
>>>>>>>>>>
>>>>>>>>>> There may be some contribs that don't build properly, for
>>>>>>>>>> example Qt
>>>>>>>>>> may refuse to build or not understand what's going on. And if it
>>>>>>>>>> builds it's not
>>>>>>>>>
>>>>>>>>> according to your website [1], qt for windows arm requires version
>>>>>>>>> 6.2,
>>>>>>>>> but we only support Qt 5, so this may indeed be a problem if you
>>>>>>>>> plan to
>>>>>>>>> build the UI
>>>>>>>>
>>>>>>>> I dunno what that information that website is based on, but with
>>>>>>>> upstream
>>>>>>>> Qt (plain Qt Core) it has worked fine since around Qt 5.11 with
>>>>>>>> llvm-mingw. Maybe it's based on what they have tested themselves?
>>>>>>>>
>>>>>>>> It runs just fine with the Qt backported patches in VLC's
>>>>>>>> contrib, on
>>>>>>>> both
>>>>>>>> the 3.0.x and master branches.
>>>>>>>>
>>>>>>>
>>>>>>> We observed issues with previous version. For instance, with
>>>>>>> cmake-gui
>>>>>>> that is crashing on startup. It's good to know it's working for VLC.
>>>>>>
>>>>>> Ok, that's good to know. FWIW, if there's an issue with older versions
>>>>>> but which is fixed in newer ones, it's usually quite
>>>>>> straightforward to
>>>>>> do a reverse bisect to find out which commit fixed it, and then
>>>>>> backport
>>>>>> that one to the version of Qt that is used. (VLC carries half a
>>>>>> dozen of
>>>>>> backported Qt patches, for building the ancient Qt 5.6 with modern
>>>>>> compilers.)
>>>>>>
>>>>>>> Officially, Qt is advertising support for Windows on Arm from Qt6
>>>>>>> [1],
>>>>>>> while Qt5 does not mention it [2]. In more, prebuilt versions are
>>>>>>> only
>>>>>>> available since Qt6. Not every project builds Qt from source ;).
>>>>>>
>>>>>> Well the prebuilt binaries don't really help people in the mingw
>>>>>> ecosystem anyway, as those are MSVC only. And in practice I don't know
>>>>>> of any more concrete efforts from Qt's side here (but I may have
>>>>>> missed
>>>>>> something) other than doing regular builds of it. But for sure, newer
>>>>>> versions generally do come with more fixes that need to be
>>>>>> backported if
>>>>>> using older versions.
>>>>>
>>>>> BTW, I completely forgot that we do have windows ARM 64-bit building in
>>>>> our CI already. But Qt is disabled and also mistakenly as a UWP
>>>>> build. I
>>>>> can try to change it to a full desktop build and see how it goes.
>>>>>
>>>>> https://code.videolan.org/videolan/vlc/-/jobs/1134041
>>>>> _______________________________________________
>>>>> vlc-devel mailing list
>>>>> To unsubscribe or modify your subscription options:
>>>>> https://mailman.videolan.org/listinfo/vlc-devel
>>> _______________________________________________
>>> vlc-devel mailing list
>>> To unsubscribe or modify your subscription options:
>>> https://mailman.videolan.org/listinfo/vlc-devel
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list