ertuncozbay.dev/projects/pointblank-linux.html

228 lines
12 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en" data-theme="colorful">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Point Blank on Linux (Standalone Rust Launcher) — Projects — Ertunç Özbay</title>
<meta name="description" content="Download, install, and build commands for Point Blank on Linux by Ertunç Özbay: Standalone Linux desktop launcher written in Rust with 100% unmodified official CheatBlocker anti-cheat and DirectX 9/11 support.">
<link rel="icon" type="image/svg+xml" href="../assets/images/favicon.svg">
<link rel="stylesheet" href="../assets/css/style.css?v=2">
</head>
<body>
<a class="skip-link" href="#main-content">Skip to main content</a>
<header class="site-header">
<div class="container header-inner">
<a class="site-brand" href="../index.html">
<span class="brand-mark" aria-hidden="true">EÖ</span>
<span>
Ertunç Özbay
<span class="brand-subtitle">embedded // hardware // open-source</span>
</span>
</a>
<div class="header-controls">
<div class="theme-switcher" role="group" aria-label="Select UI Theme">
<button type="button" class="theme-btn" data-set-theme="colorful" aria-pressed="true">🎨 Colorful</button>
<button type="button" class="theme-btn" data-set-theme="neon" aria-pressed="false">🌈 Neon</button>
<button type="button" class="theme-btn" data-set-theme="blueprint" aria-pressed="false">📐 Blueprint</button>
</div>
<button class="nav-toggle" type="button" data-nav-toggle aria-expanded="false" aria-controls="primary-navigation">
<span aria-hidden="true">☰</span>
<span data-nav-label>Menu</span>
</button>
<nav id="primary-navigation" class="site-nav" data-site-nav aria-label="Main navigation">
<ul class="nav-list">
<li><a class="nav-link" href="../index.html">Home</a></li>
<li><a class="nav-link" href="../about.html">About</a></li>
<li><a class="nav-link" href="../projects/index.html" aria-current="page">Projects</a></li>
<li><a class="nav-link" href="../blog/index.html">Blog</a></li>
<li><a class="nav-link" href="../lab.html">Lab</a></li>
<li><a class="nav-link" href="../contact.html">Contact</a></li>
</ul>
</nav>
</div>
</div>
</header>
<main id="main-content">
<div class="container">
<nav class="breadcrumb" aria-label="Breadcrumb">
<a href="index.html">← Back to Projects</a>
</nav>
<article>
<header class="workshop-hero">
<div class="card-meta">
<span class="badge badge-coral">Status: v1.0.0 Pre-Compiled Binary Released</span>
<span>Project 03 // Rust • Linux Systems • Wine &amp; DirectX 9/11</span>
</div>
<h1><span class="gradient-title">Point Blank on Linux — Standalone Community Launcher</span></h1>
<p class="hero-lead">
An all-in-one standalone Linux desktop launcher written in <strong>Rust</strong> that runs Point Blank (Zepetto / TAM Game) on Linux with <strong>100% unmodified official game files and native CheatBlocker anti-cheat</strong> (<code>CB.exe</code> + <code>CB.cbm</code>).
</p>
<p class="reading-width">
Built on Arch Linux without requiring Heroic, Lutris, or external wrappers—featuring automated Wine prefix &amp; Winetricks provisioning, 16-byte TLS-aligned runtime support for DirectX 11, multi-region authentication, and native 1920×1080 borderless fullscreen at 200 FPS.
</p>
<div class="button-row">
<a class="btn btn-emerald" href="/assets/downloads/pointblank-linux-v1.0.0-linux-x86_64.tar.gz">⬇ Download v1.0.0 Linux Binary (.tar.gz)</a>
<a class="btn btn-primary" href="http://34.57.151.250:3000/ertunc-ozbay/pointblank-linux" rel="noopener noreferrer">💻 View GitHub Repo</a>
<a class="btn btn-cyan" href="http://34.57.151.250:3000/ertunc-ozbay/pointblank-linux/releases" rel="noopener noreferrer">📦 All GitHub Releases</a>
<a class="btn btn-youtube" href="#poc-video">🎬 Watch PoC Video Slot</a>
</div>
</header>
<!-- YouTube Proof-of-Concept Video Placeholder -->
<section id="poc-video" class="poc-video-section" aria-labelledby="pb-video-heading">
<div class="poc-video-card">
<span class="section-label">🎬 Proof of Concept // YouTube Video Showcase</span>
<h2 id="pb-video-heading">YouTube Proof-of-Concept Demonstration</h2>
<div class="poc-video-screen" role="region" aria-label="YouTube Proof of Concept Video Placeholder">
<div class="poc-play-badge" aria-hidden="true">
<div class="poc-play-triangle"></div>
</div>
<span class="poc-status-pill">🎥 YouTube PoC Video — Recording / Coming Soon</span>
<div class="poc-video-title">Point Blank Running Natively on Arch Linux (DX11 / 200 FPS / Official CheatBlocker)</div>
<p class="poc-video-desc">
Upcoming YouTube proof-of-concept gameplay and setup walkthrough showing prefix auto-provisioning, DirectX 11 200 FPS performance on Linux, and unmodified CheatBlocker anti-cheat execution.
</p>
</div>
</div>
</section>
<!-- Download & Terminal Commands Section -->
<section class="section-block" aria-labelledby="p4-commands">
<span class="section-label">01 // Direct Download &amp; Linux Terminal Commands</span>
<h2 id="p4-commands">Quick Download &amp; Launch Commands</h2>
<p class="reading-width">
You do not need to compile from source—download and run the pre-compiled `x86_64` Linux release archive directly from the terminal:
</p>
<div class="code-window">
<div class="code-window-header">
<span class="code-window-title">
<span class="code-dots"><span class="code-dot red"></span><span class="code-dot amber"></span><span class="code-dot green"></span></span>
bash — Download, Extract &amp; Run Pre-Compiled Release (v1.0.0)
</span>
<button type="button" class="copy-code-btn" data-copy-code>📋 Copy Commands</button>
</div>
<pre><code># 1. Download &amp; extract the official pre-compiled Linux x86_64 release archive
curl -L -O http://34.57.151.250/assets/downloads/pointblank-linux-v1.0.0-linux-x86_64.tar.gz
tar -xzf pointblank-linux-v1.0.0-linux-x86_64.tar.gz
cd pointblank-linux-v1.0.0-linux-x86_64
# 2. Make executable and launch (or install desktop menu shortcut)
chmod +x pointblank-linux install-desktop.sh
./install-desktop.sh
./pointblank-linux</code></pre>
</div>
<h3>1. Install System Dependencies (Arch / Ubuntu / Fedora)</h3>
<div class="code-window">
<div class="code-window-header">
<span class="code-window-title">
<span class="code-dots"><span class="code-dot red"></span><span class="code-dot amber"></span><span class="code-dot green"></span></span>
bash — Install Wine, Winetricks, 32-bit Vulkan &amp; MinGW-w64
</span>
<button type="button" class="copy-code-btn" data-copy-code>📋 Copy Commands</button>
</div>
<pre><code># Arch Linux / CachyOS / Manjaro / EndeavourOS (with [multilib] enabled)
sudo pacman -Syu --needed wine wine-mono wine-gecko winetricks mingw-w64-gcc \
lib32-vulkan-icd-loader vulkan-icd-loader cabextract curl unzip
# Ubuntu / Debian / Linux Mint / Pop!_OS
sudo dpkg --add-architecture i386 &amp;&amp; sudo apt update
sudo apt install -y wine wine32 wine64 winetricks gcc-mingw-w64-i686 \
mesa-vulkan-drivers mesa-vulkan-drivers:i386 cabextract curl unzip
# Fedora / Nobara
sudo dnf install -y wine winetricks mingw32-gcc vulkan-loader vulkan-loader.i686 \
cabextract curl unzip</code></pre>
</div>
<h3>2. Build from Source with Cargo (Rust)</h3>
<div class="code-window">
<div class="code-window-header">
<span class="code-window-title">
<span class="code-dots"><span class="code-dot red"></span><span class="code-dot amber"></span><span class="code-dot green"></span></span>
bash — Clone &amp; Compile Rust Source Code
</span>
<button type="button" class="copy-code-btn" data-copy-code>📋 Copy Commands</button>
</div>
<pre><code>git clone http://34.57.151.250:3000/ertunc-ozbay/pointblank-linux.git
cd pointblank-linux
cargo build --release
./target/release/pointblank-linux</code></pre>
</div>
</section>
<section class="section-block reading-width" aria-labelledby="p4-overview">
<span class="section-label">02 // Systems Engineering Overview</span>
<h2 id="p4-overview">Solving Low-Level Windows-on-Linux Compatibility</h2>
<ul>
<li><strong>16-Byte TLS-Aligned Runtime for DirectX 11:</strong> Automatically provisions a 16-byte TLS-aligned <code>ntdll.dll</code> Wine runtime so both <strong>DirectX 9</strong> (<code>DXVersion = 9</code>) and <strong>DirectX 11</strong> (<code>DXVersion = 11</code>) render cleanly without crashes.</li>
<li><strong>One-Click Isolated Prefix Provisioning:</strong> Configures <code>~/.local/share/pointblank-linux/prefix</code> with <code>vcrun2022</code> (<code>mfc140.dll</code>, <code>msvcp140.dll</code>, <code>vcruntime140.dll</code>), <code>d3dx9_31..43</code>, <code>d3dcompiler_43</code>, <code>d3dx11_43</code>, and Edge WebView2 (<code>109.0.1518.78</code>).</li>
<li><strong>In-Game <code>F11</code> Borderless Fullscreen Helper:</strong> Compiles a lightweight MinGW-w64 helper utility for instant 1920×1080 borderless fullscreen switching at 200 FPS.</li>
</ul>
</section>
<section class="section-block reading-width" aria-labelledby="p4-specs">
<span class="section-label">03 // Technical Specifications</span>
<h2 id="p4-specs">Confirmed Capabilities &amp; Supported Distros</h2>
<table class="spec-table">
<thead>
<tr>
<th scope="col">Subsystem</th>
<th scope="col">Specification</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Primary Language</strong></td>
<td>Rust (Standalone Linux <code>x86_64</code> executable)</td>
</tr>
<tr>
<td><strong>Anti-Cheat Compatibility</strong></td>
<td>100% Unmodified Official CheatBlocker (<code>CB.exe</code> + <code>CB.cbm</code>)</td>
</tr>
<tr>
<td><strong>Render Pipelines</strong></td>
<td>DirectX 9 &amp; DirectX 11 (1920×1080 Borderless Fullscreen @ 200 FPS)</td>
</tr>
<tr>
<td><strong>Direct Binary Download</strong></td>
<td><a href="/assets/downloads/pointblank-linux-v1.0.0-linux-x86_64.tar.gz">pointblank-linux-v1.0.0-linux-x86_64.tar.gz</a></td>
</tr>
<tr>
<td><strong>Source Repository</strong></td>
<td><a href="http://34.57.151.250:3000/ertunc-ozbay/pointblank-linux" rel="noopener noreferrer">git.ertuncozbay.dev/ertunc-ozbay/pointblank-linux</a></td>
</tr>
</tbody>
</table>
</section>
</article>
</div>
</main>
<footer class="site-footer">
<div class="container footer-inner">
<div>
<strong>Ertunç Özbay</strong> — Electrical &amp; Electronics Engineering Student • <a href="mailto:ertunc.ozbay@outlook.com">ertunc.ozbay@outlook.com</a>
</div>
<ul class="footer-links" aria-label="Footer links">
<li><a href="../projects/index.html">Projects</a></li>
<li><a href="../blog/index.html">Blog</a></li>
<li><a href="../lab.html">Lab</a></li>
<li><a href="../contact.html">Contact</a></li>
<li><a href="http://34.57.151.250:3000/ertunc-ozbay" rel="noopener noreferrer">GitHub</a></li>
<li><a href="https://www.linkedin.com/in/ertunc-ozbay" rel="noopener noreferrer">LinkedIn</a></li>
</ul>
</div>
</footer>
<script src="../assets/js/main.js?v=2"></script>
</body>
</html>