There is still a lingering myth that gaming on Linux requires endless tweaking and inevitably yields inferior performance compared to Windows. Recently, I tested this on my primary laptop: an ASUS TUF Gaming F16 powered by an NVIDIA GeForce RTX 5050 (8GB), 16GB of RAM, and running CachyOS.
The benchmark game was Final Fantasy VII Remake Intergrade. The result was flawless: the game ran smoothly on High settings at 1920x1080 with rock-solid frame pacing.
However, modern games easily exceed 100 GB each, meaning the stock 512 GB drive quickly runs out of space. Below, I break down the settings that kept performance consistent and the technical considerations for adding a secondary NVMe SSD to the ASUS TUF.
1. Why gaming performance was so stable on CachyOS#
The smooth gameplay without frame drops or stutters came down to three practical choices:
- CachyOS kernel tuning: The distribution uses custom kernels built with modern CPU instruction sets and the BORE task scheduler, which prioritizes interactive foreground workloads (the game).
- Mature translation layer (VKD3D and Proton via Lutris): Translating DirectX 12 calls to Vulkan introduces minimal overhead today. Memory allocation on Linux handles texture assets on the 8GB RTX 5050 smoothly.
- Capping the framerate at 60 FPS: Instead of allowing the frame rate to bounce between 80 and 100 FPS, I locked it to 60 FPS. On a gaming laptop, this provides significant benefits:
- Consistent frametime: Eliminates micro-stutters during heavy combat particle effects and transition scenes across Midgar.
- Thermal and acoustic efficiency: The GPU stays within a safe thermal envelope, preventing thermal throttling while keeping fan noise manageable.
2. The secondary m.2 slot on the ASUS TUF F16#
With a few modern titles installed, the factory 512 GB SSD reaches capacity rapidly. Before buying a second drive, I verified the physical constraints:
- Slot count: The ASUS TUF F16 provides two internal M.2 slots.
- Form factor: Strictly M.2 NVMe in 2280 size (22mm wide by 80mm long) with Key M edge connectors.
- What does not fit:
- Legacy M.2 SATA drives (with dual notches) are not supported.
- There is no room or connector for 2.5-inch SATA drives (the lower chassis is occupied by the battery).
- Shorter cards (like 2230 or 2242) lack native standoff screw holes without extra brackets, making standard 2280 the only sensible option.
3. Checking the stock SSD model directly in the terminal#
To inspect the installed OEM drive without removing the bottom cover, I ran two commands:
To list the storage device and model name:
lsblk -d -o NAME,MODEL,SIZE,ROTA,TYPE
To view NVMe controller details and SMART health:
sudo nvme list
In this system, the factory drive is a Micron 2400 (MTFDKBA512QGN) operating over PCIe Gen 4.0 x4.
4. Purchasing considerations: gen 3 vs gen 4, used drives, and imports#
When selecting a secondary 512 GB or 1 TB drive, I evaluated three common market options:
PCIe Gen 3.0 vs. gen 4.0#
While Gen 4.0 slots are backward compatible with Gen 3.0 drives, the price difference has virtually vanished. Entry Gen 4.0 options (such as Kingston NV3, Crucial P3 Plus, or WD Black SN770) deliver read speeds between 5,000 MB/s and 7,000 MB/s, whereas Gen 3 caps out around ~3,500 MB/s. At price parity, Gen 4.0 is the clear choice for fast game load times.
Why used SSDs should be avoided#
Buying pre-owned storage carries significant risks:
- NAND write endurance (TBW): Flash memory has a finite lifespan. A used drive might have endured heavy write cycles or mining without any external physical signs.
- Warranty: New drives come with 3 to 5 years of manufacturer warranty, protecting both data and investment.
Pitfalls of ultra-budget import brands#
Extremely cheap drives imported from marketplaces like AliExpress often introduce Linux stability bugs:
- Hardware component swapping: Low-cost manufacturers frequently alter NAND chips and controllers between production batches.
- Linux power management issues (APST): Generic controllers sometimes fail to handle Linux APST sleep states, resulting in I/O timeouts or read-only filesystem remounts. The proven fix is capping transition latency via the kernel parameter
nvme_core.default_ps_max_latency_us=5500. - Import duties: After checkout taxes, the final price is often close to established domestic brands backed by local warranty.
Conclusion: search keywords and post-install configuration#
When searching for the right replacement part, use this exact query:
SSD 1TB M.2 2280 NVMe PCIe 4.0
Installation and Linux setup notes:#
- Screw torque caution: The standoff screw in the second M.2 slot often arrives tightly fastened from the factory. Use a matching precision screwdriver to prevent stripping the head.
- Configuring on CachyOS: After mounting the SSD:
- Create a GPT partition table and format the partition to ext4 or Btrfs.
- Add a persistent mount entry in
/etc/fstab(e.g./mnt/games) with user permissions. - Add the new mount point as a game directory inside Lutris and Steam settings.
This expands storage capacity while maintaining responsive gaming performance on Linux.
Was this article helpful?
Leave a quick reaction to help prioritize future technical guides:
This post is licensed under CC BY-NC.



Comments
Join the discussion below.
0 comments