1
1
mirror of https://github.com/wez/wezterm.git synced 2024-11-27 12:23:46 +03:00
wezterm/ci
Wez Furlong b7e303f39c Windows: prefer to use Direct3D11 via ANGLE
This is similar in spirit to the work in 4d71a7913a
but for Windows.

This commit adds ANGLE binaries built from
07ea804e62
to the repo.  The build and packaging will copy those into the same
directory as wezterm.exe so that they can be resolved at runtime.

By default, `prefer_egl = true`, which will cause the window
crate to first try to load an EGL implementation.  If that fails,
or if `prefer_egl = false`, then the window crate will perform
the usual WGL initialization.

The practical effect of this change is that Direct3D11 is used for the
underlying render, which avoids problematic OpenGL drivers and means
that the process can survive graphics drivers being updated.

It may also increase the chances that the GPU will really be used
in an RDP session rather than the pessimised use of the software
renderer.

The one downside that I've noticed is that the resize behavior feels a
little janky in comparison to WGL (frames can render with mismatched
surface/window sizes which makes the window contents feel like they're
zooming/rippling slightly as the window is live resized). I think this
is specific to the ANGLE D3D implementation as EGL on other platforms
feels more solid.

I'm a little on the fence about making this the default; I think
it makes sense to prefer something that won't quit unexpectedly
while a software update is in progress, so that's a strong plus
in favor of EGL as the default, but I'm not sure how much the
resize wobble is going to set people off.

If you prefer WGL and are fine with the risk of a drive update
killing wezterm, then you can set this in your config:

```lua
return {
  prefer_egl = false,
}
```

refs: https://github.com/wez/wezterm/issues/265
closes: https://github.com/wez/wezterm/issues/156
2020-10-17 19:08:16 -07:00
..
appimage.sh adjust packaging to include wezterm-mux-server 2020-10-03 11:15:57 -07:00
appstreamcli include appstream data in AppImage 2020-05-04 22:55:33 -07:00
build-docs.sh docs: Make it easier to split out docs into multiple pages 2020-10-09 22:03:59 -07:00
deploy.sh ci: move source archive to run only for appimage build 2020-10-10 17:14:06 -07:00
generate-docs.py docs: more pane related docs 2020-10-10 10:49:36 -07:00
generate-workflows.py ci: move source archive to run only for appimage build 2020-10-10 17:14:06 -07:00
PKGBUILD.template ci: update PKGBUILD.template for license file addition 2020-10-06 13:24:35 -07:00
source-archive.sh Remove some bulky artifacts from the source tarball 2019-12-24 13:13:41 -08:00
subst-release-info.py docs: split install page into pages by platform 2020-05-30 10:30:32 -07:00
tag.sh scripts for tagging 2019-03-23 22:58:23 -07:00
wezterm-homebrew-macos.rb.template Automate updating linuxbrew tap 2020-07-05 09:40:52 -07:00
wezterm-linuxbrew.rb.template Automate updating linuxbrew tap 2020-07-05 09:40:52 -07:00
windows-installer.iss Windows: prefer to use Direct3D11 via ANGLE 2020-10-17 19:08:16 -07:00