Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lacymorrow/crossover

🎯 A Crosshair Overlay for any screen.
https://github.com/lacymorrow/crossover

center crosshair crosshair-overlay crossover dot electron fortnite game-overlay games linux macos marks opacity overlay sight windows

Last synced: 6 days ago
JSON representation

🎯 A Crosshair Overlay for any screen.

Awesome Lists containing this project

README

        



# CrossOver [](https://www.patreon.com/bePatron?u=55065733) [](https://www.buymeacoffee.com/lm)

> 🎯 Adjustable Crosshair Overlay for any screen

![Latest releases](https://img.shields.io/github/downloads/lacymorrow/crossover/latest/total?label=CrossOver%40latest) [![Snapcraft](https://snapcraft.io/crossover/badge.svg)](https://snapcraft.io/crossover) [![Trending](https://snapcraft.io/crossover/trending.svg?name=0)](https://snapcraft.io/crossover) [![Maintainability](https://api.codeclimate.com/v1/badges/2f447345bdeff3565392/maintainability)](https://codeclimate.com/github/lacymorrow/crossover/maintainability) [![CircleCI](https://circleci.com/gh/lacymorrow/crossover/tree/release.svg?style=shield)](https://circleci.com/gh/lacymorrow/crossover/) [![Appveyor](https://ci.appveyor.com/api/projects/status/qtxvaliwymvhxiwx/branch/release?svg=true)](https://ci.appveyor.com/project/lacymorrow/crossover/)


GitHub stars   GitHub forks   GitHub watchers

#### Get it on the Windows App Store and Linux Snap Store



Download CrossOver for Windows


Download CrossOver for Windows

### [Download CrossOver for Windows](https://github.com/lacymorrow/crossover/releases/latest/download/CrossOver.exe)

##### [All Downloads (Mac, Linux, Windows)](https://github.com/lacymorrow/crossover/releases/latest/)

##### To Use CrossOver: Control-Alt-Shift-X
###### Mac: Control-Option-Shift-X

CrossOver allows you to place a customizable crosshair overlay above any application window.
Improve your aim and gain a competitive advantage with a permanent colored crosshair to mark center screen.



# Documentation

- [Download](#download)
- [Quick Start](#quick-start)
- [Features](#features)
- [Install](#install)
- [Usage](#usage)
- [Settings](#settings)
- [What works/doesn't work (compatability)](#what-worksdoesnt-work-compatability)
- [Development](#development)
- [Bugs](#bugs)
- [Debugging](#debugging)
- [Credits](#credits)
- [Support this project](#support-this-project)

# Download

### [View All Downloads (for any OS)](https://github.com/lacymorrow/crossover/releases/latest)

### Windows

Download `CrossOver.exe` to install CrossOver to your system and receive automatic updates.

If you just want to try out CrossOver, or don't like installing things, we offer a portable `exe` as well.

### Mac

Download the `dmg` or `zip` file for your architecture:

- Intel (`x64`)
- M1 (`arm64`)

### Linux

We offer the following formats:
- `AppImage`
- `apk`
- `deb`
- `freebsd`
- `rpm`
- `snap`

Or download from the Snap Store

[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/crossover)

# Quick Start

- Choose a crosshair from over 50 included or drop a custom image
- Click and drag the crosshair to move Crossover around
- Double-click the bullseye ◎ to center
- Use Control-Alt-Shift and arrow keys for fine-tuning
- Control-Alt-Shift-X to lock in place
- Control-Alt-Shift-R to reset app settings

[See usage…](#usage)










# Features

- Not bannable * [[79]](https://github.com/lacymorrow/crossover/issues/79)
- Fast and lightweight
- Choose from tons of true-to-life sights
- Cross-platform: Windows, MacOS, and Linux support
- Support for multiple monitors
- Choose between center **Dot** or **Crosshair**
- Create duplicate crosshairs to mark more than one spot
- Customize crosshair size, color, and opacity
- Customize SVG properties
- Light/Dark mode and custom app colors
- Persistent settings remember your choices automatically
- Automatically updates in the background to keep your features fresh _(Mac and Windows only)_

* Escape from Tarkov will not work with CrossOver ([#47](https://github.com/lacymorrow/crossover/issues/47#issuecomment-987762466))

### [Download CrossOver for Windows](https://github.com/lacymorrow/crossover/releases/latest/download/CrossOver.exe)

##### [View all dowloads for any OS](https://github.com/lacymorrow/crossover/releases/latest)



Other crosshair programs offer a single style or color option, and often don't allow you to reposition them. CrossOver is a small, unintrusive crosshair overlay which has plenty of configuration options to assist with aiming and vision of your crosshair. CrossOver offers a huge improvement to many games' default crosshairs for those with colorblindness or contrast issues.

###### _Thanks to Reddit user /u/IrisFlame for the premade library of crosshairs!_

---

# Install

_macOS 10.10+, Linux, and Windows 7+ are supported._

#### Download the latest version of CrossOver from the [releases page](https://github.com/lacymorrow/crossover/releases/latest)

##### _Because this app is Free and Open-Source, we cannot afford to sign our code. This means Chrome may warn about an untrusted download, this is normal. Click the arrow icon -> `Keep` to finish downloading. Windows Defender and Mac Gatekeeper will prevent you from running the app the first time._

##### Windows

[**Download**](https://github.com/lacymorrow/crossover/releases/latest/download/CrossOver.exe) the `.exe` file. _**(CrossOver-Setup-x.x.x.exe)**_

> Windows protected your PC.

- Click `More Info`
- Click `Run Anyway`

##### Mac

[**Download**](https://github.com/lacymorrow/crossover/releases/latest) the `.dmg` file. _**(CrossOver-x.x.x.dmg)**_

> "CrossOver" cannot be opened because the developer cannot be verified.

- Locate the `CrossOver` app
- Hold Control while you click the app icon, then choose Open from the shortcut menu

> "CrossOver is damaged and can't be opened..."

M1 Mac security fix: (_thanks [Yoyopizzacat, #207](https://github.com/lacymorrow/crossover/issues/207#issuecomment-1212708790)_)

- Make sure CrossOver is in your `/Applications` folder
- Open your terminal and type `sudo xattr -r -d com.apple.quarantine /Applications/CrossOver.app`
- Type in your password and now you can use CrossOver!

##### Linux

[**Download**](https://github.com/lacymorrow/crossover/releases/latest) the file appropriate to your system. (`.AppImage`, `.apk`, `.deb`, `.freebsd`, `.pacman`, `.rpm`, `.snap`)

_The AppImage needs to be [made executable](http://discourse.appimage.org/t/how-to-make-an-appimage-executable/80) after download._

_Certain lightweight desktop environments may require a compositor to allow CrossOver to work correctly ([#230](https://github.com/lacymorrow/crossover/issues/230))._

###### _Further instructions for [Windows](https://www.techjunkie.com/windows-protected-your-pc-disable-smartscreen/) and [Mac](https://support.apple.com/en-us/HT202491)_



---

# Usage

> ❌ marks the spot…

**Position:** Click and drag the crosshair to anywhere on any screen. Double-click the bullseye to center the app.

**Choose Crosshair:** Click the bullseye ◎ to select from tons of preloaded crosshairs. Drag an image to the window to use your own custom crosshair.

**Customize** settings using the "gear" icon. _See [Settings](#settings) below._

**Unlock the app to quit** using Control-Alt-Shift-X, then click the close icon in the top-left corner. In Windows you can right-click on the crosshair window > `Close`.

#### Default Keyboard Shortcuts

| Description | Keys |
| ---------------------------------------------------------- | -------------------------------------------------------------------- |
| Toggle the settings window and lock the crosshair in place | Control-Alt-Shift-X |
| Move the crosshair a single pixel | Control-Alt-Shift-Arrows |
| Quickly hide/show the application | Control-Alt-Shift-H |
| Center the crosshair window | Control-Alt-Shift-C |
| Move the crosshair to the next connected display | Control-Alt-Shift-M |
| Duplicate your crosshair in a shadow window | Control-Alt-Shift-D |
| Display the "About" window details | Control-Alt-Shift-A |
| Reset all settings and center the window | Control-Alt-Shift-R |

###### Mac: the Option key is used instead of Alt.

###### Linux: Some distributions do not center on double-click.



---

## Settings

##### Crosshair

Choose from over 100 real and fictional crosshairs, or use your own by dragging an image to the window. You can change the size and opacity.

##### Reticle

The reticle is the small dot or cross at the center of the sight. You can select the shape and the color, or this can be turned off.

##### Hide on ADS

Choose a mouse button to use as your ADS button. The crosshair will be hidden while this button is held down.

##### Harware acceleration

A handful of users have reported FPS issues with certain games ([#70](https://github.com/lacymorrow/crossover/issues/70)), CrossOver should not add any FPS or latency so if you experience it, toggle this setting on or off and disable [`Hide on ADS`](#hide-on-ads)

##### Start on boot

You can automatically set CrossOver to start when your system starts on your gaming PC, so you're always ready to pop heads.

##### Automatic Updates

By default CrossOver will automatically keep itself updated with bug fixes and improvements. You can disable this in the settings to prevent all network requests.
CrossOver will _only_ connect to GitHub to download published releases and does not send or store _any_ personal data. I'm a solo developer and you aren't important to me 🙂 I just want to game.

#### Keybinds

> See [default keyboard shortcuts](#default-keyboard-shortcuts).
> All of the keybinds can be changed or disabled except for the bind to reset all settings. Click into the input and press your bind, or press Backspace or Delete to disable a bind.

Keep in mind that keybinds may conflict with other programs so be careful about what you choose. There's no real mechanism for preventing you from setting two conflicting keyinds within the app, so don't do that.

##### Duplicate crosshairs

Duplicate crosshair windows use the same settings as the main window and do not support all of the features of the main window. Settings for duplicate crosshairs will not be saved and all duplicate windows will be closed if the main window is closed. Duplicate crosshairs cannot follow the mouse.

##### Reset

To reset all settings and binds to default, press Control-Alt-Shift-R










---

## [What works/doesn't work (compatability)](https://github.com/lacymorrow/crossover/issues/47)

###### ❌ Most games don't work in Fullscreen mode on Windows or Linux

| Works | Game | Notes |
| ----- | --------------------------------- | ---------------------------------------------------------------------------------- |
| ✅ | Among Us | |
| ✅ | Apex Legends | Runs in `Windowed` mode |
| ✅ | Call of Duty Black Ops Cold War | Runs in `Windowed`, `Windowed Fullscreen`, `Multi-Monitor` modes |
| ✅ | Call of Duty: Warzone | Runs in `Windowed` mode |
| ✅ | Counter-Strike (1.6) | Runs in `Windowed` mode |
| ✅ | CS:GO / Counter-Strike: Global Offensive | Runs in `Windowed` mode; May work in `Windowed Fullscreen` and `Fullscreen` modes with AHK script |
| ✅ | CS 2 / Counter-Strike: 2 | Runs in `Windowed` mode; Doesn't work in `Fullscreen` modes with/without AHK script |
| ❌ | Cyberpunk 2077 | Does not work. (Vulkan) |
| ✅ | Dead by Daylight | Runs in `Windowed` and `Fullscreen` modes |
| ✅ | Deceit | Runs in `Windowed` mode |
| ✅ | Destiny 2 | Runs in `Windowed Fullscreen` mode; _Some reports of running in `Fullscreen` mode_ |
| ✅ | Empyrion: Galactic Survival | Runs in `Windowed` mode |
| ❌ | Escape from Tarkov | Users report the game will no longer start with CrossOver running ([#47](https://github.com/lacymorrow/crossover/issues/47#issuecomment-987762466)) |
| ✅ | FiveM | Runs in `Fullscreen` mode |
| ✅ | Fortnite | Runs in `Windowed Fullscreen` mode |
| ✅ | GTFO | Works in `Fullscreen window`, `Maximized window`, `Windowed mode` (Doesn't work in `Exclusive Fullscreen` window) |
| ✅ | Hunt: Showdown | Works in `Windowed mode` |
| ✅ | Killing Floor | Runs in `Windowed` mode |
| ✅ | League of Legends | Runs in `Borderless` and `Windowed` modes |
| ✅ | Left 4 Dead 2 | Runs in `Borderless` and `Windowed` modes |
| ✅ | Halo: The Master Chief Collection | Runs in `Borderless` and `Windowed` modes |
| ❌ | Metro Exodus Gold Edition | Doesn't work under any circumstances |
| ✅ | Overwatch | Runs in `Windowed Fullscreen` mode |
| ✅ | Phasmophobia | Runs in `Windowed` and `Fullscreen` modes |
| ✅ | Planetside 2 | Runs in `Windowed` and `Windowed Fullscreen` modes |
| ❌ | Rainbow 6: Seige | Vulkan-based |
| ❌ | RedM | Does not work. |
| ✅ | Roblox | Runs in `Fullscreen` mode _(Windows)_ and `Windowed Fullscreen` mode _(MacOS)_ |
| ✅ | Rocket League | Runs in `Windowed` mode |
| ✅ | Rust | Runs in `Windowed Fullscreen` mode |
| ❌ | Sea of Theives | **BANNABLE** |
| ✅ | Star Wars Battlefront 2 | Runs in `Borderless` mode |
| ✅ | The Finals | Runs in `Borderless` and `Windowed` modes |
| ✅ | Tom Clancy's The Division 2 | Runs in `Windowed Fullscreen` mode |
| ✅ | Tony Hawks Pro Skater 1+2 | Such a fun game! |
| ❌ | Vulkan-based games | |
| ✅ | Valorant | Runs in `Borderless` and `Windowed` modes |

> Reported from our users, [add your resuts](https://github.com/lacymorrow/crossover/issues/47)

#### Operating Systems

| Works | OS | Notes |
| ----- | ------------------- | --------------------------------------------------------------------------------------------------------- |
| ✅ | MacOS arm64 _(M1, M2)_ | You may need to run a command to un-quarantine the download, see below |
| ✅ | MacOS x64 _(Intel)_ | Tested on Catalina 10.15.1 |
| ✅ | Windows 11 |
| ✅ | Windows 10 ia32 |
| ✅ | Windows 10 x64 | Custom cursors do not show in draggable taskbar area |
| ✅ | Windows 8 | |
| ❓ | Windows 7 | Does not work in Windows 7 Home; Works in Windows 7 Pro [#63](https://github.com/lacymorrow/crossover/issues/63)|
| ❓ | Arch | Tested in v2021.01.01 |
| ✅ | Elementary OS | Tested in v5.1 |
| ✅ | Fedora | Tested in v33 (Shortcut conflicts with desktop switching) |
| ✅ | Mint | Tested in v20.1 |
| ✅ | Ubuntu | Tested in v20.04.1 |

###### Newer MacOS' may quarantine the `CrossOver.app` package. To un-quarantine:

- Move `CrossOver.app` to your `Applications` folder
- Open terminal and type: sudo xattr -r -d com.apple.quarantine /Applications/CrossOver.app

> via [@Yoyopizzacat](https://github.com/lacymorrow/crossover/issues/207#issuecomment-1212708790)

---

# Development

Built with [Electron](https://electronjs.org). Simple HTML and Javascript, no framework.

Start developing in `src/main.js` and `src/renderer.js`. `index.html` contains the layout and `index.scss` contains the styles for the main app [`BrowserWindow`]()

### Run

##### _You will need [node.js](https://nodejs.org/) v14.x.x installed. If you have `nvm` installed, run `nvm install && nvm use` to switch to the correct node version._

```
$ yarn && yarn start
```

### Build

> Build steps optimized for Mac, see [electron.builder](http://electron.builder) for help customizing builds.

_wine_ and _mono_ must be installed for Windows builds _(macOS)_
[_multipass_](https://multipass.run/) must be installed for Snap builds _(macOS)_

```
$ yarn build
```

> Or `yarn build:all`

#### Build issues

**Test CI builds on Mac and PC before releasing**

```
'CrossOver' is damaged and can't be opened.
```

CI builds do not seem to work correctly for Mac. Try using a real Mac to build.

**Test closing via the traffic lights on Mac**

Calling `process.exit()` before the app is done "quitting" will cause the app to crash on Mac.

```
i386 architecture deprecated in MacOS
```

Newer versions of OSX cannot build for 32-bit apps, use CircleCI to build those.

```
gyp: name 'openssl_fips' is not defined while evaluating condition 'openssl_fips != ""' in binding.gyp while trying to load binding.gyp
```

See https://stackoverflow.com/questions/69882740/how-to-rebuild-epoll-package-in-electron.

Using Node@16 worked.

```
/Users/lacymorrow/repo/crossover/node_modules/app-builder-bin/mac/app-builder_arm64 process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
Exit code:
1 failedTask=build stackTrace=Error: /Users/lacymorrow/repo/crossover/node_modules/app-builder-bin/mac/app-builder_arm64 process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
```

To build rpm, executable rpmbuild is required, please install: `brew install rpm`

#### Continuous Integration (CI)

We use [GitHub Actions](https://github.com/lacymorrow/crossover/actions), [CircleCI](https://circleci.com/gh/lacymorrow/crossover) and [Appveyor](https://ci.appveyor.com/project/lacymorrow/crossover) to build and test CrossOver on every commit. Circle and GitHub build for all targets, Appveyor builds for Windows.

CircleCI builds are published to the [Snap Store](https://snapcraft.io/crossover) and GitHub Releases while Appveyor builds are published to the [Windows App Store](https://apps.microsoft.com/detail/9MTD5ZLN7NL1).

CircleCI needs the following environment variables:

- `GH_TOKEN` aka a Personal Access Token

**[As of v7](https://snapcraft.io/docs/snapcraft-authentication), use the `SNAPCRAFT_STORE_CREDENTIALS` environment variable instead of the following**

- ~~`SNAP_TOKEN` aka a Snapcraft API token, generated with **snapcraft v6 (NOT v7+)** using `snapcraft login` and `snapcraft export-login token.txt`~~

To install `snapcraft` on a Mac:

- You'll need Multipass: `brew install multipass --cask`

- Then install snapcraft: `brew install snapcraft`

### Publish

```
$ yarn release
```

Then edit the automatically created GitHub Releases draft and publish.

## Bugs

### [Hidden by fullscreen apps](https://github.com/lacymorrow/crossover/issues/1)

**Currently CrossOver only works with windowed applications**, use `Windowed Fullscreen` mode if your game or application supports it. (_Windows_)

Fullscreen for MacOS may have better results.

##### Workaround using AutoHotKey (Windows)

> via [@girkovarpa](https://github.com/lacymorrow/crossover/issues/47#issuecomment-805017469)

If you absolutely need to use `Fullscreen` mode, or your game is not supported by crossover, there is a workaround using [AutoHotKey](https://www.autohotkey.com/).

_Doesn't work with some games [#47](https://github.com/lacymorrow/crossover/issues/47#issuecomment-895995990), and causes FPS issues in other cases_

Install AutoHotKey and run this script with it (save it as `script.ahk` and double-click it):

```autohotkey
Home::Winset, Alwaysontop, , CrossOver
```

Once in-game, pressing space should put the crosshair over the screen, even in fullscreen mode.

### Performance Issues

There are reports of stuttering when using V-SYNC, G-SYNC, or similar Adaptive Sync ([#330](https://github.com/lacymorrow/crossover/issues/330)). Disabling these may improve performance. s

### Graphical issues on Linux

Check your desktop environment. CrossOver may not work on KDE, try GNOME if you experience issues.

CrossOver behaves weirdly if your desktop is missing a compositor ([#230](https://github.com/lacymorrow/crossover/issues/230)). Try installing one to see if that resolves the issue.

### Hidden by fullscreen apps on Linux

Some compositors, such as KDE Plasma's KWin, can't keep a window (CrossOver) over a full-screen window, so in such cases another compositor needs to be run that has this option.

GNOME's Mutter is one of those compositors that can do this.

In Lutris, for example, this can be automated with shell scripts that will run when the game is launched and quit.

Lutris->Right click on game's banner->Configure->System options:

`Pre-launch script`: /path/to/x.sh

```shell
#!/bin/bash
mutter --replace # or: gnome-shell --replace
```

`Post-launch script`: /path/to/x.sh

```shell
#!/bin/bash
kwin_x11 --replace
plasmashell --replace
```

## Debugging

You can run CrossOver from the command line to see debug output. Open a terminal and navigate to the CrossOver app, run `./CrossOver` to see output:

> (Mac, Linux)
```sh
╭─ lacymorrow in /Applications/CrossOver.app/Contents/MacOS using
╰─○ $ ./CrossOver --debug
09:45:16.023 › CrossOver 2.7.4 Development
09:45:16.030 › Setting: Enable GPU
09:45:16.487 › App ready
```

### Command-line lags

#### `--debug`

_alias_ `-d`

Start CrossOver in debug mode, with Chrome DevTools open.

#### `--reset`

_alias_ `-r`

Reset all app preferences to default, in case you get into a broken state.

#### `--version`

_alias_ `-v`

Print the app version to `stdout` (Good for CI).

# Credits

An extra big thanks to the crosshair providers, as this wouldn't be possible without them:

- Reddit user [/u/IrisFlame](https://www.reddit.com/user/irisflame/)

- [Kenney.nl Crosshair Pack](https://kenney.nl/assets/crosshair-pack) (_donate to him, not me_)

> Gaming, Crosshair, Crossover App

See CrossOver in the [Electron Apps library](https://www.electronjs.org/apps/crossover)

Created by [Lacy Morrow](http://lacymorrow.com)

# Support this project

> **TL,DR: If you enjoy this project, and are financially able, why not donate $3?**

### This project is entirely developed, built, and maintained by one person. I've put hundreds of hours into this and I love being able to give it away for free.

Problem is, downloads don't pay the bills.
If you would like to see specific features or improvements added to CrossOver, consider donating on [OpenCollective](https://opencollective.com/crossover)

## If you like this software and want to see it improved more often, consider supporting me on [Patreon](https://patreon.com/lacymorrow) or through another channel:

### Tip Crypto

- **BTC:** `3Bdu2sTAmXyZzqeRQxCt6P22zHtTLg4mQE`
- **ETH:** `0x5be1074a5148F8D723dE1F2Dd326e1B15c82553D`

          Buy Me A Coffee