netblue30 / firejail

Linux namespaces and seccomp-bpf sandbox

Home Page:https://firejail.wordpress.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Game "Faster Than Light" with font issues

charun80 opened this issue · comments

Description

For the game "Faster Than Light" I use the steam profile.
It mainly works. However text is unreadable. It looks like font letters are drawn over each other.

Steps to Reproduce

Steps to reproduce the behavior

  1. Run the FTL games (from GOG) with (or without) steam profile

Expected behavior

Text should be readable in the same way like without firejail usage

Actual behavior

Text content is unreadable

Behavior without a profile

What changed calling LC_ALL=C firejail --noprofile /path/to/program in a
terminal?

The issue is the same.
So maybe it is not (only) a problem of the steam profile but firejail in general.

Additional context

Any other detail that may help to understand/debug the problem

Environment

  • MX-Linux MX-23
  • firejail version 0.9.72

Checklist

  • The issues is caused by firejail (i.e. running the program by path (e.g. /usr/bin/vlc) "fixes" it).
  • I can reproduce the issue without custom modifications (e.g. globals.local).
  • The program has a profile. (If not, request one in https://github.com/netblue30/firejail/issues/1139)
  • The profile (and redirect profile if exists) hasn't already been fixed upstream.
  • I have performed a short search for similar issues (to avoid opening a duplicate).
    • I'm aware of browser-allow-drm yes/browser-disable-u2f no in firejail.config to allow DRM/U2F in browsers.
  • I used --profile=PROFILENAME to set the right profile. (Only relevant for AppImages)

Log

Output of LC_ALL=C firejail --noprofile /path/to/program

Running FTL: Advanced Edition
Parent pid 228136, child pid 228138
Child process initialized in 3.39 ms
Loading Arch = amd64
Initializing Crash Catcher...
Initializing Video
Video Initialized
Opengl version = 4.6 (Compatibility Profile) Mesa 23.1.2-1~mx23ahs
Starting audio library...
Audio Initialized!
Resource Preload: 3.587
Loading text....
Initializing animations...
Animations Initialized!
Loading Ship Blueprints....
Blueprints Loaded!
Initializing Sound Data....
Generating world...
Loading achievements...
Loading score file...
Running Game!
OPENGL ERROR: GL_OUT_OF_MEMORY

Output of LC_ALL=C firejail --noprofile --debug /path/to/program

Running FTL: Advanced Edition
Command name #FTL#
DISPLAY=:0.0 parsed as 0
Using the local network stack
Parent pid 228286, child pid 228288
Initializing child process
Host network configured
PID namespace installed
Mounting tmpfs on /run/firejail/mnt directory
Creating empty /run/firejail/mnt/seccomp directory
Creating empty /run/firejail/mnt/seccomp/seccomp.protocol file
Creating empty /run/firejail/mnt/seccomp/seccomp.postexec file
Creating empty /run/firejail/mnt/seccomp/seccomp.postexec32 file
IBUS_ADDRESS=unix:abstract=/home/otto/.cache/ibus/dbus-9F6BWIsG,guid=dc9bc78f2315e1c056c834d263a9884c
IBUS_DAEMON_PID=2822
Mounting /proc filesystem representing the PID namespace
Basic read-only filesystem:
Mounting read-only /etc
5033 4992 253:0 /etc /etc ro,noatime master:1 - ext4 /dev/mapper/root.fsm rw,discard
mountid=5033 fsname=/etc dir=/etc fstype=ext4
Mounting noexec /etc
5034 5033 253:0 /etc /etc ro,nosuid,nodev,noexec,noatime master:1 - ext4 /dev/mapper/root.fsm rw,discard
mountid=5034 fsname=/etc dir=/etc fstype=ext4
Mounting read-only /var
5035 4992 253:0 /var /var ro,noatime master:1 - ext4 /dev/mapper/root.fsm rw,discard
mountid=5035 fsname=/var dir=/var fstype=ext4
Mounting noexec /var
5036 5035 253:0 /var /var ro,nosuid,nodev,noexec,noatime master:1 - ext4 /dev/mapper/root.fsm rw,discard
mountid=5036 fsname=/var dir=/var fstype=ext4
Mounting read-only /usr
5037 4992 253:0 /usr /usr ro,noatime master:1 - ext4 /dev/mapper/root.fsm rw,discard
mountid=5037 fsname=/usr dir=/usr fstype=ext4
Mounting tmpfs on /var/lock
Mounting tmpfs on /var/tmp
Mounting tmpfs on /var/log
Mounting tmpfs on /var/lib/dhcp
Mounting tmpfs on /var/lib/snmp
Mounting tmpfs on /var/lib/sudo
Create the new utmp file
Mount the new utmp file
Cleaning /home directory
Cleaning /run/user directory
Sanitizing /etc/passwd, UID_MIN 1000
Sanitizing /etc/group, GID_MIN 1000
Disable /home/otto/.config/firejail
Disable /run/firejail/sandbox
Disable /run/firejail/network
Disable /run/firejail/bandwidth
Disable /run/firejail/name
Disable /run/firejail/profile
Disable /run/firejail/x11
blacklist /run/firejail/dbus
Mounting read-only /proc/sys
Remounting /sys directory
Disable /sys/firmware
Disable /sys/hypervisor
Disable /sys/power
Disable /sys/kernel/debug
Disable /sys/kernel/vmcoreinfo
Disable /proc/sys/fs/binfmt_misc
Disable /proc/sys/kernel/core_pattern
Disable /proc/sys/kernel/modprobe
Disable /proc/sysrq-trigger
Disable /proc/sys/vm/panic_on_oom
Disable /proc/irq
Disable /proc/bus
Disable /proc/timer_list
Disable /proc/kcore
Disable /proc/kallsyms
Disable /usr/lib/modules (requested /lib/modules)
Disable /usr/lib/debug
Disable /boot
Disable /dev/port
Disable /run/user/1000/gnupg
Disable /run/user/1000/systemd
Disable /dev/kmsg
Disable /proc/kmsg
Disable /sys/fs
Disable /sys/module
DISPLAY=:0.0 parsed as 0
Mounting read-only /run/firejail/mnt/seccomp
5083 5030 0:113 /seccomp /run/firejail/mnt/seccomp ro,nosuid - tmpfs tmpfs rw,mode=755,inode64
mountid=5083 fsname=/seccomp dir=/run/firejail/mnt/seccomp fstype=tmpfs
Seccomp directory:
ls /run/firejail/mnt/seccomp
drwxr-xr-x root     root             120 .
drwxr-xr-x root     root             160 ..
-rw-r--r-- otto     otto             640 seccomp
-rw-r--r-- otto     otto             432 seccomp.32
-rw-r--r-- otto     otto               0 seccomp.postexec
-rw-r--r-- otto     otto               0 seccomp.postexec32
No active seccomp files
Drop privileges: pid 1, uid 1000, gid 1000, force_nogroups 0
Closing non-standard file descriptors
Starting application
LD_PRELOAD=(null)

Child process initialized in 4.02 ms
Loading Arch = amd64
monitoring pid 2

Initializing Crash Catcher...
Initializing Video
Video Initialized
Opengl version = 4.6 (Compatibility Profile) Mesa 23.1.2-1~mx23ahs
Starting audio library...
Audio Initialized!
Resource Preload: 3.661
Loading text....
Initializing animations...
Animations Initialized!
Loading Ship Blueprints....
Blueprints Loaded!
Initializing Sound Data....
Generating world...
Loading achievements...
Loading score file...
Running Game!
OPENGL ERROR: GL_OUT_OF_MEMORY

... I removed some path output.

Not being familiar with this game I'm wondering if that OPENGL ERROR: GL_OUT_OF_MEMORY is related. Do these font issues persist when using the noprofile.profile?

$ firejail --profile=noprofile.profile /path/to/program

Indeed, the issue persist also when using the noprofile.profile .

Indeed, the issue persist also when using the noprofile.profile

Sadly this means Firejail can't (reliably) sandbox this particular game. It might be worthwhile to look at other sandboxing tools like bubblejail or crablock.