2025-03-08
I am alive, and have opted to try and reduce pulseaudio latency when i stand up
my stream via a script:
- https://git.ultrono.com/user472393/userland-stream/-/blob/master/bin/pulse-latency
I'm probably not able to emit a high quality quake stream given my hardware.
When I capture output on a separate PC, the progressive signal shreds the
screen into strips; ripping and tearing the image. I can't effect the necessary
configuration with nvidia to prevent this.
When i record on the gaming pc itself, i'm liable to repeatedly time out from
the server. I'm not sure what's up with that. At a glance my system looks
performant. It's a game from the last millenium. what's up with that not running
alongside obs?
~~~
inxi -GSaz
System:
Kernel: 6.1.0-31-amd64 arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
parameters: BOOT_IMAGE=/boot/vmlinuz-6.1.0-31-amd64
Desktop: i3 v: 4.22 info: i3bar vt: 7 dm: SLiM v: 1.4.0 Distro: Devuan
GNU/Linux 5 (daedalus)
Graphics:
Device-1: Intel HD Graphics 630 vendor: Gigabyte driver: i915 v: kernel
arch: Gen-9.5 process: Intel 14nm built: 2016-20 ports: active: none
empty: DP-1, HDMI-A-1, HDMI-A-2, HDMI-A-3 bus-ID: 00:02.0
chip-ID: 8086:5912 class-ID: 0380
Device-2: NVIDIA GM107 [GeForce GTX 750 Ti] vendor: Gigabyte
driver: nvidia v: 535.216.01 non-free: 530.xx+
status: current (as of 2023-03) arch: Maxwell code: GMxxx
process: TSMC 28nm built: 2014-19 pcie: gen: 1 speed: 2.5 GT/s lanes: 16
link-max: gen: 3 speed: 8 GT/s bus-ID: 01:00.0 chip-ID: 10de:1380
class-ID: 0300
Device-3: Nanjing Magewell vendor: SafeNet driver: Pro Capture v: N/A
alternate: ProCapture pcie: gen: 2 speed: 5 GT/s lanes: 1 bus-ID: 06:00.0
chip-ID: 1cd7:0004 class-ID: 0400
Device-4: Logitech HD Pro Webcam C920 type: USB
driver: snd-usb-audio,uvcvideo bus-ID: 1-1:2 chip-ID: 046d:082d
class-ID: 0102 serial: <filter>
Display: x11 server: X.Org v: 1.21.1.7 driver: X: loaded: nvidia
gpu: i915,nvidia,Pro Capture display-ID: :0.0 screens: 1
Screen-1: 0 s-res: 1600x1200 s-dpi: 203 s-size: 200x150mm (7.87x5.91")
s-diag: 250mm (9.84")
Monitor-1: DVI-I-0 pos: primary
res: 640x480 hz: 150 dpi: 46
size: 350x260mm (13.78x10.24")
diag: 436mm (17.17") modes: N/A
Monitor-1: DVI-I-0 pos: primary res: 1600x1200 hz: 75 dpi: 115
size: 352x264mm (13.86x10.39") diag: 440mm (17.32") modes: N/A
Monitor-2: HDMI-1 size-res: N/A modes: N/A
API: OpenGL v: 4.6.0 NVIDIA 535.216.01 renderer: NVIDIA GeForce GTX 750
Ti/PCIe/SSE2 direct-render: Yes
~~~
2025-02-23
usb soundcard and pulseaudio are not naively great for gaming
here are some notes on how to improve things
we are starting with a latency of around 36ms
~~~
$ pactl list sinks | grep -i latency
Latency: 36460 usec, configured 24988 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY SET_FORMATS
~~~
and here is the module in question
~~~
$ pactl list modules
...
Module #52
Name: module-alsa-card
Argument: device_id="4" name="usb-E-MU_Systems__Inc._E-MU_0404___USB_E-MU-AE-3F04-07D70A01-01D2B-STATION_02-00" card_name="alsa_card.usb-E-MU_Systems__Inc._E-MU_0404___USB_E-MU-AE-3F04-07D70A01-01D2B-STATION_02-00" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"
Usage counter: 6
Properties:
module.author = "Lennart Poettering"
module.description = "ALSA Card"
module.version = "16.1"
~~~
these commands have been taken from juho's blogpost
https://juho.tykkala.fi/Pulseaudio-and-latency#positive-effect-on-latency
lets keep following the steps outlined there and run some more commands
~~~
$ pactl unload-module 52
$ pactl load-module module-alsa-card \
device_id="4" \
name="usb-E-MU_Systems__Inc._E-MU_0404___USB_E-MU-AE-3F04-07D70A01-01D2B-STATION_02-00" \
card_name="alsa_card.usb-E-MU_Systems__Inc._E-MU_0404___USB_E-MU-AE-3F04-07D70A01-01D2B-STATION_02-00" \
namereg_fail=false \
tsched=no \
fixed_latency_range=yes \
ignore_dB=no \
deferred_volume=yes \
use_ucm=yes \
avoid_resampling=yes \
card_properties="module-udev-detect.discovered=1" \
fragments=1 \
fragment_size=15
~~~
and we end up with a latency of about 2ms. nice!
~~~
$ pactl list sinks | grep Latency
Latency: 2267 usec, configured 1043 usec
~~~
now how can this be made to persist? how about for a different pulse setup? we'll have to see
2025-02-02
i played about 10 tgm games, and in that time 2 sections were okay
where okay means not too unskillful
there were some surprising failure in ta death
why or how i would be surprised about something that happens all the time i do
not know
i played a game of broodwar where i was defeated for want of vision of the
terran natural
all of the games were really too much opponent not enough user
2025-01-27
i was lucky to be able to get a couple of games in after work this day.
at my present skill it is sufficiently difficult to control workers in the
opening minutes such that i am unable to reliably implement plans of any detail.
this is on display in the first game of the night, where it's just too hard to get an overlord at 9 supply.
i was glad to not have thrown my army away, but stopped expanding after 20 minutes.
the second game of the night i probed with lurkers and that was sufficient
agression to win sufficed to win. however, i have lost several games recently by
probing in exactly that same way and losing my only defense. i have some notion
of rebuilding defense at that point, but only dimly. it's a common failure in my
play that i have absolutely no defense, and i want to avoid that.
thanks to those players for those games!