mameau%CWD%:> █
OFFLINE
$ cat article_0x12.txt
Testing a RPI as daily driver desktop (2021-08)       version 0x12 -- @sairukau

===============================================================================
Changelog
===============================================================================
v0x12  Had a crack at compiling vkQuake, ran into issues, missing libmad
       Compiled vkQuake3, need to run both
       Added some info on Neverwinter Nights
       Added some additional links
v0x11  Setup a new rpi4 with twisteros for a lan the other day.
       Intended to run 0ad, Neverwinter Nights and minetest
       Added chaiki (now with sound), steamlink client
       Upgraded to MESA 20.3 (Vulkan option) from PiKISS (don't do this)
       This broke rendering in NWN, black textures
       SM64PCEX from PiKISS, black screen after upgrade of MESA
       Patched twister with the 20.3 patch from the twisteros faq page, fixed 
       NWN textures and SM64PCEX black screen
       Disabled ipv6 was causing routing errors with openwrt replayd
v0x10  <= has been removed, as the use case was different, refer to article 
       v0x10 use case see archive/


===============================================================================
Expected Use cases
===============================================================================
- General PC Use
- Gaming


===============================================================================
Hardware
===============================================================================
RPI4 
- 4G Model

Display
- 1920x1080 32" TV through HDMI

Keyboard/Mouse
- Wireless USB

Networking
- 5GHz wifi

32GB SD Card (shipped with RPi)
 - don't know what class when I remove the sd card next I'll make a note

Distro/OS
 - TwisterOS
   nb: lots of stuff is hardcoded to the pi user, strange design decision


===============================================================================
Changes
===============================================================================
OS Changes
- Upgrade to MESA 20.3


===============================================================================
Migration
===============================================================================
Not Appliciable, this is a completely new setup


===============================================================================
Usage
===============================================================================
Keyboard/Mouse
 Nothing of note, crappy wireless Rapoo keyboard

Applications 
 Chromium
 - Preinstalled

 Video Playback
 - Not Tested

 Storage performance
 - Not Tested, just running of SD atm

Network Performance
 Have some wifi dumb ap network issues atm and the dumb ap is routed over eop
 so speed isn't the greatest atm

  $ speedtest-cli --simple
  Ping: 38.756 ms
  Download: 36.01 Mbit/s
  Upload: 24.65 Mbit/s


===============================================================================
Customisations
===============================================================================
HDMI
 None, considering dropping the default res to 720p for performance reasons

Window Manager
 Nothing done here (yet), XFCE is default
 Comes with 4.12, will consider upgrading to 4.16 to get vblanking control

Audio
 None

GPU Accelation
 # cat /proc/device-tree/soc/firmwarekms@7e600000/status
 # cat /proc/device-tree/v3dbus/v3d@7ec04000/status

 both should return "okay"

Configure acceleration in Applications
 Chromium
  chrome://flags
  Override software rending list -> Enabled


===============================================================================
(fake kms) Acceleration Performance - fkms
===============================================================================
Chromium
 TBA

Gaming
 See dedicated section 


===============================================================================
(kms) Acceleration Performance
===============================================================================
To be redone on new setup

              : glxgears : 
glx (default) |    ??    | 
xpresent      |    ??    | 
off           |    ??    | 


===============================================================================
Overclock
===============================================================================
Overclocked values as applied from PiKISS

[all]
arm_freq=2000
gpu_freq=750
over_voltage=6

ref: v0x10 article


===============================================================================
Configuration
===============================================================================
TBA


===============================================================================
Applications (non-gaming)
===============================================================================
Discord webapp
 A discord webapp is packaged


===============================================================================
Gaming
===============================================================================
Not expecting anything much in regards to this, most games will not run on arm
and Steam is not available for arm but Steamlink is so that may be a possiblity

Box86
 Great program, works well. Updater script included in twisteros settings

Steamlink
 Works well, no issues of note

Emulation
 MAME
  Unofficial up to date builds are available from https://stickfreaks.com/mame/

Neverwinter Nights (Box86)
 Get around ~25fps @ 1920x1080 Good settings
 Sound works with 32bit pulse libs installed and padsp32 mod
 - https://mameau.com/linux/32bfixes/

Minetest
 Compiled 5.4.1 from source, cloned and compiled

 Use as an fps benchmark maybe? (from v0x10 article)
 - 800x600   windowed   ~25fps  (default)
 - 1280x720  windowed   ~23fps
 - 1920x1080 Fullscreen ~17fps

Chiaki (PS4 Remote play)
 Works extremely well, install libqt5multimedia5-plugin for sound support, 
 compile from main repo

 https://sr.ht/~thestr4ng3r/chiaki/

 Compile notes
 https://gist.github.com/sairuk/96072fe2aef08464496d2255a31caf93

 Add QT_SELECT to your bashrc
 $ vi ~/.bashrc 
 export QT_SELECT=qt5-opengl

 Runs fine, set it to 720p

Steam (Box86 wrapped)
 Have no real interest in this but its preinstalled so may take a look

Lutris (Box86 wrapped)
 This is a decent general purpose game launcher, be nice to see if with custom
 rpi4 runners, maybe it does this already. I need to dig a bit deeper

SM64PC Ex Linux port
 Available through PiKISS, runs well on standard twisteros
 - avoid upgrading vulkan through PiKISS it is breaking

vkQuake
 https://github.com/Novum/vkQuake

 apt-get install libmad0-dev
 git clone https://github.com/Novum/vkQuake
 cd vKQuake/Quake
 make CFLAGS="-mcpu=cortex-a72 -mfpu=neon-fp-armv8 -mfloat-abi=hard"  -j$(nproc) 
 ./vkquake

vkQuake3
 https://github.com/suijingfeng/vkQuake3
 Required manual patches
 GLSL issues
  - https://github.com/suijingfeng/vkQuake3/issues/13
  file: code/renderergl2/tr_glsl.c ln: 270
 imminitrin support for SDL
  - https://github.com/suijingfeng/vkQuake3/issues/14
  use: -DSDL_DISABLE_IMMINTRIN_H

 git clone https://github.com/suijingfeng/vkQuake3
 cd vkQuaker3
 make CFLAGS="-mcpu=cortex-a72 -mfpu=neon-fp-armv8 -DSDL_DISABLE_IMMINTRIN_H"  -j$(nproc)
 cd build/release-linux-arm
 ./ioquake3.arm

Openarena
 Packaged build runs like a dogs breaksfast, don't use it

Need to revisit (as per v0x10 article)
- ezQuake
- deviloutionX (diablo)
- DOOM (Chocolate)
   https://github.com/chocolate-doom/chocolate-doom.git
- ScummVM
   Packaged
- Aliens vs Predator
   PiKISS version?
- vkQuake2
   https://github.com/kondrak/vkQuake2
- vkOpenarena
   https://github.com/suijingfeng/vkOpenArena
- PPSSPP
   https://github.com/hrydgard/ppsspp.git

 
===============================================================================
Wine Applications
===============================================================================
TBA


===============================================================================
Extra Credit
===============================================================================
TBA


===============================================================================
rpi-update
===============================================================================
I know audio hard locks i raised previously were addressed, this section is as
per v0x10 currently

ships with kernel:
Linux raspberrypi 5.10.52-v7l+ #1440 SMP Tue Jul 27 09:55:21 BST 2021 armv7l GNU/Linux


===============================================================================
Issues
===============================================================================
TBA