Native R36S Port
✦

A true native port of Counter-Strike: Source for the R36S — no emulator involved. The game's ARM64 engine modules run directly on the CPU and render on the Mali GPU through a custom GLES pipeline, with dozens of handheld-specific optimizations, gamepad controls, an on-screen keyboard and working online play.

IMPORTANT

This port does NOT include any game data. You must provide your own copy of the Counter-Strike: Source game files (the Android CS:S APK), renamed to cstrike.apk.

INSTALLATION

1
Download css_port.zip and extract it on your computer.
2
Put your own game files into the css folder: the two APKs — the larger Source Engine APK (~80 MB) and the Counter-Strike: Source APK (~28 MB) — plus your game data folders (cstrike, hl2, platform), which must be the game cache compatible with the Android v1.09 version. The first launch extracts the APKs automatically, largest first.
css
This PC > Desktop > Extracted css
Name Type Size
cstrike File folder
hl2 File folder
platform File folder
css File 205 KB
source-engine.apk File 80 MB
cstrike.apk File 28 MB
6 items 5 selected
3
Copy the css folder and the launch script to the EASYROMS/ports directory on your SD card:
ports
This PC > EASYROMS > ports
Name Type Size
css File folder
Counter-Strike Source.sh Shell Script 4 KB
gtasa File folder
3 items 2 selected
4
Launch from the Ports menu. The first launch runs a one-time setup that extracts both APKs, then starts the game; it is slower while shaders compile. Later launches are much faster.

CONTROLS

Aim Assist (L1)
Reload (L2)
Weapons / Score / Drop
Move
Crouch (L3)
Keyboard (Select)
Fire (R1)
Secondary / Scope (R2)
Buy Menu (X)
Switch Weapon (Y)
Use (A)
Jump (B)
Look / Aim
Mouse Cursor (R3)
Menu (Start)
L1
L2
R2
R1
X
Y
A
B
S
ST
F

Tip: hold L1 and press X for Autobuy, or Y for Rebuy.

ONLINE PLAY

GOOD TO KNOW

Retail Steam servers and old "v34" servers use a different protocol and cannot be joined. Stick to the servers shown in the built-in browser, or host your own.

Join the nillerusr community Discord to host your own server and discover servers you can join.

GOOD TO KNOW

  • The very first launch performs a cold shader-cache build, so the first minutes can stutter as new effects are compiled. This is normal and fades as the cache fills — later sessions are smooth.
  • On this passively-cooled handheld the chip can get warm under load and thermally throttle. A small heatsink or fan mod noticeably improves sustained FPS.
  • Performance and control settings can be changed by editing config.txt
  • If something goes wrong, the log file helps diagnose it: /roms/ports/css/css.log
  • The port is under active development — performance and stability keep improving with each build. Check this page for updated packages.

SOURCE CODE

The port's loader source is open under the MIT license — the ELF loader, the bionic to glibc shims, the GLES/KMSDRM layer, the on-screen keyboard and the gamepad code. It contains no game data and no engine modules, so you still need your own copy of the game.

CREDITS & THANKS

This port is built on nillerusr's Source Engine — the ARM64/Android revival of Valve's Source engine that makes native Counter-Strike: Source possible on handhelds. It was adapted from NaGaa95's css_nx, the Nintendo Switch port of the game.