# Epoch Silicon

![](Icon.png)

A user-friendly launcher for Project Epoch on Apple Silicon Macs, with one-click patching of winerosetta, rosettax87 and d9vk.

## Features

*   **Apple Silicon Compatibility:** Runs 32-bit DirectX9 World of Warcraft (v3.3.5a) on M1/M2/M3/M4 Macs without "illegal instruction" errors.
*   **Performance Optimization:** 
    *   Integrates `rosettax87` for accelerated x87 FPU instructions
    *   Uses `d9vk` for efficient DirectX9 via Vulkan/Metal translation
    *   Achieves significant FPS improvements
*   **Automated Setup:** One-click patching for both CrossOver and Epoch installations.
*   **Simple Interface:** Easy to use GUI with status indicators and configuration options.
 
## Usage

### Prerequisites

Before you begin, ensure you have the following:

* A working version of [CrossOver](https://www.codeweavers.com/crossover) installed (the trial version is sufficient and can still be used after expiration).
    - You must use CrossOver v25.0.1 or later. Older versions will cause issues.
* A 3.3.5a World of Warcraft client. You can download the client from [Project Epoch's download page](https://project-epoch.com/play)
* Place the client in an folder you have rights to. Your user directory (example: `/Users/username/Epoch`) is a good default choice. Avoid spaces in your path!

### Installation

1. [Click here to download the latest release](https://git.burkey.co/eburk/EpochSilicon/releases/download/latest/EpochSilicon.dmg).
2. Double-click `EpochSilicon.dmg`.
3. Drag `EpochSilicon` into `Applications`. You may now close and eject the disk image.
4. Run `EpochSilicon` like you would any other application, using Launchpad, Shortcut, etc.

### Setup

1.  Launch `EpochSilicon`.
2.  **Set CrossOver Path**:
    *   If CrossOver is installed in the default location (`/Applications/CrossOver.app`), this path will be pre-filled.
    *   Otherwise, click "Set/Change" and navigate to your `CrossOver.app` bundle.
3.  **Set Warcraft Directory Path**:
    *   Click "Set/Change" and select the folder where you have your WoW 3.3.5a client files.
4.  **Apply Patches**:
    *   Click "Patch Epoch".
    *   Click "Patch CrossOver".
    *   Status indicators will turn green once patching is successful for each.
6.  **Start RosettaX87 Service**:
    *   Click "Start RosettaX87 Service" and enter your sudo password when prompted.
    *   This will run the RosettaX87 service in the background and is required for launching the game.
    *   The service will automatically stop when you close the launcher.
7.  **Configure Options (Optional)**:
    *   **Enable Metal Hud**: Shows FPS counter in-game.
    *   **Show Terminal**: Displays terminal output during game launch for debugging.
8.  **Launch Game**:
    *   Once both paths are set, both components are patched, and the RosettaX87 service is running, the "Launch Game" button will become active. Click it.
9.  **Enjoy**: Experience a VM free, smoother Project Epoch on your Apple Silicon Mac!

## Troubleshooting / FAQ

**The Patch Epoch step is taking forever**

The initial patch download is quite large and can take a while if your internet is slow. The app will tell you when it's done.

**My resolution is super blown up and I can't see the whole screen**

Wine does that on first launch if you have a large widescreen monitor.
1. Hit Escape to close the game 
2. Open your `Config.wtf` file in a text editor, it is located in your wow game directory at `/WTF/Config.wtf`
3. Add your desired resolution. I have a 3440x1440 monitor so I added the following to my `Config.WTF`
```
SET gxResolution "3440x1440"
```

**When I change graphics settings, all the buttons have big white boxes around them**

This is another common wine issue, just close the game normally and it should be fixed on next startup

## Running from Source Code

If you prefer to run the application directly from source code:

1.  **Clone the repository**:
    ```sh
    git clone https://git.burkey.co/eburk/EpochSilicon
    ```

2.  **Navigate to the directory**:
    ```sh
    cd EpochSilicon
    ```

3.  **Run the application**:
    ```sh
    go run main.go
    ```
    
    Note: This method requires Go and Fyne to be installed on your system.

4.  **Use the application** as described in Method 1 (steps 2-6).

## Recommended settings

TBD

## Bundled Binaries

The `rosettax87` and `winerosetta` components included in this application are precompiled for convenience. If you prefer, you can compile them yourself by following the instructions provided by Lifeisawful on the official repositories: 
[https://github.com/Lifeisawful/winerosetta](https://github.com/Lifeisawful/winerosetta)
[https://github.com/Lifeisawful/rosettax87](https://github.com/Lifeisawful/rosettax87)

## License

This project is licensed under the MIT License.

## Credits

All credit for the core translation layer `winerosetta` and `rosettax87` goes to [**@Lifeisawful**](https://github.com/Lifeisawful). This application is merely a Fyne-based GUI wrapper to simplify the patching and launching process.

[https://github.com/Lifeisawful/winerosetta](https://github.com/Lifeisawful/winerosetta)

[https://github.com/Lifeisawful/rosettax87](https://github.com/Lifeisawful/rosettax87)

EpochSilicon is a fork of [https://turtlesilicon.github.io/](TurtleSilicon), credit for the base of the application goes to tairasu.

