Le blog de Jean David TECHER, un Réunionnais à Saint-Priest/Lyon

Aller au contenu | Aller au menu | Aller à la recherche

1 2 3 >

vendredi 28 septembre 2018

[MinGW32 Linux Distro] 100% Static build of MPV 0.29.0.r35.g9c18407 for Windows 32 Bits - To Download


Download: mpv-0.29.0.r35.g9c18407_win32_20180927-225000.7z

Size for 7z file Compressed = 25MB, Uncompressed = 26MB
Static build for mpv.exeYes
Extra/Additional files Angle librairies (libEGL.dll, libGLESv2.dll )
DocumentationYes (HTML + PDF formats)
Toolchain to cross-compil MPV http://www.davidgis.fr/documentation/Cross-Compil_MPV_Static_on_Linux-32Bits_For_Windows-32Bits_Using_MinGW-w64_5.0.4_GCC-7.2.0/index.html


  • Refreshed package: shaderc-git, FFmpeg-git 4.1 dev
  • Enhanced package: LCSM2-git, added support for libtiff

Automatic Toolchain targetting both 32 and 64 Bits: Everything from scratch and quickly using cmake!!!

I strongly recommend this link https://github.com/shinchiro/mpv-winbuild-cmake

On my side I generate MPV builds only for fun because I wanted to learn from cross-compiling first . MPV is not the only tool/software that I wanted to try. My main idea is to build MPV but to reuse my toolchains for other projects too.

mercredi 26 septembre 2018

[MinGW32 Linux Distro] 100% Static build of MPV 0.29.0.r30.g6eb59fe for Windows 32 Bits (Download)

Yes, that's it!!! Finaly I was able to build a 100% static build of MPV. Before sharing some details here is the main link to download it

Download Static build for MPV 0.29.0.r30.g6eb59fe for Windows 32 Bits

Based on my previous experiences with cross-compiling, I was pretty happy to see that it reminds only 3 DLLs to add so I can play mpv.

  • libgcc_s_sjlj-1.dll
  • libstdc++-6.dll
  • libwinpthread-1.dll
But that was a short happiness. This happiness became a real challenge ! You know when you got this bad feeling -- A child is never happy whatever his gift could be --

Based on the same experience I was pretty sure that I should be able to resolve it quickly(...) Bad idea!!!! I did some research/tests on Google. I tried everything I could. Nothing worked as expected.

The only solution: rebuild the toolchain from scratch by building a static toolchain. I just had to update expected flags --enable-static and --disable-shared for both GCC and winpthread.

I was pretty sure that it will work. But for the peace of mind I rebuilt all packages too.

That was the occasion
  • to check if some Git repositories were up-to-date to refresh some packages
  • to check if my notes and commands were up-to-date too
Static toolchain: http://www.davidgis.fr/documentation/Cross-Compil_MPV_Static_on_Linux-32Bits_For_Windows-32Bits_Using_MinGW-w64_5.0.4_GCC-7.2.0/index.html

That's it! My first MPV static build cross-compiled on Linux

dimanche 23 septembre 2018

[MinGW32 Linux Distro] Toolchain to cross-compil Mpv for Windows 32 Bits - Major updates + Download

The documentation is still available at http://www.davidgis.fr/documentation/Cross-Compil_MPV_on_Linux-32Bits_For_Windows-32Bits_Using_MinGW-w64_5.0.4_GCC-7.2.0/.

Here are some news

  • FFmpeg and Mpv are now linked to libtesseract
  • Documentation is now up-to-date
    • Added new sections/subsections for new readers
  • Core Packages: refreshed packages
    • OpenAL-Soft: Replaced version 1.18.2. by version 1.19.0
    • Core Packages: Shaderc: Removed packages SPIRV-Tools and SPIRV-Headers and Glslans. Now All are built directly
  • About the compressed file to download: only 3 dlls are now required (provided in the compressed file to download)
    • libgcc_s_sjlj-1.dll
    • libstdc++-6.dll
    • libwinpthread-1.dll
Latest build to download: mpv-0.29.0.r30.g6eb59fe_win32_20180923-201236.7z

samedi 22 septembre 2018

Build Wine-Staging-3.16 + PBA + Gallium Nine on Linux 32 Bits

AFAIR I didn't write a ticket like this one for a while now . It's time to write a new one !!!

Listed below are my own instructions to build Wine-Staging 3.16 + PBA + Gallium-Nine + Some other patches on my PC Linux 32 Bits

  • Download sources
    wget https://github.com/sarnex/wine-d3d9-patches/archive/wine-d3d9-3.16.tar.gz -O - | tar xvzf -
    wget https://github.com/Firerat/wine-staging/archive/wine-staging-pba-v3.16.tar.gz -O - | tar xvzf -
    wget https://dl.winehq.org/wine/source/3.x/wine-3.16.tar.xz -O - | tar xvJf -
    git clone https://aur.archlinux.org/wine-gaming-nine.git
    cd wine-gaming-nine && cd git checkout baaddca018c4fd2808ef32dc2fa05c6116c79012 && cd ..
  • Apply patches from Wine-Gaming-Nine
    for file in $(ls wine-gaming-nine/*patch|grep -v keybinding);do patch -d wine-3.16 -Np1 -i ../$file;done
    patch -d wine-3.16 -R -Np1 -i ../wine-gaming-nine/keybindings.patch
  • Apply patches from Wine-Staging-PBA
    ./wine-staging-wine-staging-pba-v3.16/patches/patchinstall.sh DESTDIR="${PWD}/wine-3.16" --all
  • Apply patches from Gallium Nine
    patch -d wine-3.16 -Np1 -i ../wine-d3d9-patches-wine-d3d9-3.16/wine-d3d9.patch
    patch -d wine-3.16 -Np1 -i ../wine-d3d9-patches-wine-d3d9-3.16/staging-helper.patch
After that, get into wine-3.16 sources folder.
# Update files inside the folder
cd wine-3.16
autoreconf -fiv
Some packages are built outside my base system but are required to build Wine
# PKG_CONFIG_PATH should point to 
# * Mpg123
# * Vulkan-SDK
# * Gstreamer 1.10.4
export PKG_CONFIG_PATH=/opt/mpg123/1.25.8/lib/pkgconfig/:/opt/vulkan-sdk/lib/pkgconfig/:/opt/gstreamer/1.10.4/lib/pkgconfig/:/opt/ffmpeg/4.0.2/lib/pkgconfig/
# PATH should point to 
# *  MinGW Toolchain, support for 
#    - Posix, required by DXVK
#    - d3d11, required by DXVk
#    - d3dcompiler_47, required by DXVk
export PATH=/opt/MinGW32/bin:${PATH}

export LDFLAGS="-O2 -L/opt/vulkan-sdk/lib/ -L/opt/wine/apps/koku-xinput/lib/ -L/opt/ffmpeg/4.0.2/lib/"
export COMMON_FLAGS="-std=gnu99 -march=native -pipe -O2"
./configure --prefix=/opt/wine/apps/mpv/ --with-alsa --with-capi --with-cms --with-coreaudio --with-cups --with-curses \
 --with-d3d9-nine --with-d3d9-nine-module=auto --with-d3d9-nine-headers-path=auto --with-dbus --with-ffmpeg --with-float-abi=abi\
  --with-fontconfig --with-freetype --with-gettext --with-gettextpo --with-glu --with-gnutls --with-gphoto --with-gsm --with-gssapi --with-gstreamer\
  --with-gtk3 --with-jpeg --with-krb5 --with-ldap --with-mpg123 --with-netapi --with-openal --with-opencl --with-opengl --with-osmesa --with-oss \
 --without-hal --with-pcap --with-png --with-pthread --with-pulse --with-sane --with-sdl --with-tiff --with-udev --with-v4l --with-va --without-vkd3d \
 --with-vulkan --with-x --with-xattr --with-xcomposite --with-xcursor --with-xfixes --with-xinerama --with-xinput --with-xinput2 --with-xml \
 --with-xrandr --with-xrender --with-xshape --with-xshm --with-xslt --with-xxf86vm --with-zlib

make -j$(nproc)

make install