Repository navigation
Releases: jdrly/swtor-on-mac
Release list
SWTOR on Mac 0.1.1-dev.1 (development build)
SWTOR on Mac 0.1.1-dev.1 (development build)
A test build of d9mt's newest work: less stutter when pipelines load, less work for the GPU at high resolutions, and two drawing fixes, with switches to compare each one with 0.1.0.
Less stutter after the first session and after updates
d9mt now remembers which pipelines (the GPU programs for each way the game draws) the game used,
and builds them again in the background while the game loads. When you then walk into a busy
place, they are ready instead of being built in the middle of a frame. The first session on this
build learns them; from the second one on, and also after an update that makes d9mt rebuild its
shader cache, there should be less stutter. The list lives next to d9mt's shader cache.
Lower GPU load at high resolutions
d9mt now lets the GPU keep textures and the screen compressed, and waits less between the
passes that draw a frame. In d9mt's 4K tests that saves about 16 to 22% of the GPU's time per
frame. It helps most where the GPU is the limit: base M-series Macs, and big or Retina
displays.
A shader conversion fix
d9mt converted two kinds of shader code wrongly for Metal: crs and setp instructions that
write only part of a register, and several inputs or outputs packed into one register. Shaders
like that are now converted correctly, and wine.log names any the game uses with a
D3D9 SM3 hazard line.
Copies and fills that were missing are now drawn
Some of the Direct3D 9 calls the game uses to copy, scale and fill images (StretchRect and
ColorFill) did nothing until now. d9mt now carries them out as Direct3D 9 specifies. Some
effects may look different than before: that should be the way they were meant to look. If
something looks wrong, please tell us where.
More in Debug Logging
With Debug Logging on (the default in this build) the session report also shows the pipeline
state cache (STATECACHE: what it prewarmed, and how many pipelines the game found ready),
the copies and fills (XFER), how often a frame's passes are split (split=), and which of the
GPU savings were on.
Please test
Play as usual first: is it as smooth as 0.1.0, with less stutter from the second session on,
and does anything look different? For a closer look, d9mt-ab.sh turns each change off for the
next game start, without editing any file:
R="/Applications/SWTOR on Mac.app/Contents/Resources"
"$R/d9mt-ab.sh" gpu-old vsync-off # 0.1.0's GPU path, vsync off
"$R/d9mt-ab.sh" state-off # no pipeline state cache
"$R/d9mt-ab.sh" reset # everything back on
"$R/session-report.sh" --keep # after each session
After updating
Quit SWTOR, copy the app from the DMG over the one in Applications, open it and click Update to
0.1.1-dev.1 (Reinstall). Only d9mt's Direct3D 9 driver changes, so your shader cache is kept.
This is a development build: it isn't offered as an update, Debug Logging is on by default, and
there are no automatic update checks.
Support
SWTOR on Mac is an unofficial project, not made, endorsed or supported by Broadsword Games, EA,
Lucasfilm or Disney, and you use it at your own risk. Please send questions and bug reports to
Pharaphobia on Discord or as a GitHub issue,
never to Broadsword or SWTOR customer support.
SWTOR on Mac 0.1.0-dev.2 (development build)
SWTOR on Mac 0.1.0-dev.2 (development build)
A test build that brings SWGL on Mac's smoother mouse-look to SWTOR, to get the camera back to how smooth it was in 0.0.6, with a switch to compare it with the old way.
Raw mouse-look (new, on by default)
While you hold a mouse button to turn the camera, the game now gets every movement of the mouse
as it happens, straight from the mouse, instead of once per screen refresh and a refresh late.
The pointer stays where it is while you turn, and comes back where you clicked when you let go.
It works with the two mouse patches of SWGL on Mac's Mac driver, adapted to how SWTOR reads the
mouse.
- Settings > Mouse > Raw mouse-look turns it on and off, so you can compare the two without
reinstalling (with the launcher and the game closed). - Mouse-Look Speed (0.5× to 3×) sets how fast the camera turns. At 1× it turns as fast as
before: SWTOR on Mac measures your mouse against your pointer speed during the first second
of mouse-look and matches it. - The pointer is still hidden the way 0.1.0-dev.1 hides it, so the Metal HUD should keep saying
Direct while you hold the right mouse button.
Leftover Wine processes after the launcher quits
After the game, Broadsword's helper mac_wine could start SWTOR on Mac's Wine again just after
it had been ended, which left a winedevice.exe behind. SWTOR on Mac now waits for that helper,
ends the Wine session again for up to 30 seconds whenever it comes back, and then ends what is
left. It never touches Broadsword's own programs. hold.log now has a line for every Wine start
that isn't the game.
More in Debug Logging
With Debug Logging on (the default in this build), wine.log gets new lines once a second, and
the session report sums them up:
PACE(d9mt92ce8d3): how evenly the game calls Present, and how its thread's time per frame
splits into d9mt's Direct3D calls and the game's own work, with its CPU time. This is for busy
places like the Imperial Fleet: is the judder uneven CPU time per frame, and how much of it is
d9mt's?THREADCPU: the CPU time of the game's busiest threads and of Wine's server.RAWMOUSE: raw mouse-look's numbers while you turn.
The graphics driver is otherwise the same as in 0.0.6 and its shader cache is kept.
Please test
Play a while with Raw mouse-look on, then quit, turn it off in Settings > Mouse, and play the
same way again. Watch whether turning the camera is as smooth as on 0.0.6, and whether the Metal
HUD stays Direct while you hold the right mouse button, with the setting on and off. Keep each
session's log and compare them:
R="/Applications/SWTOR on Mac.app/Contents/Resources"
"$R/session-report.sh" --keep # after each session
"$R/session-report.sh" --compare A.log B.log
After updating
Quit SWTOR, copy the app from the DMG over the one in Applications, open it and click Update to
0.1.0-dev.2 (Reinstall). This is a development build: it isn't offered as an update, Debug
Logging is on by default, and there are no automatic update checks.
Support
SWTOR on Mac is an unofficial project, not made, endorsed or supported by Broadsword Games, EA,
Lucasfilm or Disney, and you use it at your own risk. Please send questions and bug reports to
Pharaphobia on Discord or as a GitHub issue,
never to Broadsword or SWTOR customer support.
SWTOR on Mac 0.1.0-dev.1 (development build)
SWTOR on Mac 0.1.0-dev.1 (development build)
A test build of the next version, for testing before a release. It is not offered as an
update; install it by hand. The next public version (0.1.0) is offered over it as usual.
What's new:
- A new Wine engine: CrossOver 26.3 with Wine 11, the same engine SWGL on Mac uses
(athei's build of CodeWeavers' CrossOver 26.3). It replaces CrossOver 24.0.7 (Wine 9). There
is no choice between engines: this version uses only the new one. The graphics driver is the
same as in 0.0.6 (d9mt68c7190), and its shader cache is kept. - Game keys by keyboard position (Settings > Keyboard) works as before, with a new build of
the Mac driver for the new engine. - Game Mode, Retina, vsync, the video memory profiles, Debug Logging and the session report
work as before. The session report and Collect Logs… now name the Wine engine a session
ran on.
Updating from 0.0.6:
- After copying the app, open SWTOR on Mac and click Update to 0.1.0-dev.1 (Reinstall) with
the launcher and the game closed. It downloads the new engine once (about 235 MB) and updates
your existing Wine prefix for it, which takes under a minute. Your game settings, key
bindings and SWTOR on Mac's settings stay. - Until you do, the game keeps running on the old engine, and Settings asks for the update
first. - If the update fails, everything is put back as it was. The old engine is removed only once
the update has gone through. - Going back to 0.0.6 works: copy 0.0.6 over this app, open it and click Reinstall.
Please report problems: turn on Settings > Troubleshooting > Debug Logging (on by default
in this build), play, quit, then use SWTOR on Mac > Collect Logs… and send the zip. It
includes the session report. To compare a session with one on 0.0.6:
R="/Applications/SWTOR on Mac.app/Contents/Resources"
"$R/session-report.sh" --keep # the last session, and keep a copy of its log
"$R/session-report.sh" --compare A.log B.log
Development build:
- A Development build badge in the window and in About.
- Debug Logging is on by default. It costs a little performance; turn it off in Settings if
you like. - No automatic update checks. Check for Updates… works.
To install: quit SWTOR, copy the app from the DMG over the one in Applications, open it, and
click Update to 0.1.0-dev.1 (Reinstall).
Support
SWTOR on Mac is an unofficial project, not made, endorsed or supported by Broadsword Games, EA,
Lucasfilm or Disney, and you use it at your own risk. Please send questions and bug reports to
Pharaphobia on Discord or as a GitHub issue,
never to Broadsword or SWTOR customer support.
SWTOR on Mac 0.0.6
SWTOR on Mac 0.0.6
Less GPU memory traffic, a new Settings window, and better logs for bug reports.
- Less GPU memory traffic (d9mt
68c7190). The graphics driver no longer reads and writes
every render target in full for every part of a frame when it doesn't have to. That saves
roughly 0.6 to 1 GB of memory traffic per frame in busy scenes. It helps most on M1, M2 and
M3 Macs with high shadow quality or anti-aliasing. The game looks exactly the same. - A new Settings window. A sidebar lists the sections (Graphics, Game, Keyboard, Play
Button, Updates, Troubleshooting), as in System Settings. The window fits on any screen, can
be resized, and opens on the section you used last. Every setting is still there. - Better logs for stutter reports. With Settings > Troubleshooting > Debug Logging on,
the log now records frame times, slow frames and shader compiles once a second, and
Collect Logs… adds a short summary of your last game session. Leave Debug Logging off
unless you're reporting a problem: it costs a little performance.
After updating, open SWTOR on Mac and click Update to 0.0.6 in the window (with the game
closed), as after every update, so the game uses the new graphics driver.
The compiled-shader cache is kept, so there should be no extra stutter after the update. If
the first few minutes in a new area do stutter, the cache is being rebuilt; that settles by
itself.
Support
SWTOR on Mac is an unofficial project, not made, endorsed or supported by Broadsword Games, EA,
Lucasfilm or Disney, and you use it at your own risk. Please send questions and bug reports to
Pharaphobia on Discord or as a GitHub issue,
never to Broadsword or SWTOR customer support.
SWTOR on Mac 0.0.6-dev.4 (development build)
SWTOR on Mac 0.0.6-dev.4 (development build)
A test build of the next version, for measuring before a release. It is not offered as an
update; install it by hand. The next public version (0.0.6) is offered over it as usual.
What's new since 0.0.6-dev.3:
- A new Settings window. It no longer outgrows the screen: a sidebar on the left lists the
sections (Graphics, Game, Keyboard, Play Button, Updates, Troubleshooting), and the selected
section's settings are shown next to it, as in Finder or System Settings. The window opens at
760 × 520 points, can be resized, and opens on the section you used last. Use ↑ and ↓ in the
sidebar to switch sections. Every setting is still there, with the same explanations.
Changes take effect the next time the game starts now appears once, in small text, under
the sections whose settings the game reads (Graphics, Game, Keyboard, Troubleshooting).
The rest is as in 0.0.6-dev.3: the same d9mt (9d23889), and the shader cache stays warm (the
winemetal bridge is the same as in 0.0.5).
Development build:
-
A Development build badge in the window and in About.
-
Debug Logging is on by default. It costs a little performance; turn it off in Settings if
you like. -
No automatic update checks. Check for Updates… works.
-
session-report.sh(in the app's Resources, also in Collect Logs) sums up a session and
compares two:R="/Applications/SWTOR on Mac.app/Contents/Resources" "$R/session-report.sh" --keep # the last session, and keep a copy of its log "$R/session-report.sh" --compare A.log B.log
To install: quit SWTOR, copy the app from the DMG over the one in Applications, open it, and
click Update to 0.0.6-dev.4 (Reinstall).
Support
SWTOR on Mac is an unofficial project, not made, endorsed or supported by Broadsword Games, EA,
Lucasfilm or Disney, and you use it at your own risk. Please send questions and bug reports to
Pharaphobia on Discord or as a GitHub issue,
never to Broadsword or SWTOR customer support.
SWTOR on Mac 0.0.6-dev.3 (development build)
SWTOR on Mac 0.0.6-dev.3 (development build)
A test build of the next version, for measuring before a release. It is not offered as an
update; install it by hand. The next public version (0.0.6) is offered over it as usual.
What's fixed since 0.0.6-dev.2 (d9mt 9d23889, branch dev):
- SWTOR no longer hangs at a black screen at startup with Debug Logging on. dev.2's new
re-clear attribution (theRESTORElines) had d9mt record a command each time the game
locked a texture. SWTOR does that from its texture streaming threads as well, at the same
time as it renders, so two threads wrote into d9mt's command queue at once. A d9mt thread
then crashed, and the game sat at a black screen. With Debug Logging off, that code never
ran. d9mt now records nothing for those locks. A new test that streams textures from a second
thread while presenting frames, with Debug Logging's settings, hung dev.2 every time and
passes with this build.
What's new:
- With Debug Logging, the once-a-second
STATSline also hasattMs(the render thread's CPU
time in the attachment load/store optimization, ms per second),clrFoldandclrPass
(clears per frame that were folded into the next pass, or needed a pass of their own).
session-report.shsums them up. Together with the compile waits, they show whether stutter
comes from that optimization or from shaders being compiled (a cold shader cache). - To compare with the optimization off, put
no_attach_opton its own line in
~/Library/Application Support/SWTOR on Mac/prefix/drive_c/d9mt/flags.txtwhile the game
runs (Debug Logging on), and remove the line to turn it back on.
The rest is as in 0.0.6-dev.2. The shader cache stays warm: the winemetal bridge is the same
as in 0.0.5.
Development build:
-
A Development build badge in the window and in About.
-
Debug Logging is on by default. It costs a little performance; turn it off in Settings if
you like. -
No automatic update checks. Check for Updates… works.
-
session-report.sh(in the app's Resources, also in Collect Logs) sums up a session and
compares two:R="/Applications/SWTOR on Mac.app/Contents/Resources" "$R/session-report.sh" --keep # the last session, and keep a copy of its log "$R/session-report.sh" --compare A.log B.log
To install: quit SWTOR, copy the app from the DMG over the one in Applications, open it, and
click Update to 0.0.6-dev.3 (Reinstall).
Support
SWTOR on Mac is an unofficial project, not made, endorsed or supported by Broadsword Games, EA,
Lucasfilm or Disney, and you use it at your own risk. Please send questions and bug reports to
Pharaphobia on Discord or as a GitHub issue,
never to Broadsword or SWTOR customer support.
SWTOR on Mac 0.0.6-dev.2 (development build)
SWTOR on Mac 0.0.6-dev.2 (development build)
A test build of the next version, for measuring before a release. It is not offered as an
update; install it by hand. The next public version (0.0.6) is offered over it as usual.
What's new since 0.0.6-dev.1 (d9mt c045221, branch dev):
- Fewer attachment re-clears. 0.0.6-dev.1 re-cleared about 2 render targets per frame
whose clear it had skipped storing, because something read them later. The likely cause is
SWTOR's 2048×2048 shadow atlas: its stencil is cleared but never drawn, and sampling the atlas
as a shadow map re-cleared it, depth included. Sampling now reads only depth, and a target
that is read after its clear every frame keeps its store instead of a re-clear each frame.
Visuals stay the same. RESTORElines with Debug Logging: in each second with re-clears, which images (format,
size), why and from which Direct3D call.session-report.shsums them up by cause.- Live d9mt flags. With Debug Logging on, d9mt reads
~/Library/Application Support/SWTOR on Mac/prefix/drive_c/d9mt/flags.txtonce a second
while the game runs.no_attach_optturns the load/store optimization off and on live,
att_tracelogs its decisions (the file lists the flags).
Development build:
-
A Development build badge in the window and in About.
-
Debug Logging is on by default. It costs a little performance; turn it off in Settings if
you like. -
No automatic update checks. Check for Updates… works.
-
session-report.sh(in the app's Resources, also in Collect Logs) sums up a session and
compares two:R="/Applications/SWTOR on Mac.app/Contents/Resources" "$R/session-report.sh" --keep # the last session, and keep a copy of its log "$R/session-report.sh" --compare A.log B.log
To install: quit SWTOR, copy the app from the DMG over the one in Applications, open it, and
click Update to 0.0.6-dev.2 (Reinstall).
Support
SWTOR on Mac is an unofficial project, not made, endorsed or supported by Broadsword Games, EA,
Lucasfilm or Disney, and you use it at your own risk. Please send questions and bug reports to
Pharaphobia on Discord or as a GitHub issue,
never to Broadsword or SWTOR customer support.
SWTOR on Mac 0.0.6-dev.1 (development build)
SWTOR on Mac 0.0.6-dev.1 (development build)
A test build of the next version, for measuring before a release. It is not offered as an
update; install it by hand. The next public version (0.0.6) is offered over it as usual.
What's new (d9mt 7975e2e, branch dev):
- Less memory traffic per frame. d9mt picks each render pass's load and store actions from
what the pass does. It no longer loads and stores attachments whose contents are a known
clear and that nothing writes, such as the 2048×2048 color target SWTOR's shadow passes bind
with color writes off (about 32 MB per shadow pass). Clear-only passes go away. MSAA resolves
are done by the rendering pass itself. Anything that is drawn into is still kept. Expected
effect: lower GPU load and power, fewer render passes. Visuals stay the same. - Optional pipeline wait budget (off):
d9mt.pipelineWaitBudgetMscaps how long a frame
waits for shaders still compiling. STATSline once a second with Debug Logging: fps, frame times, slow frames, render
passes, the attachment traffic saved, compile waits, memory.
Development build:
-
A Development build badge in the window and in About.
-
Debug Logging is on by default. It costs a little performance; turn it off in Settings if
you like. -
No automatic update checks. Check for Updates… works.
-
session-report.sh(in the app's Resources, also in Collect Logs) sums up a session and
compares two:R="/Applications/SWTOR on Mac.app/Contents/Resources" "$R/session-report.sh" --keep # the last session, and keep a copy of its log "$R/session-report.sh" --compare A.log B.log
To install: quit SWTOR, copy the app from the DMG over the one in Applications, open it, and
click Update to 0.0.6-dev.1 (Reinstall).
Support
SWTOR on Mac is an unofficial project, not made, endorsed or supported by Broadsword Games, EA,
Lucasfilm or Disney, and you use it at your own risk. Please send questions and bug reports to
Pharaphobia on Discord or as a GitHub issue,
never to Broadsword or SWTOR customer support.
SWTOR on Mac 0.0.5
SWTOR on Mac 0.0.5
More video memory for the game on 8, 16 and 24 GB Macs.
- The game gets more video memory on 8/16/24 GB Macs: 2/3/4 GB instead of 1/2/3 GB (d9mt
c2a819d). Textures should stay sharp in busy places such as fleet and crowded planets. Macs
with more memory already got 4 GB, as the official Mac app gives. - Settings > Video Memory Profile says what each setting gives the game. Raise it if your
Mac has memory to spare; lower it if macOS runs short of memory. - The compiled-shader cache is kept: no extra stutter after the update.
Click Reinstall to update in the window, as after every update, so the game uses the new
d9mt.
Support
SWTOR on Mac is an unofficial project, not made, endorsed or supported by Broadsword Games, EA,
Lucasfilm or Disney, and you use it at your own risk. Please send questions and bug reports to
Pharaphobia on Discord or as a GitHub issue,
never to Broadsword or SWTOR customer support.
SWTOR on Mac 0.0.4
SWTOR on Mac 0.0.4
Key binds for non-US keyboard layouts.
- New in Settings, Keyboard > Game keys by keyboard position (off by default). On a Czech,
French or other layout whose number row doesn't type digits, the game showed key binds and
action bars as + ě š č ř ž ý á í é or & é " ' (. Turn this on and the game sees every key
by its position on a US keyboard: the number row is 1–0 in key binds and action bars. Typing
in chat still uses your layout (ě š č with Czech, dead keys and Shift included). - Settings points it out when your current layout's number row doesn't type 1–0.
- It changes binds on QWERTZ layouts (Czech, German) too: the key labelled Z is Y in the game,
and the other way round, because a US keyboard has Y there. - How: a build of Wine's Mac driver (
winemac.so) with a new option, from CodeWeavers'
CrossOver 24.0.7 sources and a small patch (LGPL, in the repository underpatches/). It is
used only while the setting is on; otherwise the engine keeps its own driver.
Change it with the launcher and the game closed. The setting installs the driver itself, so it
works without a Reinstall; Reinstall to update in the window, as after every update, brings
the rest of the installed setup to 0.0.4.
Support
SWTOR on Mac is an unofficial project, not made, endorsed or supported by Broadsword Games, EA,
Lucasfilm or Disney, and you use it at your own risk. Please send questions and bug reports to
Pharaphobia on Discord or as a GitHub issue,
never to Broadsword or SWTOR customer support.