Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows support #21

Open
heavyrain266 opened this issue Jan 28, 2023 · 20 comments
Open

Windows support #21

heavyrain266 opened this issue Jan 28, 2023 · 20 comments
Labels
bug Something isn't working build Related to building project

Comments

@heavyrain266
Copy link

Hi, I've seen that there is Windows support mentioned in the README as part of the roadmap. I'd just started working on it and would like to know which compiler is preferred, msvc or clang-cl?

Could be nice to have #xstudio or similar on ASWF's slack for real-time discussions and support.

P.S. While reading through CMake file, just noticed that xstudio hardcodes Intel's microachitecture which makes it impossible to compile on AMD if you don't remove -march=nehalem flag.

@alatdneg alatdneg added build Related to building project bug Something isn't working labels Jan 30, 2023
@jonassorgenfrei
Copy link

jonassorgenfrei commented Feb 12, 2023

Nice!
I'd be happy to help on the windows build too; if help is needed.

I would go with msvc; think most of the other open source projects and libraries in this field (e.g. openrv; usd, opensubdiv...) support either msvc or both.

@heavyrain266
Copy link
Author

Thanks, at the moment I'm modifying cmake config to make it work on windows with Visual Studio and msvc. I will publish changes to windows branch in my fork, so you could contribute changes there and I will create a PR here once it's ready.

@heavyrain266
Copy link
Author

After a while, I think that it's better to leave the port to qualified teams with better understanding of CMake, as I'm used to bazel, meson and ninja alone.

Here is what has to be done:

  • compile ffmpeg, openexr etc.
  • modify cmake for msvc
  • analyze every single file
  • add macros for windows headers
  • port audio interface
  • port bash scripts to batch or powershell

Not sure if it's exhaustive enough but should be helpful.

@mpkepic
Copy link
Contributor

mpkepic commented Jul 27, 2023

Just wanted to poke this thread with PR #50 that is an in-progress PR getting past a lot of these issues. There's still plenty of work to go, but a lot of the cmake/dependency building is working. If you were still interested in contributing and found those to be your blocker, then now might be a good time to take a look.

Cheers,
-Kessler

@heavyrain266
Copy link
Author

Hey, thanks for taking care of it. Unfortunatelly I'm not able to continue using Qt on Windows from dev side, it is doing all sorts of weird things deeply in system's registey, that causes e.g. Qt creator to appear 12 times in "Open With" popup and even after reinstallation you have to dig it out in the registry... However I will somehow try to review tue changes instead and see if they're compatible with VFX Platform.

@Auxemite
Copy link

Auxemite commented Oct 16, 2023

Hey,
(I didn’t know if I had to create a new issue or not so I’ll just write my problem here)

I’ve tried several times to load and build the repo for windows and after failing with your tutorial, I’ve tried it with Jetbrains Clion Community and came up with this steps to load it (I’ve replaced identifiable files and users by “...”) :

Presintalled Clion, Visual Studio, Qt and cloned repo xstudio and ffmpeg

1) Added these compiling options

-DCMAKE_PREFIX_PATH=C:\Qt\5.15.2\msvc2019_64\lib\cmake
-DLOCALFIX=C:\ … \xstudio\cmake-build-debug\vcpkg_installed\x64-windows
-DFFMPEG_ROOT=C:\ … \FFmpeg
-DFFMPEG_avcodec_LIBRARY=C:\ … \FFmpeg\libavcodec
-DFFMPEG_avdevice_LIBRARY=C:\ … \FFmpeg\libavdevice
-DFFMPEG_avfilter_LIBRARY=C:\ … \FFmpeg\libavfilter
-DFFMPEG_avformat_LIBRARY=C:\ … \FFmpeg\libavformat
-DFFMPEG_avresample_LIBRARY=C:\ … \FFmpeg\libavresample
-DFFMPEG_avutil_LIBRARY=C:\ … \FFmpeg\libavutil
-DFFMPEG_swresample_LIBRARY=C:\ … \FFmpeg\libswresample
-DFFMPEG_swscale_LIBRARY=C:\ … \FFmpeg\libswscale

2) Modified .vcpkg-clion/vcpkg/buildtrees/versioning_/baselines/ ... /baseline.json cmake-build-debug/vcpkg/buildtrees/versioning_/baselines/ ... /baseline.json

Change the version of opencolorio of 2.1.2 (nonexistent version) to 2.2.1

3) Modified .vcpkg-clion\vcpkg\buildtrees\versioning_\versions\openimageio\ ... \portfile.cmake cmake-build-debug\vcpkg\buildtrees\versioning_\versions\openimageio\ ... \portfile.cmake

…
REPO AcademySoftwareFoundation/OpenImageIO
REF "v${VERSION}"
SHA512 5e7710676eb2bd97fa8d30ac3f9fab0bf95e4c71389f41694290b423712b64944b15135d3929cfb72744c6d5ff0ad3a85d3c1d280a439637639ef42ff10203b7
…

4) Modified extern/quickpromise/CMakeLists.txt line 46 to 52

# Set install paths
# set(QML_INSTALL_DIR ${INSTALL_ROOT}/QuickPromise)
set(QML_INSTALL_DIR ${LOCALFIX}/QuickPromise)

# Install the library and qml files
# install(TARGETS quickpromise DESTINATION ${INSTALL_ROOT})
install(TARGETS quickpromise DESTINATION ${LOCALFIX})

After these steps the project is loading just fine
But when I try to build it I get this error :

====================[ Build | xstudio | Debug ]=================================
"C:\ ... \JetBrains\CLion 2023.2.2\bin\cmake\win\x64\bin\cmake.exe" --build C:\ ... \xstudio\cmake-build-debug --target xstudio -j 3
[1/106] Linking CXX shared library src\embedded_python\src\embedded_python.dll
FAILED: src/embedded_python/src/embedded_python.dll src/embedded_python/src/embedded_python.lib
cmd.exe ...
LINK Pass 1: ...
LINK : fatal error LNK1104: impossible d'ouvrir le fichier 'python310.lib'
[2/106] Linking CXX shared library src\ui\qml\tag\src\tag_qml.dll
[3/106] Linking CXX shared library src\media_cache\src\media_cache.dll
ninja: build stopped: subcommand failed.

Can someone help me?

@anandan06
Copy link

Hello,

I noticed that you have experience with XStudio on Windows, and I'm currently facing an issue with it. I was hoping you could provide some insights or solutions.

I tried the XStudio Windows build, but unfortunately, I encountered the following error:

I followed the build guide provided in this document to build (https://github.com/mpkepic/xstudio/blob/windows/docs/build_guides/windows.md) XStudio on Windows. The build was successful, but I'm encountering an issue when using the application. I am unable to play any media in the XStudio player.

Expected Behavior:
I expected the XStudio player to play media files as intended after a successful build. However, the player is not functioning as expected, and I cannot review my shots.

Environment:
Operating System: Windows 10 22H2 (OS Build 19045.3570)
XStudio Version: v0.11.0
xstudio version

Build Method: Followed the steps in this document.
Link: https://github.com/mpkepic/xstudio/blob/windows/docs/build_guides/windows.md
Issue Details: Unable to Play Media in Xstudio Windows build

When I try to play media, the player does not function as expected.
I have attached screenshots of the errors I'm encountering for reference.
xs error3
xs-error2
xs-error1

Impact:
These issues are significantly impeding my ability to utilize the XStudio Player for my work. I kindly request assistance to resolve them as soon as possible to minimize disruptions in my workflow.

Request for Assistance:
I humbly request the assistance of the community or developers in diagnosing and resolving the issues I've encountered. Your expertise and guidance will be invaluable in restoring the full functionality of the XStudio Player so I can efficiently review my shots.
Your prompt attention to this matter is greatly appreciated. Thank you for your support in resolving these issues and enhancing my experience with XStudio.

Have you come across this issue before, and do you know of any solutions that could help me resolve it?

I would greatly appreciate any guidance or advice you can offer.

Thank you in advance!

@OlivierArgentieri
Copy link

@anandan06
I got exactly the same issue !

image

@mpkepic
Copy link
Contributor

mpkepic commented Jun 6, 2024

Hi! I've done a significant overhaul on the Cmake/vcpkg integration and cmake install target support among other things. I recommend checking out the latest commit on the pull request.

The issues referenced in here also point to plugin install issues which should now be resolved.

Note it now supports Visual Studio 2022, comes with some useful presets to make configuring easier, and has a bunch of build reliability improvements.

#50

@OlivierArgentieri
Copy link

OlivierArgentieri commented Jun 6, 2024

Hi! I've done a significant overhaul on the Cmake/vcpkg integration and cmake install target support among other things. I recommend checking out the latest commit on the pull request.

The issues referenced in here also point to plugin install issues which should now be resolved.

Note it now supports Visual Studio 2022, comes with some useful presets to make configuring easier, and has a bunch of build reliability improvements.

#50

Hey ! Thank you for your reply !

Yes i'm currently testing a build on my side from your latest reply on #57

Thank you again for your work !

Edit: I can confirm that the build works well now ! 🚀

@OlivierArgentieri
Copy link

Hi @mpkepic !

I don't know if i am the only one but i can't read sequences of images

aaaaaaaaasdadasasdasdx

@mpkepic
Copy link
Contributor

mpkepic commented Jun 7, 2024

Thank you, I can see the same regression; going to take a look!

@mpkepic
Copy link
Contributor

mpkepic commented Jun 7, 2024

I don't have an answer yet, but it looks like we've got different behavior between drag and drop vs commandline; if you pass the folder in via position argument, the sequence will load.

@mpkepic
Copy link
Contributor

mpkepic commented Jun 7, 2024

I've spun off that issue into #106; see there for updates on that issue.

@OlivierArgentieri
Copy link

I've spun off that issue into #106; see there for updates on that issue.

Thank you for your investigation !

@mpkepic
Copy link
Contributor

mpkepic commented Jun 7, 2024

@OlivierArgentieri I've closed out #106 with the latest push to the PR, feel free to check it out.

@OlivierArgentieri
Copy link

OlivierArgentieri commented Jun 8, 2024

@OlivierArgentieri I've closed out #106 with the latest push to the PR, feel free to check it out.

Thank you @mpkepic !

I have removed my old D:/xstudio folder, repull the repo to be sure i'm not building with old stuff, also removed the D:\xstudio_install dir then Rebuild, compiled and installed and i got the same issue.

Maybe i am doing something wrong, my frames are just .jpg format like this from 0001 to 0169 in my D:/temp/frames, when i drag and drop this folder like in my previous .gif it still show me frame per frame but not a playable sequence, with the warning message "no frames" in the console.

I have also tried in cli and got the same behavior, am i doing something wrong ?

image

@mpkepic
Copy link
Contributor

mpkepic commented Jun 8, 2024

Ah, that's a different issue entirely than what I resolved; sorry. Try adding a basename to the frame number, such as frame.0001.jpg

Can you spin off a separate feature request for frame sequences with only number and extension? Thanks.

@OlivierArgentieri
Copy link

OlivierArgentieri commented Jun 8, 2024

Ah, that's a different issue entirely than what I resolved; sorry. Try adding a basename to the frame number, such as frame.0001.jpg

Can you spin off a separate feature request for frame sequences with only number and extension? Thanks.

Hey !
Ok thank you, sorry for my shitty test, yes i can confirm now it's working well !

I can read sequences of images with the latest commit on windows branch and with this naming structure aaa.bbb.%04D.jpg !

ASsSASsSSSAASASASASAS

@OlivierArgentieri
Copy link

Hey @mpkepic 👋

I also notice that the drag and drop doesn't work with a folder of frames store on a UNC path
But it work when i try to open it command line.

I don't know if this it's a bug or a feature request.

context:

  • Folder of frames (properly named aaa.bbb.%04D.jpg) on a windows share like this: \\my-stock\myfolder\frames
    in log I can see a warning message like this when i drag an drop my frames folder: [xstudio] [warning] Unsupported file type file:myfolder/frames.

But in cli it's totally fine.

If you want i can create a specific issue for this, to stop flooding this big windows support issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working build Related to building project
Projects
None yet
Development

No branches or pull requests

7 participants