Windows game on a Mac
How to play Counter-Strike 2 on a Mac
102 to 147 fps on Dust II. FACEIT will not work, and we say so up front.
Records: 11–30 September 2026 · updated 5 October 2026 · MacBook Pro 14″ (Mac15,6), M3 Pro, 14-core GPU, 18 GB
Yes. CS2 has no Mac version — by our record of 12 September 2026 Steam listed Windows and Linux — but on an Apple Silicon Mac (M1 or newer) its Windows build runs through a compatibility-layer app, and the game can also be streamed from the cloud or from your own PC. With Uncork, our free app (only Uncork Pro is paid), we measured from 102 to 147 frames per second on a MacBook Pro 14″ with an M3 Pro (30 September 2026, four runs on Dust II). By our inference FACEIT will not work under Uncork, and Valve gives no guarantees for VAC. The ways to play are in the table below, in short; prices and limits of each are on the page “How to play Windows games on an Apple Silicon Mac: every method”.
In short
- Frame rate: from 102 to 147 per second — our measurement of 30 September 2026: four runs on Dust II, MacBook Pro 14″ with an M3 Pro. The other records are in the table below.
- Mac version: none — by our record of 12 September 2026 (Steam listed Windows and Linux for CS2, 85 GB). Uncork runs the Windows build from your Steam.
- Mouse: in our measurement of 25 September 2026 (a 1000 Hz mouse, one 20-second recording, outside a game) 843 movements a second reached an ordinary program as 119 batches, once per display frame: the movements are merged, not lost. Uncork Pro reads the mouse from the device. On a trackpad or a 125 Hz mouse there is usually no difference.
- Does not work: FACEIT — by our inference from the FACEIT Labs documentation (1 October 2026; it says nothing about macOS); we have not run it. VAC: no guarantees.
- You need: an Apple Silicon Mac (M1 or newer), macOS 14 or later, your own Steam account with CS2, and space: CS2 takes about 74 GB here.
- Price: running CS2 in Uncork is free, with no account. Reading the mouse from the device is in Uncork Pro: €19 once, no end date, every 1.x version; there is a 7-day trial.
Every way to play CS2 on a Mac
In short, with facts as of the date we checked. We do not repeat cloud and virtual-machine prices here: they change, and they are collected with dates on the page “How to play Windows games on an Apple Silicon Mac: every method”. We have not measured the mouse in the other ways.
| Way | Where the game runs | What is known | Who it suits |
|---|---|---|---|
| Uncork, our app: launching games is free; the mouse read from the device is in Uncork Pro, €19 once (7-day trial) | on your Mac | our measurement: from 102 to 147 frames per second on an M3 Pro (30 September 2026); in Uncork Pro the mouse is read from the device if the Input Monitoring permission is granted; by our inference FACEIT will not work | anyone who wants the game on the Mac itself and cares about aim |
| Other compatibility-layer apps: the free Pixel Port, Highball and the Whisky fork; paid ones are on the Compare page | on your Mac | Pixel Port (post of 3 September 2026) and Highball (database as of 3 October 2026) mark CS2 as verified on their pages — as they describe it; we have not run their apps or compared speed | anyone for whom price matters |
| Cloud: GeForce NOW | on NVIDIA's servers; video comes to the Mac | per NVIDIA's blog of 19 October 2023, CS2 streams on the service; in the service's public game list on 3 October 2026 it is listed as available (under its former name, Counter-Strike: Global Offensive, Steam app 730); you need a fast, stable connection | anyone with a good connection who does not want to install the game on the Mac |
| Windows in a virtual machine | on your Mac, inside Windows for ARM | graphics are limited, details on the “every method” page; we have not tested CS2 in one | anyone who needs Windows itself |
| Boot Camp | on a Mac with an Intel processor | per Apple's page, Boot Camp requires a Mac with an Intel processor; Apple Silicon Macs do not have it | owners of Intel Macs |
| Streaming from your own PC | on your Windows PC; video comes to the Mac | you need your own PC with CS2; the free Moonlight and Sunshine are described on the “every method” page | anyone who already has a gaming PC |
What we recorded
Each row is a record on one machine, with its date and conditions.
| Date | What was recorded | Conditions | What came out |
|---|---|---|---|
| 30 September | Measurement: four runs | Dust II, CT spawn, fps_max 0 in the autoexec, borderless window 1512×982, “Even frames” off, the Uncork panel over the game on; in each run the mouse was moved in circles, the last 70 seconds counted; two runs with direct mouse input and two without it; the graphics profile of 29 September | From 102 to 147 frames per second; 147, 126, 102 and 119 in the order they ran: with direct mouse input 147 and 119, without it 126 and 102. In the third and fourth runs no more than 121 frames came out in any second, in the first and second up to 171. A fifth run broke off about 22 seconds into the measurement and is not counted |
| 29 September | Metal HUD, one run (about 7 minutes) | Uncork 0.16.3, D3DMetal, borderless window 1512×982, a match with bots on Dust II, spectator view; the Uncork panel over the game on, “Even frames” off; the fps_max value is not named in the record | Metal HUD, three readings: 81.5 / 82.6 / 91.7 frames per second; the Uncork panel: 82 frames, 69–72% even frames (the share of intervals within 1 ms of the mean). The HUD field that shows whether output goes straight to the display or through the macOS compositor: “Direct” |
| 24 September | The baseline phases of three comparisons of experimental settings, no frame cap (fps_max 0) | Dust II with bots, on mains power; the scene differs between runs | From 158 to 175 frames per second (158, 163 and 175) |
| 23 September | One run without the “Even frames” mode; frames were written by the trace of our library | de_dust2 with bots, on battery, fps_max 120; the last 60 seconds of the run; graphics settings not named in the record | 118 frames per second (the upper bound is our fps_max 120) |
| 23 September | macOS Game Mode: two CS2 launches on one day | The gamepolicyd system log; one record per launch | Two launches: in the first the mode did not switch on (the bundle was not registered), in the second “Game mode status is now on”, then “paused” after ~2.5 s; the log does not name the reason for the pause. We did not measure how long the mode holds or what it does for frame rate |
| 13 September | An observation in the game | Dust II, D3DMetal, fps_max 120 (by our record) | Roughly 100–120 frames |
| 11 September | Four VProf reports from the game's own log (table below) | Map not recorded; D3DMetal; fps_max 120 was set in the autoexec (by our record); the graphics settings for each report were not recorded | Average fps, P1 and frame P99 — in the table below |
The top 120 in the records of 11, 13 and 23 September is our fps_max 120, not the machine's limit.
The bottle settings hold a second graphics layer, DXMT; it switches per bottle without reinstalling anything. We have no figures for it in CS2: we never ran a matched comparison on one scene, and an impression from ordinary play is not a measurement.
What we recorded on, and how
- Machine. MacBook Pro 14″ (Mac15,6), Apple M3 Pro, 14-core GPU, 18 GB. macOS 26.6.2 in the records of 25 and 29 September; on the other days we did not note the version.
- Graphics layer. D3DMetal (Direct3D → Metal); Uncork 0.16.3 in the record of 29 September.
- Tools. The VProf reports CS2 writes to
console.log, Metal HUD, and the frame trace our library writes (23, 24 and 30 September); on 30 September a frame was a Present call — the moment the game hands a finished frame to the system. - Repeats. 30 September — four full runs: two with direct mouse input and two without it. The other records each have their own conditions.
- Graphics on 29 and 30 September (from the
cs2_video.txtfile at the start of the runs and the record of 29 September): 1512×982, borderless window, vertical sync off, MSAA and FSR off, shadows, textures, particles and AO at minimum, cpu, gpu and gpu_mem levels all 3. For 11, 13, 23 and 24 September the graphics profile was not recorded.
What the game itself recorded
Below is what CS2 recorded about itself: four VProf reports from a single evening, 11 September, pulled out of console.log. We have not averaged them and have not picked the best one. The log itself was overwritten later; the figures were checked against the saved extract.
| Time | Average FPS | P1 FPS | Frame P99 | Frames excluded |
|---|---|---|---|---|
| 21:01:30 | 107.5 | 72.9 | 13.71 ms | 275 |
| 21:06:18 | 110.2 | 70.9 | 14.10 ms | 892 |
| 21:10:54 | 89.5 | 51.9 | 19.27 ms | 5335 |
| 21:32:11 | 117.6 | 85.0 | 11.77 ms | 39242 |
The upper bound is a setting, not the machine's ceiling. By our record, that evening the autoexec held fps_max 120. Figures above 120 could not appear under such a cap.
These four rows cannot be compared with one another. The last report excluded 39,242 frames, the third 5,335. Why VProf excluded them, and on which scene, the log does not say, and we did not record the graphics settings for each report. So “it got better by half past nine” is a conclusion the data does not support. The app's “CS2 performance” panel refuses, for the same reason, to show a difference between runs whose conditions were not recorded: better an empty space than a figure nobody can stand behind.
P1 as VProf writes it is not the same thing as “average of the worst one per cent”. They are different calculations, and we do not rename one into the other for the sake of a more familiar phrase.
The mouse: what was measured and what was not
Frame rate is the number people quote. Aim is the thing they feel. We did not measure aim: we measured how mouse movements reach a program.
macOS does not hand a program each mouse movement separately: in our measurements an ordinary app received events in batches stepping with the display — 8.33 ms on a 120 Hz screen. Why that may matter in a shooter, with a chart and code, is on the page “Why aim feels floaty on a Mac”.
Measurement of 25 September 2026. The same 20 seconds of movement were recorded three ways at once:
| How it was read | Events per second | Median interval |
|---|---|---|
| The mouse itself (a system-wide event tap) | 843 | 0.99 ms |
| GCMouse (the reading made for games, no “Input Monitoring” permission) | 844 | 0.99 ms |
| NSEvent (how an ordinary app receives events) | 119 | 8.07 ms |
Conditions: MacBook Pro 14″ with an M3 Pro, macOS 26.6.2, a 120 Hz display, a Logitech G309 mouse through a 1000 Hz receiver. The recording ran in the window of a separate app, not in CS2. Another recording, on 22 September, gave the same picture: in 20.1 seconds the system-wide event tap counted 13,452 mouse events, an ordinary app received 2,269 — on average about six tap events per app event.
What these measurements do not show: neither frame rate, nor latency from movement to frame, nor feel. This is not a measurement in CS2: how visible the difference is in the game itself, we have not measured separately. We did not check the scale of GCMouse values against raw HID reports, nor test it in the background or inside the game's process.
Uncork has its own display driver that, in Uncork Pro, reads the mouse straight from the device: at the rate it reports, up to 1000 Hz, and only while the game hides the cursor over its window. This needs the Input Monitoring permission, which the app asks for before your first game. By the driver's source code (as of 25 September 2026), it asks the system only for mouse and pointer devices and takes from their values only movement along the X and Y axes. This channel reads only the mouse; the keyboard is not connected to it. The macOS permission itself is wider than that, and Uncork's code is closed, so this is a description of our code, not something you can check yourself. Refuse, and everything still runs — the mouse simply stays as it was. On a trackpad or a 125 Hz mouse there is usually no difference.
What does not work
Read this part before anything else.
- FACEIT, by our inference, will not run — an inference, not our test. The FACEIT Labs documentation (1 October 2026) says: the interface of the client SDK of FACEIT Anti-Cheat (for game developers) is supported on 64-bit Windows 10 and 11; there is nothing about macOS. And Uncork has no Windows inside. We have not run FACEIT under Uncork. If you play on FACEIT, do not count on Uncork.
- Vanguard and Easy Anti-Cheat belong to other games and will not work either. According to Riot's description, Vanguard consists of a client and a kernel-mode driver. Easy Anti-Cheat, according to Valve, is supported on Linux only if the game's publisher switches it on by hand; we found no mode for Mac. In detail: the anti-cheat page.
- VAC: no guarantees. The game has no macOS version — by our record of 12 September 2026 (Steam listed Windows and Linux for CS2, 85 GB); Valve gives no guarantees for running it through a compatibility layer, and we found no official statement on this. We have no record of a match under VAC, so we will not say that VAC “does not get in the way”. The risk of an account ban is yours to take.
Better to learn this here than after buying Pro.
What you need
- A Mac with Apple Silicon — M1 or newer. Intel Macs are not supported.
- macOS 14 or later.
- Your own Steam account with CS2 on it.
- Disk space: on 1 October 2026 CS2 takes about 74 GB here, by the install data in Steam. Steam, by our record of 12 September 2026, listed 85 GB of free space: the game needs room for updates, and its size changes with them.
- Uncork: launching games is free, with no account. The mouse read from the device, Even frames and the in-game panel are in Uncork Pro: €19 once, no end date, every 1.x version; there is a 7-day trial.
How it goes
- Download Uncork with the Download button on the home page — no need to sign in on the site for that.
- Install Uncork: it is signed and notarized by Apple. Games launch in it with no account. You can start the 7-day Pro trial, with the mouse read from the device, with no account too; decide to buy Pro and the app opens sign-in in your browser, and the trial days you have left move to the account. Already have an account? Press “Sign in”; a code like UNCK-… is kept as a fallback for when a browser cannot be used. The app builds a bottle with Windows Steam inside.
- Sign in to Steam yourself and install CS2 as usual. Your Steam password and Steam Guard code are typed only into Steam's own window — Uncork never asks for them.
- Launch. On the first runs and the first maps there may be stutter while shaders build; we have not measured how long it lasts.
What we have not measured
The honest limits of the figures above:
- A locked 120 fps on Mirage is not established: we have no measurement on that map.
- DXMT and D3DMetal were never compared in a matched run on one scene; we have no DXMT figures for CS2.
- Other maps, other Macs (M1, M2, M4, MacBook Air) and other resolutions are unmeasured: the result there may differ.
- The effect of reading the mouse from the device on aim inside CS2 was not shown by a separate measurement.
- Latency from mouse movement to frame, in the configuration a person actually gets, was not measured.
- How long shader-compilation stutter lasts on a new map we have not measured: on the first maps it is possible.
- We have not recorded a match under VAC.
Frequently asked questions
Can you play CS2 on a MacBook?
Yes: on a MacBook or any other Apple Silicon Mac (M1 or newer) the Windows build of CS2 runs through a compatibility-layer app such as Uncork, and the game can also be streamed from the cloud or from your own PC. Every way is in the table “Every way to play CS2 on a Mac” above. Our frame rates were measured on a MacBook Pro 14″ with an M3 Pro.
Does CS2 have a Mac version?
No — by our record of 12 September 2026 (Steam listed Windows and Linux for CS2, 85 GB). Uncork runs the Windows build of the game from your Steam library through a compatibility layer.
How many frames does CS2 give on an M3 Pro?
From 102 to 147 frames per second on a MacBook Pro 14″ with an M3 Pro: that is our measurement of 30 September 2026, four runs on Dust II. The other records are in the table above.
Will CS2 run on a MacBook Air, or on an M1, M2 or M4 Mac?
How many frames it gives there, we do not know: we measured only a MacBook Pro 14″ with an M3 Pro. Uncork needs an Apple Silicon Mac (M1 or newer) and macOS 14 or later, but we make no claims about frame rates on other chips.
Do I need Windows, Boot Camp or a virtual machine to play CS2 on a Mac?
No. A compatibility-layer app such as Uncork runs the Windows build of the game without Windows itself. Boot Camp, per Apple's page, requires a Mac with an Intel processor. You can put Windows in a virtual machine, but graphics there are limited, and we have not tested CS2 in one; details are on the page “How to play Windows games on an Apple Silicon Mac: every method” (the link is at the bottom of the page).
Will VAC ban me for playing this way?
There are no guarantees. Valve gives no guarantees for running the game through a compatibility layer; we found no official statement on this. We have no record of a match under VAC, so we will not claim that VAC “does not get in the way”. The risk to your account is yours to take.
Does FACEIT work?
Most likely not — an inference, not a test result: we have not run FACEIT under Uncork. The FACEIT Labs documentation (1 October 2026) says: the interface of the client SDK of FACEIT Anti-Cheat (for game developers) is supported on 64-bit Windows 10 and 11; there is nothing about macOS. And Uncork has no Windows inside.
Why does the mouse feel floaty or laggy in CS2 on a Mac?
First, the free step: turn off pointer acceleration (System Settings → Mouse) — with it the same hand movement turns you by different amounts. The second cause is that macOS hands mouse movement to ordinary programs in batches once per display frame: in our measurement of 25 September 2026 (a 1000 Hz mouse, one 20-second recording, outside a game) 843 movements a second reached the program as 119 batches. In Uncork Pro the driver reads the mouse from the device while the game hides the cursor. On a trackpad or a 125 Hz mouse there is usually no difference. How noticeable that is in CS2 itself, we have not measured separately. Measurements and code are on the page “Why aim feels floaty on a Mac” (the link is at the bottom of the page).
How much disk space does CS2 need?
On 1 October 2026 CS2 takes about 74 GB here: that is what Steam's install data records, and the size changes with updates. Steam, by our record of 12 September 2026, listed 85 GB of free space.
Is the “Even frames” mode right for CS2 matches?
No, we do not recommend it for that. It is a mode for single-player games, and in a competitive shooter every frame counts. In CS2 we used it only as a test bench. More on the page “Which games we have tested on a Mac” (the link is at the bottom of the page).
The other questions — price, safety, first launch — are on the page “Uncork: frequently asked questions” (the link is at the bottom of the page).
Read next
- Why aim feels floaty on a Mac — measurements and code: macOS delivers the mouse once per display frame
- Anti-cheat games on a Mac: which ones will not run — which anti-cheat games will not run, and what to do instead
- Which games we have tested on a Mac — the games we have run ourselves, with frame rates, machine and date
- Uncork: frequently asked questions — price, safety, first launch, supported Macs and games
- How to play Windows games on an Apple Silicon Mac: every method — every way to play Windows games on Apple Silicon, with price and limits
- Apps for Windows games on a Mac, compared — price, licence, stores and notarization of nine apps as of 3 October 2026
If any of this turns out to be wrong on your machine, write and say so — a record that only holds in one place is worth correcting.





