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

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


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 >

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"
export CFLAGS="${COMMON_FLAGS}"
export CXXFLAGS="${COMMON_FLAGS}"
./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

jeudi 20 septembre 2018

[MinGW32 Linux Distro] mpv-0.29.0-30-g6eb59fe for win32 to Download

I've recently used my own MinGW32 Linux Toolchain to generate a quick build for MPV Player for win32 Notice: This time we added only 11 DLLs files since we built a new toolchain. Dlls and exe files were compressed using UPX. Be careful that your antivirus returns a false-positive point

mpv was linked to FFmpeg 4.1.dev.r1300.ge0ca679