[vlc-devel] Support for Windows on Arm

Steve Lhomme robux4 at ycbcr.xyz
Fri Sep 9 09:55:49 UTC 2022


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


More information about the vlc-devel mailing list