Skip to content

trezero/robloxLinux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

robloxLinux

Setup guides and tooling for two common Linux laptop problems:

  1. Running Roblox on Linux Mint via Sober
  2. Broadcom STA WiFi driver (broadcom-sta-dkms) failing to build against kernels 6.15+

Roblox on Linux Mint

Sober is a native Linux Roblox client that runs the Android version of Roblox as a Flatpak — no Wine or Bottles required.

Install

# Ensure Flatpak and Flathub are configured
sudo apt install flatpak -y
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# Install Sober
flatpak install flathub org.vinegarhq.Sober

Desktop shortcut

bash scripts/install-shortcut.sh

This creates entries in both ~/.local/share/applications/ and ~/Desktop/. If the desktop icon shows a question mark, right-click it and choose Allow Launching.

First-launch configuration

On first run, Sober initialises and then presents a settings screen before downloading the Roblox APK.

Graphics backend:

  • Use Vulkan on Intel Iris Xe or newer integrated graphics
  • Use OpenGL on older Intel iGPU generations (Haswell/HD Graphics and earlier) — Vulkan support is incomplete on these

Behaviour settings:

Setting Value Reason
HiDPI Display Scaling OFF Wayland-only; breaks mouse input on X11 (Mint's default session)
Enable Touch Input OFF Tablets only
Force Legacy Rendering OFF Only enable as a fallback if Roblox crashes on first launch
Enable Gamemode ON Prioritises CPU/GPU resources for the game

After configuration, Sober downloads the Roblox APK and shows the login screen.

Sober config file

~/.var/app/org.vinegarhq.Sober/config/sober/config.json — edit via the Sober Settings UI (right-click the app icon) rather than by hand. The renderer (use_opengl) and graphics_optimization_mode are the most relevant settings for performance tuning.

In-game mouse sensitivity

Roblox's camera uses raw mouse input and ignores OS-level speed settings. To adjust camera speed, open the in-game menu (Escape) → SettingsCamera Sensitivity.


Broadcom STA WiFi Driver (kernel 6.15+)

broadcom-sta-dkms (version 6.30.223.271) was last updated in 2015 and fails to build against kernels 6.15 and newer. The patch script in this repo fixes the four breaking changes.

What breaks and why

Kernel File Change
6.17 Makefile EXTRA_CFLAGS / EXTRA_LDFLAGS removed from kbuild — replace with ccflags-y / ldflags-y
6.15 wl_linux.c from_timer() removed — replaced by timer_container_of()
6.15 wl_linux.c del_timer() removed — replaced by timer_delete()
6.15 wl_cfg80211_hybrid.c Three cfg80211_ops callbacks gained a new int radio_idx parameter

Full root-cause analysis and diffs are in docs/broadcom-sta-kernel-patches.md.

Applying the patches

Install the package first, then run the patch script:

sudo apt install broadcom-sta-dkms
sudo bash scripts/patch-broadcom-sta.sh

The Python script (scripts/patch-broadcom-sta.py) applies targeted string replacements to the three affected files under /usr/src/broadcom-sta-6.30.223.271/ and syncs them to the DKMS build directory if it exists. It is idempotent — safe to re-run.

Important: Reinstalling broadcom-sta-dkms from apt overwrites the patched source. Re-run the patch script any time the package is reinstalled or upgraded.

Rebuild the kernel module

sudo dkms remove broadcom-sta/6.30.223.271 --all
sudo dkms add /usr/src/broadcom-sta-6.30.223.271
sudo dkms build broadcom-sta/6.30.223.271 -k "$(uname -r)"
sudo dkms install broadcom-sta/6.30.223.271 -k "$(uname -r)"

If dpkg was interrupted by the original build failure:

sudo dpkg --configure -a

Diagnosing future failures

When a new kernel breaks the build, check the DKMS log first:

sudo cat /var/lib/dkms/broadcom-sta/6.30.223.271/build/make.log

Common errors and their meaning:

Error Cause
fatal error: typedefs.h: No such file or directory EXTRA_CFLAGS gone from kbuild — check Makefile
implicit declaration of function 'from_timer' Timer API changed again — check <linux/timer.h>
implicit declaration of function 'del_timer' Timer API changed again — check <linux/timer.h>
initialization of '... (*)(struct wiphy *, ...)' from incompatible pointer type cfg80211_ops signature changed — diff against <net/cfg80211.h>

To check what signatures the current kernel expects:

# Kernel's expected callback signatures
grep -A2 "set_wiphy_params\|set_tx_power\|get_tx_power" \
  /usr/src/linux-headers-$(uname -r)/include/net/cfg80211.h

# Driver's current signatures
grep -n "set_wiphy_params\|set_tx_power\|get_tx_power" \
  /usr/src/broadcom-sta-6.30.223.271/src/wl/sys/wl_cfg80211_hybrid.c

# Check whether EXTRA_CFLAGS still exists in kbuild
grep "EXTRA_CFLAGS" /usr/src/linux-headers-$(uname -r)/scripts/Makefile.lib
# Empty output = it's gone; use ccflags-y

Repository layout

docs/
  RobloxLinuxInstall.md          Full Roblox installation walkthrough
  broadcom-sta-kernel-patches.md Root-cause analysis and patch reference
scripts/
  install-shortcut.sh            Creates Roblox desktop and launcher entries
  startRoblox.sh                 Launches Sober directly from the terminal
  patch-broadcom-sta.sh          Root-check wrapper for the Python patcher
  patch-broadcom-sta.py          Applies all broadcom-sta source patches

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors