Code Monkey home page Code Monkey logo

Comments (19)

Gcenx avatar Gcenx commented on August 21, 2024 2

Wine-6.0 and Wine-Staging-6.0 are built they’ll just need to be packaged, I’ll lightly do this sometime tomorrow.

from macos_wine_builds.

Gcenx avatar Gcenx commented on August 21, 2024 1

I'd reached out to one of the WineHQ contributors and they suggested skipping the release candidate packages as when a bug is found and reported the first thing they'll be asked to do is run a regression test. So while I "could" provide pre-built packages it wouldn't make much sense.

Third-party projects there lightly doing what I'm doing and compiling each release to ensure there patches still apply, I will be keeping macports-wine in sync with each release candidate but won't be providing anything prebuilt.

Instead if no major regressions are found during this cycle (by me) I plan on getting wines README updated, overhaul WineHQ MacOS/Building since that's outdated, my Base Model mid 2014 13in Macbook Pro can only handle so much punishment.

If/when I can purchase a base model M1 Mac Mini that will become a buildbot for Winehq packages/Engines see Initial Apple Silicon support (information)

from macos_wine_builds.

oscarbg avatar oscarbg commented on August 21, 2024 1

@Gcenx thanks! did a quick test and shared a report of my findings:
KhronosGroup/MoltenVK#1233
A simple D3D11 compute shader apps works out of the box so no modifications needed for running it like currently required under DXVK.. but for a simple triangle app found some compatibilty issue with MoltenVK.. seems fixable..

from macos_wine_builds.

Gcenx avatar Gcenx commented on August 21, 2024 1

@oscarbg I've uploaded wine-devel-6.7, wine-staging-6.7 will be added after work.

from macos_wine_builds.

oscarbg avatar oscarbg commented on August 21, 2024

curious as to why you don't expect 6.0 rc Mac releases to be useful?
other wine custom builds (for Linux) like wine-tkg continue providing new builds:
https://github.com/Frogging-Family/wine-tkg-git/releases/tag/6.0rc1.r0.gd7b71f0b

from macos_wine_builds.

oscarbg avatar oscarbg commented on August 21, 2024

well wine 6.0 is released! seems finally time for a 6.0 Mac build? also seeing:
https://www.winehq.org/announce/6.0
seems a Vulkan backend is added to WineD3D as an option to DXVK..
please make sure build is provided with this support to test if MoltenVK supports this new WineD3D Vulkan backend on MacOS!
thanks..

from macos_wine_builds.

Gcenx avatar Gcenx commented on August 21, 2024

@oscarbg I was hoping they’d wait until Friday like usual.

I don’t see the Vulkan WineD3D backend being usable on macOS as MoltenVK is still missing geometry sharer and transform feedback support. (CodeWeavers DXVK for macOS has its own geometry shader code)
The Vulkan WineD3D backend has been there for a while but it’s mostly still useless on Linux.

For these packages I’ll be providing stock libMoltenVK. Just swap that to whatever version is desired, as I’d rather avoid something crashing when trying to use faked Vulkan extensions.

from macos_wine_builds.

oscarbg avatar oscarbg commented on August 21, 2024

@Gcenx

I first want to reiterate thanks as always for your effort in providing timely updated Wine builds..
will test Wine 6.0 builds as soon as released..

second AFAIU Codeweavers DXVK geometry shader is just a "minimal hack" consisting of reporting as being supported and doing nothing more..
please see this (first is CodeWeavers DXVK second is same version from Vulkan SDK):
http://vulkan.gpuinfo.org/compare.php?compare=compare&id%5B10245%5D=on&id%5B10079%5D=on&id%5B9646%5D=on&id%5B9630%5D=on#features
http://vulkan.gpuinfo.org/compare.php?compare=compare&id%5B10245%5D=on&id%5B10079%5D=on&id%5B9646%5D=on&id%5B9630%5D=on#extensions

in other words DX11 apps using geometry shader shouldn't work at all.. transform feedback I thinks is still not being reported, far less, being supported.. anyway as said shipped CodeWeavers DXVK doesn't do more than toggling some supported features to make DXVK happy with MoltenVK.. I'm just saying these because theoretically using this same CodeWeavers DXVK "new" Wine native WineD3D Vulkan backend could/should work also similarly and I'm willing to try..

really I have to admit that even knowing Vulkan WineD3D backend has been there judging from commits didn't know two key things:
*was already mature enough to run DX11 apps: for ex. apps using compute like ComputeMark work and similarly tesselation apps..
*didn't know how to enable (really didn't explore enough as thought not mature enough as previously said).. now I know is simply toggling a registry variable..

third: no problem providing stock libMoltenVK I replace with my own as you say..

fourth: just one thing I forgot to say is WineD3D Vulkan backend needs libvkd3d-shader compiled from https://source.winehq.org/git/vkd3d.git
at least I tested on Linux and it works.. on Linux it dlopens libvkd3d-shader.so.1
don't know if Wine code is ready for MacOS support (i.e. searching for libvkd3d-shader.dylib)
and also don't know, if when you build Wine for MacOS, WineD3D Vulkan being enabled or not depends on configure step finding (i.e. being present on build system) libvkd3d-shader.dylib or not..

just my thoughts, hope useful..
thanks..

from macos_wine_builds.

Gcenx avatar Gcenx commented on August 21, 2024

@oscarbg the custom MoltenVK fakes extensions, however the custom DXVK actually has code to avoid needing geometry shaders you can see it mentioned here cdavis5e/dxvk@982798a

I haven't built vkd3d for macOS recently but I could do this, wine can't dlopen libvkd3d-shader unless available at configure & compile time.

The wine-stable & wine-staging packages are not available.

from macos_wine_builds.

oscarbg avatar oscarbg commented on August 21, 2024

@Gcenx
will check your 6.0 builds..
thanks for your comment..

*so seems I misunderstood DXVK hack to be similar to MoltenVK.. and I was wrong about custom DXVK only faking geo support.. thanks for correcting my wrong understanding and providing the link to the patch.. good to know!

*no pressure but would be nice if you could check sometime in the future building VKD3D on Mac (should be easy enough if I remember correctly and nothing major has changed) and then shipping a Wine build with libvkd3d-shader.dylib included and that has WineD3D Vulkan support enabled.. maybe will not work with current default MoltenVK but as said maybe similar faking tricks can be done to MoltenVK to support WineD3D Vulkan.. maybe even exposing fake geometry shader is enough..

from macos_wine_builds.

Gcenx avatar Gcenx commented on August 21, 2024

@oscarbg I'm currently trying to figure out a strange annoyance with gmp +universal as the 64Bit slice ends up being broken, so needed to use an older combination of gmp & gnutls to avoid that.

I haven’t built VKD3D recently but I’ll look into creating a Portfile for this so it can easily be added into my environment and the builder will just handle it without any major changes. This will of course be 64Bit only.

from macos_wine_builds.

oscarbg avatar oscarbg commented on August 21, 2024

@Gcenx thanks for sharing your work plans..

just a quick update on WineD3D Vulkan..

for testing it I added to regedit (wine64 regedit):HKEY_CURRENT_USER\Software\Wine\Direct3D"renderer" (REG_SZ) registry key with "vulkan" value..

can confirm your 6.0 build having Vulkan support also has the WineD3D Vulkan backend enabled as I see:
0110:err:winediag:wined3d_dll_init Using the Vulkan renderer.

I also see MoltenVK Vulkan initilization after as I have a debug build:

[mvk-info] MoltenVK version 1.1.0. Vulkan version 1.1.154.
	The following 63 Vulkan extensions are supported:
		VK_KHR_16bit_storage v1
		VK_KHR_8bit_storage v1
		VK_KHR_bind_memory2 v1
		VK_KHR_create_renderpass2 v1
		VK_KHR_dedicated_allocation v3
		VK_KHR_depth_stencil_resolve v1
		VK_KHR_descriptor_update_template v1
		VK_KHR_device_group v4
		VK_KHR_device_group_creation v1
		VK_KHR_driver_properties v1
		VK_KHR_external_fence v1
		VK_KHR_external_fence_capabilities v1
		VK_KHR_external_memory v1
		VK_KHR_external_memory_capabilities v1
		VK_KHR_external_semaphore v1
		VK_KHR_external_semaphore_capabilities v1
		VK_KHR_get_memory_requirements2 v1
		VK_KHR_get_physical_device_properties2 v2
		VK_KHR_get_surface_capabilities2 v1
		VK_KHR_image_format_list v1
		VK_KHR_maintenance1 v2
		VK_KHR_maintenance2 v1
		VK_KHR_maintenance3 v1
		VK_KHR_multiview v1
		VK_KHR_portability_subset v1
		VK_KHR_push_descriptor v2
		VK_KHR_relaxed_block_layout v1
		VK_KHR_sampler_mirror_clamp_to_edge v3
		VK_KHR_sampler_ycbcr_conversion v14
		VK_KHR_shader_draw_parameters v1
		VK_KHR_shader_float16_int8 v1
		VK_KHR_shader_subgroup_extended_types v1
		VK_KHR_storage_buffer_storage_class v1
		VK_KHR_surface v25
		VK_KHR_swapchain v70
		VK_KHR_swapchain_mutable_format v1
		VK_KHR_uniform_buffer_standard_layout v1
		VK_KHR_variable_pointers v1
		VK_EXT_debug_marker v4
		VK_EXT_debug_report v9
		VK_EXT_debug_utils v2
		VK_EXT_fragment_shader_interlock v1
		VK_EXT_hdr_metadata v2
		VK_EXT_host_query_reset v1
		VK_EXT_image_robustness v1
		VK_EXT_inline_uniform_block v1
		VK_EXT_memory_budget v1
		VK_EXT_metal_surface v1
		VK_EXT_robustness2 v1
		VK_EXT_scalar_block_layout v1
		VK_EXT_shader_stencil_export v1
		VK_EXT_shader_viewport_index_layer v1
		VK_EXT_swapchain_colorspace v4
		VK_EXT_texel_buffer_alignment v1
		VK_EXT_vertex_attribute_divisor v3
		VK_MVK_macos_surface v3
		VK_MVK_moltenvk v28
		VK_AMD_gpu_shader_half_float v2
		VK_AMD_negative_viewport_height v1
		VK_AMD_shader_trinary_minmax v1
		VK_INTEL_shader_integer_functions2 v1
		VK_GOOGLE_display_timing v1
		VK_NV_glsl_shader v1
[mvk-info] GPU device:
		model: AMD Radeon RX Vega 64
		type: Discrete
		vendorID: 0x1002
		deviceID: 0x687f
		pipelineCacheUUID: 00002774-0300-07D2-64A1-9A20C5DDE3E6
	supports the following Metal Versions, GPU's and Feature Sets:
		Metal Shading Language 2.2
		GPU Family Mac 2
		GPU Family Mac 1
		GPU Family Common 3
		GPU Family Common 2
		GPU Family Common 1
		macOS GPU Family 2 v1
		macOS GPU Family 1 v4
		macOS GPU Family 1 v3
		macOS GPU Family 1 v2
		macOS GPU Family 1 v1
		macOS Read-Write Texture Tier 2
[mvk-info] Created VkInstance with the following 2 Vulkan extensions enabled:
		VK_KHR_surface v25
		VK_EXT_metal_surface v1

but seems libvkd3d-shader library must be found at configure/build time or any D3D11 sample failt with:

0158:err:winediag:wined3d_spirv_shader_backend_init_vk Wine was built without libvkd3d-shader support.

may open a separate issue asking for a libvkd3d-shader and WineD3D Vulkan enabled build?
thanks

from macos_wine_builds.

oscarbg avatar oscarbg commented on August 21, 2024

@Gcenx
I just build VKD3D for Mac (https://source.winehq.org/git/vkd3d.git) and got a generated libvkd3d-shader.a and dylib..
very easy.. minor comments:

  • I already have automake autotools and others needed for succesful ./autogen.sh installed from brew..
  • after configure step ok, make step needs:
    a)widl tool: maybe recent enough (I have 5.0 and works ok)
    b)bison recent enough newer than shipped on Xcode command line tools (so must set in PATH the recent one)..
    bison -V bison (GNU Bison) 2.3 not ok..
    bison 2.7.4 from brew ok..

EDIT I attach the libvkd3dshader (otool -L shows no extra deps) files if lazy
libvkd3dshader.zip

from macos_wine_builds.

Gcenx avatar Gcenx commented on August 21, 2024

@oscarbg
Currently been a little preoccupied with the new CX20.0.4-rc2, there new hack doesn’t work on the M1 Mac Mini and they didn’t resolve the controller issues for M1 systems sigh....

VKD3D also needs;

  • SPIRV-Headers
  • Vulkan-Headers
    I’ve been upgrading these and other Macports Vulkan related packages in my local overlay.

I should have this done and added into my environment & builder ready for wine-6.1 so the that package will include this.

from macos_wine_builds.

Gcenx avatar Gcenx commented on August 21, 2024

@oscarbg
I'd gotten the following done portfiles updated/created

  • spirv-headers (new)
  • spirc-tools
  • vulkan-headers
  • vulkan-loader
  • VKD3D (new)

Remaining;

  • vulkan-tools
  • vulkan-validationlayers

from macos_wine_builds.

oscarbg avatar oscarbg commented on August 21, 2024

nice work @Gcenx ! waiting to test soon..

from macos_wine_builds.

Gcenx avatar Gcenx commented on August 21, 2024

@oscarbg I've uploaded Wine-6.1 & Wine-Staging-6.1 packages these were built with VKD3D v1.2 and also ships the needed dylibs.

Edit;
Correction VKD3D v1.2

from macos_wine_builds.

oscarbg avatar oscarbg commented on August 21, 2024

@Gcenx seems 6.7 may finally fix a issue I reported: KhronosGroup/MoltenVK#1233
from:
https://www.winehq.org/announce/6.7
"wined3d: Handle typeless resolve in the Vulkan blitter."
"wined3d: Handle typeless resolve in the FBO blitter."
no pressure, but hope you can post a 6.7 build soon..

from macos_wine_builds.

oscarbg avatar oscarbg commented on August 21, 2024

thanks..

from macos_wine_builds.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.