Skip to content

Releases: jdrly/swtor-on-mac

SWTOR on Mac 0.1.1-dev.1 (development build)

Choose a tag to compare

@jdrly jdrly released this 18 Oct 05:50

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)

Choose a tag to compare

@jdrly jdrly released this 17 Oct 17:49

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 (d9mt 92ce8d3): 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)

Choose a tag to compare

@jdrly jdrly released this 17 Oct 12:56

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 (d9mt 68c7190), 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

Choose a tag to compare

@jdrly jdrly released this 17 Oct 12:05

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)

Choose a tag to compare

@jdrly jdrly released this 17 Oct 10:44

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)

Choose a tag to compare

@jdrly jdrly released this 17 Oct 10:37

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 (the RESTORE lines) 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 STATS line also has attMs (the render thread's CPU
    time in the attachment load/store optimization, ms per second), clrFold and clrPass
    (clears per frame that were folded into the next pass, or needed a pass of their own).
    session-report.sh sums 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_opt on its own line in
    ~/Library/Application Support/SWTOR on Mac/prefix/drive_c/d9mt/flags.txt while 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)

Choose a tag to compare

@jdrly jdrly released this 17 Oct 01:07

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.
  • RESTORE lines with Debug Logging: in each second with re-clears, which images (format,
    size), why and from which Direct3D call. session-report.sh sums them up by cause.
  • Live d9mt flags. With Debug Logging on, d9mt reads
    ~/Library/Application Support/SWTOR on Mac/prefix/drive_c/d9mt/flags.txt once a second
    while the game runs. no_attach_opt turns the load/store optimization off and on live,
    att_trace logs 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)

Choose a tag to compare

@jdrly jdrly released this 16 Oct 23:58

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.pipelineWaitBudgetMs caps how long a frame
    waits for shaders still compiling.
  • STATS line 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

Choose a tag to compare

@jdrly jdrly released this 16 Oct 22:47

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

Choose a tag to compare

@jdrly jdrly released this 16 Oct 20:49

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 under patches/). 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.