Explorar o código

update game notes

Casey DeLorme %!s(int64=3) %!d(string=hai) anos
pai
achega
9664ee2078
Modificáronse 5 ficheiros con 270 adicións e 0 borrados
  1. 146 0
      notes/games/ffxiv.md
  2. 0 0
      notes/games/proton.md
  3. 0 0
      notes/games/proton/diablo-2.md
  4. 119 0
      notes/games/vr/valve-index.md
  5. 5 0
      notes/hidpi.md

+ 146 - 0
notes/games/ffxiv.md

@@ -0,0 +1,146 @@
+
+# ffxiv
+
+I am an avid player, and it is a benchmark for me as to how decent linux has become for gaming.
+
+This document aims to describe the installation process, and any fine-tuning that can be done.
+
+_Some steps within may vary depending on your installation, such as your window manager._
+
+
+## [lutris](https://lutris.net/games/final-fantasy-xiv-online/)
+
+Installing the game has never been easier, but it's easy to accidentally download the normal installer and encounter problems.
+
+_If you are using the normal installer you may have to make many changes to reach a working state, and even then the default launcher that comes with the game is broken and will spout errors and erratically crash depending on how you click through it._
+
+The lutris installer using the XIVLauncher is an amazing improvement, since it not only downloads the game much faster, but it works without any of those errors.
+
+> I highly recommend using the lutris XIVLauncher installation, and the later steps on this guide will assume you did.
+
+My installation location is:
+
+	export WINEPREFIX="$HOME/games/pc/ffxiv/lutris"
+
+_Commands used in this guide will be written assuming you used the same, so adjust them accordingly._
+
+Additionally, the current version of Lutris XIVLauncher will install Wine 6.10, which can be added to your path for manual execution like so:
+
+	export PATH="$HOME/.local/share/lutris/runners/wine/lutris-6.10-7-x86_64/bin:$PATH"
+
+If you are worried you can create a copy of your installation at any point with this command:
+
+	cp -a "$WINEPREFIX" "${WINEPREFIX}.bak"
+
+Finally, you can launch the game through lutris with a terminal via:
+
+	lutris lutris:rungame/final-fantasy-xiv-online
+
+_This can be useful when scripting._
+
+
+### [gshade](https://gposers.com/gshade/)
+
+Custom GPU processing can be added to further improve the graphic fidelity of the game, and the results can be very impressive.
+
+To add them, simply clone the repository, set your exports, and run the script:
+
+	export PATH="$HOME/.local/share/lutris/runners/wine/lutris-6.10-7-x86_64/bin:$PATH"
+	export WINEPREFIX="$HOME/games/pc/ffxiv/lutris"
+	./gshade_installer.sh
+
+Afterwards when you launch the game, you can open gshade settings with shift+f2, which will allow you to tweak the configuration.
+
+> You may experience some stuttering when using the gshade configuration menu, so bear with it, the results will be worth it.
+
+Some recommended presets:
+
+- OMGEorzea
+- Espresso Glow Shadowbringers Gameplay
+- Witch's Moon Gameplay
+- Shenova Gameplay
+- Neneko Adventurer Gameplay
+- Maya Happiness Gameplay
+- okami gameplay
+
+_So far my favorite has been Espresso Glow's Shadowbringers Gameplay configuration._
+
+
+### [act](https://advancedcombattracker.com/download.php)
+
+The Advanced Combat Tracker does work on linux, but it takes some tinkering for best results, and it is far from perfect.
+
+> Using ACT can be helpful to improve your own gameplay, but it is against FFXIV TOS and should never be used to judge or tell other players they are doing poorly.  **Use it at your own risk.**
+
+By default ACT will run, but only memory parsing will work, which is said to be inaccurate.
+
+You can use the [ffxiv-tools](https://github.com/valarnin/ffxiv-tools) scripts to modify your installation, which takes out the hard parts and gives you scripts to launch things with.  _If you do not feel comfortable applying changes yourself, this is absolutely recommended._
+
+Or you can run these commands manually to apply the patches:
+
+	export PATH="$HOME/.local/share/lutris/runners/wine/lutris-6.10-7-x86_64/bin:$PATH"
+	export RPATH="$HOME/.local/share/lutris/runners/wine/lutris-6.10-7-x86_64/lib64:$HOME/.local/share/lutris/runners/wine/lutris-6.10-7-x86_64/lib:$HOME/.local/share/lutris/runtime/lib32:$HOME/.local/share/lutris/runtime/steam/i386/lib/i386-linux-gnu:$HOME/.local/share/lutris/runtime/steam/i386/lib:$HOME/.local/share/lutris/runtime/steam/i386/usr/lib/i386-linux-gnu:$HOME/.local/share/lutris/runtime/steam/i386/usr/lib:$HOME/.local/share/lutris/runtime/lib64:$HOME/.local/share/lutris/runtime/steam/amd64/lib/x86_64-linux-gnu:$HOME/.local/share/lutris/runtime/steam/amd64/lib:$HOME/.local/share/lutris/runtime/steam/amd64/usr/lib/x86_64-linux-gnu:$HOME/.local/share/lutris/runtime/steam/amd64/usr/lib:"
+    patchelf --set-rpath "$RPATH" "$(which wine)"
+    patchelf --set-rpath "$RPATH" "$(which wine64)"
+    patchelf --set-rpath "$RPATH" "$(which wineserver)"
+	sudo setcap cap_net_raw,cap_net_admin,cap_sys_ptrace=eip "$(which wine)"
+	sudo setcap cap_net_raw,cap_net_admin,cap_sys_ptrace=eip "$(which wine64)"
+	sudo setcap cap_net_raw,cap_net_admin,cap_sys_ptrace=eip "$(which wineserver)"
+
+> To summarize: Specific `setcap` options will cause the wine binaries to ignore the `LD_LIBRARY_PATH`, which can be worked around by explicitly setting the `RPATH` on those binaries.
+
+Since `setcap` provides special permissions to the binaries it requires root access.  _As such, this can be potentially dangerous, and could also break other lutris titles sharing that wine version._
+
+As with the wine prefix you can backup the lutris wine version with:
+
+	cp -a "$HOME/.local/share/lutris/runners/wine/lutris-6.10-7-x86_64" "$HOME/.local/share/lutris/runners/wine/lutris-6.10-7-x86_64.bak"
+
+You can also use `getcap` on the `wine`, `wine64`, and `wineserver` binaries to verify whether the `setcap` command worked.  _If it did not they will return nothing._
+
+While `ffxiv-tools` will automate downloading ACT and embedding it into your `WINEPREFIX`, it can be run from anywhere so long as you have these exports:
+
+	export WINEDEBUG=-all
+	export WINEESYNC=1
+	export PATH="$HOME/.local/share/lutris/runners/wine/lutris-6.10-7-x86_64/bin:$PATH"
+	export WINEPREFIX="$HOME/games/pc/ffxiv/lutris"
+	cd "$(dirname $WINEPREFIX)/act"
+	wine64 "Advanced Combat Tracker.exe"
+
+_While `WINEDEBUG` is not required, setting it will reduce load by getting rid of unnecessary verbosity._
+
+Finally, ACT will crash if you try to use `wine` and not `wine64`, because it will attempt to run in 32-bit mode.
+
+
+#### overlays
+
+The default overlay for me does not work, but the overlay plugin does.
+
+However, these are not flawless, can crash requiring you to try a few times to load them, and can introduce significant latency and require custom configuration dependent on your desktop environment.
+
+For me using openbox if the game is taking up the entire dimensions of my desktop then the overlay will be moved behind it.  I can only get the overlay to stay ontop by adding a custom override to `rc.xml` and changing to windowed mode with 1 pixel shy of the maximum height.  _This can create further performance degradation as the game is no longer in full screen mode._
+
+Finally, ACT may lock up when parsing lots of data and if it does resume it may warn you about it being too slow to process synchronously.  _I have not yet found a solution to this._
+
+Adding this line to my `$HOME/.config/openbox/rc.xml` was needed to get the overlay on top, and required me to name it `Overlay`:
+
+	<application name="advanced*" title="Overlay"><layer>above</layer></application>
+
+
+## scripts
+
+Since I prefer using `gmrun` with the super+space hotkey to launch programs, here are some scripts you can use!
+
+`/usr/local/bin/ffxiv`:
+
+	#!/bin/bash -ex
+	lutris lutris:rungame/final-fantasy-xiv-online
+
+`/usr/local/bin/act`:
+
+	#!/bin/bash
+	export WINEDEBUG=-all
+	export WINEESYNC=1
+	export PATH="$HOME/.local/share/lutris/runners/wine/lutris-6.10-7-x86_64/bin:$PATH"
+	export WINEPREFIX="$HOME/games/pc/ffxiv/lutris"
+	cd "$(dirname $WINEPREFIX)/act"
+	wine64 "Advanced Combat Tracker.exe"

+ 0 - 0
notes/proton.md → notes/games/proton.md


+ 0 - 0
notes/proton/diablo-2.md → notes/games/proton/diablo-2.md


+ 119 - 0
notes/games/vr/valve-index.md

@@ -0,0 +1,119 @@
+
+# valve index
+
+I recently bought one to play around with VR and figured I should document what got it working for me.
+
+Even though linux is "officially supported", it does not mean feature-parity with windows.
+
+However, I absolutely refuse to install windows ever again.
+
+
+## setup
+
+**I finally figured out the bug with pkexec, and added the necessary package to `arch.sh`!**
+
+Installing SteamVR will require superuser permissions to run the `vrcompositor-launcher`, but this locks up my entire openbox desktop forcing me to reboot the system.
+
+This can be solved by running this command before launching SteamVR, and must be run anytime SteamVR is updated:
+
+	sudo setcap cap_sys_nice+eip ~/.steam/steam/steamapps/common/SteamVR/bin/linux64/vrcompositor-launcher
+
+You can verify the setting with:
+
+	getcap ~/.steam/steam/steamapps/common/SteamVR/bin/linux64/vrcompositor-launcher
+
+_Apparently the script is attempting to run `pkexec`, and I am unsure what polkit configuration needs to exist for that to succeed..._
+
+Apparently steamvr does not like amdvlk, and since my system has both amdvlk and radeon I had to add this to my `~/.bash_profile`:
+
+	export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json"
+
+_Various documents also recommend these settings in your `~/.bash_profile`:_
+
+	export STEAM_RUNTIME=1
+	export STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0
+
+
+### IPD
+
+There is a manual switch at the bottom that let's you adjust IPD, and will display the numeric distance in the HMD.
+
+_I measured my IPD at 62.5, but sometimes I find visuals to be better when I set it slightly larger._
+
+
+## bugs
+
+These are bugs, which have workarounds:
+
+- The settings occasionally will only show the `Startup / Shutdown` tab.
+	- This can be solved _sometimes_ by quitting, running this as root `echo 3 > /proc/sys/vm/drop_caches`, and then starting it back up.
+- The settings window may be incorrectly sized, and cannot be resized, making some options inaccessible.
+	- For me this was solved by dragging the settings to another desktop then restarting SteamVR; it remembers window positions and the DPI for one display differed.
+- I had really bad stuttering and could not launch room setup at one point.
+	- Apparently I had not specified which vulkan implementation to use and had both amdvlk and radeon available, but this was solved by quitting steam, setting an export (`export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json"`), then starting it again.
+- Any time a change in SteamVR settings requires a restart clicking the button that appears does nothing.
+	- You can just quit SteamVR or select the option from the main window, but the button itself does not work.
+- The audio does not automatically switch to the HMD.
+	- You can use `pactl` to find and switch profiles, but it has to be done manually and set back to the original after you exit SteamVR.
+		- _In my case it was `pactl set-card-profile 1 output:hdmi-stereo-extra2` to enable and `pactl set-card-profile 1 output:hdmi-stereo` to switch back to the default, and it may not remember the volume making it potentially noisy._
+
+
+## broken
+
+These are broken and have no resolutions:
+
+- The cameras, and subsequently the awesome "Chaperone" feature does not work.  _The video feed is available from other applications such as `guvcview`, but [this issue](https://github.com/ValveSoftware/SteamVR-for-Linux/issues/231) has been open for 2 years now, and no progress or official replies._
+
+
+
+## utilities
+
+These are some scripts and utilities that can be used to provide some missing functionality:
+
+- [steamvr utils](https://github.com/DavidRisch/steamvr_utils)
+- [paToggle](https://gist.github.com/frostworx/2a1a84ea8098ddc207cc9f54793f5446)
+- [lh.py; superseded by steamvr_utils](https://gist.github.com/prefiks/e614116fc3983a8e7e5fe326800dc101)
+
+_The `steamvr_utils` package can be installed and easily hooked to the launch configuration of SteamVR._
+
+
+### steamvr_utils
+
+First I cloned the repository and reviewed the readme and code.  _I found nothing malicious in the code._
+
+I ran installation of dependencies and permissions as root:
+
+	pip3 install bluepy
+	pip3 install psutil
+	setcap 'cap_net_raw,cap_net_admin+eip' /usr/lib/python3.9/site-packages/bluepy/bluepy-helper
+
+_I forked and modified the code so that I could get it to properly restore audio, and will eventually add microphone support to it._
+
+Next I added the SteamVR launch command:
+
+	python3 /home/cdelorme/git/steamvr_utils/scripts/steamvr_utils.py daemon  >>/tmp/steamvr_utils.out 2>&1; %command%;
+
+
+## games
+
+Here are the games I've tried and the results:
+
+- Half Life: Alyx
+	- Works excellent.
+- No Man's Sky
+	- Works when override to Proton 5.13.6 from 6.X; kind of laggy though, may need some settings adjusted, otherwise absolutely amazing!
+- Phasmophobia
+	- Same deal as No Man's Sky, though no lag!  Might even be pleasant.  Would like to get microphone support working though...
+- Desktop Game Theater
+	- Sadly written in an older version of Unity and therefore incompatible
+
+
+---
+
+Test out Steam VR Desktop Theater functionality; should be able to play flat-screen games in VR on a big screen.  _The game for this should be Everspace 2._
+
+Finally, decide whether to buy and download Beat Saber, which is dependent on the ability to mod and add custom songs.
+
+Beat Saber customization on linux:
+https://unhexium.net/vr/beat-saber-mods-and-linux/
+https://github.com/bsmg/beat-saber-community-wiki/pull/3

+ 5 - 0
notes/hidpi.md

@@ -30,3 +30,8 @@ For the console displayed at boot, I ran `pacman -Syu terminus-font` and then mo
 To fix the cursor several files needed to be modified from `Chameleon-SkyBlue-Regular` to `Chameleon-SkyBlue-Large`.  _This includes `~/.gtkrc-2.0`, `~/.config/gtk-3.0/settings.ini`, `~/.icons/default/index.theme`, and `~/.Xdefaults`._
 
 You may also want to adjust `~/.config/tint2/tint2rc` by adding `scale_relative_to_dpi = 140`.
+
+
+## bugs
+
+When you enable hidpi settings you may encounter strange problems with drag and drop in applications like google-chrome.