This is great; I at least have a better understanding of the issues involved 
and know where to look to stay up to date. I really appreciate your taking the 
time t explain everything to me. Thanks again!
________________________________
From: Jesse Natalie <jenat...@microsoft.com>
Sent: Sunday, April 18, 2021 8:48 PM
To: Will Gaines <uatu2...@outlook.com>; mesa-dev@lists.freedesktop.org 
<mesa-dev@lists.freedesktop.org>
Subject: RE: Viability of Mesa 21.0.2 with Windows 10 ARM - Snapdragon/Adreno


Like I said previously, most titles you’ll find on Windows are not going to be 
OpenGL titles, and as such there’s nothing to be gained for those titles by 
trying to leverage Mesa3D or the compatibility pack.



If you do have an app that uses OpenGL or OpenCL, I personally don’t think 
there’s going to be much value trying to build this code from source, for three 
reasons:

  1.  Unlike Linux, Windows includes in an inbox version of OpenGL32.dll. 
There’s not a simple way to override such a thing. There is an ICD mechanism, 
but trying to use it involves some nonstandard steps (it’s not just “ninja 
install” like it could be on Linux).
  2.  The compatibility pack is pretty up-to-date. As it’s still early-in-life, 
we’re currently updating it frequently, picking up the latest master branch 
with bugfixes (and new bugs), rather than keeping long-lived branches with 
back-ported targeted fixes only.
  3.  There’s no additional functionality to be gained by building it yourself. 
There’s nothing in the current distribution mechanism to disable any available 
functionality.



That said, currently if you’re on a retail version of Win10, the compat pack 
that you’ll have only works with Photoshop (to avoid potentially breaking other 
apps). If you’re on an insider build, however, then it’ll work for any app that 
you have. Feel free to let us know if you find OpenGL or OpenCL apps that don’t 
work with it.



There’s also https://github.com/pal1000/mesa-dist-win, which provides pre-built 
versions of Mesa3D code (or a framework making it easier to build) for Windows, 
if you do decide you want your own things.



-Jesse



From: Will Gaines <uatu2...@outlook.com>
Sent: Sunday, April 18, 2021 6:25 PM
To: mesa-dev@lists.freedesktop.org; Jesse Natalie <jenat...@microsoft.com>
Subject: [EXTERNAL] Re: Viability of Mesa 21.0.2 with Windows 10 ARM - 
Snapdragon/Adreno



Hi Jesse, first I want to thank you for providing the most cogent and clear 
assessment of the problem because all the information I've found to date is 
piecemeal and I'm the first to admit I am not a professional or have extensive 
experience with these issues. I am approaching it from being a casual lifelong 
PC gaming hobbyist so the learning curve has been steeped.



To the third point first, WL3 was just an example. The first two points are the 
bulk of what I am trying to figure out.



1) Is it worth attempting to install/compile the full Mesa3D build on the 
system specifications detailed compared to what is already available via the 
OpenCL and OpenGL Compatibility Pack (I have this along with the preview Adreno 
680 GPU driver)? Not necessarily specific to a title like WL3, but would I at 
least have more options to tweak graphics settings?



2) If the former point is affirmative and there could be more potential in an 
independent installation of Mesa3D, is there anything to consider outside the 
standard Windows installation guide given the ARM architecture to set it up? I 
guess what I'm getting at is that if I can experiment more with a separate 
install than the pack, I want to know if I can just follow the basic 
instructions or need to approach it differently like with WSL.



I very much appreciate you bearing with me particularly as I am not coming at 
this from someone with experience and practice but just a side project to see 
if I can do more with what I have. Any additional information is greatly 
appreciated; thank you again.

Will





________________________________

From: Jesse Natalie <jenat...@microsoft.com<mailto:jenat...@microsoft.com>>
Sent: Sunday, April 18, 2021 8:06:00 PM
To: Will Gaines <uatu2...@outlook.com<mailto:uatu2...@outlook.com>>; 
mesa-dev@lists.freedesktop.org<mailto:mesa-dev@lists.freedesktop.org> 
<mesa-dev@lists.freedesktop.org<mailto:mesa-dev@lists.freedesktop.org>>
Subject: RE: Viability of Mesa 21.0.2 with Windows 10 ARM - Snapdragon/Adreno



Hi,



I think there’s a bit of a misconception here.



First, Microsoft has recently been engaging with Mesa3D to build the OpenCL™ 
and OpenGL® Compatibility 
Pack<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.microsoft.com%2Fen-us%2Fp%2Fopencl-and-opengl-compatibility-pack%2F9nqpsl29bfff%3Factivetab%3Dpivot%3Aoverviewtab&data=04%7C01%7Cjenatali%40microsoft.com%7C70fdfce463bf4e211ed608d902d1e5e5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637543923527528454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=OfnwSJRBQ0P8AoMWgdQ%2Bze12UHvn0Fi1zzzo%2FxftQiA%3D&reserved=0>.
 This provides some level of x86, x64, arm32, and arm64 support for OpenGL (and 
OpenCL) on Windows devices with no native drivers for these APIs (e.g. the 
Samsung Galaxy Book S).



Second, in any given application process, the host code executing on the CPU 
all needs to be the same architecture. So, if you’re running an x86 game, you’d 
also need to be running an x86 graphics driver, all of which need to be 
emulated. There’s some exceptions to this rule, where we’ve enabled some 
high-frequency code to be specially-compiled to the native platform instruction 
set (called CHPE [Compiled Hybrid Portable Executable] for x86, or ARM64EC for 
x64). If you’re running a DirectX game, both the D3D runtime and driver 
should’ve been built this way, but the application code would still need to be 
translated at runtime. The compatibility pack mentioned above doesn’t yet have 
CHPE/ARM64EC builds, but we’re looking into it.



Third, I doubt Wasteland 3 is an OpenGL game. 
PCGamingWiki<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.pcgamingwiki.com%2Fwiki%2FWasteland_3&data=04%7C01%7Cjenatali%40microsoft.com%7C70fdfce463bf4e211ed608d902d1e5e5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637543923527538446%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=G9D0qCo%2FRgEZiGXa7tgKDVEXtnqRS1OBgaapaYARtwg%3D&reserved=0>
 indicates it’s D3D11. Mesa3D currently only has API implementations for 
OpenGL, Vulkan, and D3D9, and on Windows, the only drivers available are 
software (swrast/llvmpipe) for GL/VK or layered (zink/d3d12) for GL.



-Jesse



From: mesa-dev 
<mesa-dev-boun...@lists.freedesktop.org<mailto:mesa-dev-boun...@lists.freedesktop.org>>
 On Behalf Of Will Gaines
Sent: Sunday, April 18, 2021 5:51 PM
To: mesa-dev@lists.freedesktop.org<mailto:mesa-dev@lists.freedesktop.org>
Subject: [EXTERNAL] [Mesa-dev] Viability of Mesa 21.0.2 with Windows 10 ARM - 
Snapdragon/Adreno



Hello and greetings; please indulge me as I'll probably come across as an 
idiot, but I can't seem to get a straight answer regarding what I've been 
trying to do. I sincerely hope someone will be able to lay out clearly if I'm 
on a fool's errand which is fine because I can stop wasting my time.



Briefly, I picked up a Samsung Galaxy Book S with the Snapdragon 8cx/Adreno 680 
build running Windows 10 on ARM. Based on everything I've understood, while the 
hardware isn't terrible, the architecture and MS struggling with 64-bit x86 
emulation is what could be holding it back from being a serviceable machine for 
some gaming. I didn't really get on this until I hopped on Windows Insider and 
went to the 21359 build in the Dev Channel. I've gotten stable runs of games 
like Wasteland 3 on low settings but feel like there's either a solution or 
someone has looked and found it a dead-end to get better performance.



Long story short, I think Mesa3D might work but I've combed through documents 
and logs regarding compatibility with Windows 10 ARM and an Adreno GPU. The 
latest release suggests it's possible, but before I put any more time into it I 
wanted to know if anyone had experience along these lines: can the dev build 
features support everything needed to set up and has there been any roadblocks? 
Thanks for hearing me out, I appreciate it.





Scott free
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to