On Sun, Jul 19, 2026 at 05:58:53AM +0000, [email protected] wrote: > På fredag 17. juli 2026 kl. 20:04, skrev Daniil Ryvkin > <[email protected]>: > > > > > Added kf6-extra-cmake-modules to BUILD_DEPENDS. Removed MESSAGE, > > moved sysctl info to pkg-readme with actual commands, description > > of what happens if not set, and the FAQ URL. > > > > Built/tested on current/amd64 with privsep. > > $ cd /usr/ports/x11/obs-studio/ && make clean=all clean && make build package > test ; make port-lib-depends-check check-shlib-syms > > No regression tests for obs-studio-32.1.2 > /usr/local/lib/libobs-frontend-api.so.0.0 --> > /usr/ports/pobj/obs-studio-32.1.2/fake-amd64/usr/local/lib/libobs-frontend-api.so.0.0 > No dynamic export changes > /usr/local/lib/libobs-opengl.so.0.0 --> > /usr/ports/pobj/obs-studio-32.1.2/fake-amd64/usr/local/lib/libobs-opengl.so.0.0 > No dynamic export changes > /usr/local/lib/libobs-scripting.so.0.0 --> > /usr/ports/pobj/obs-studio-32.1.2/fake-amd64/usr/local/lib/libobs-scripting.so.0.0 > No dynamic export changes > /usr/local/lib/libobs.so.0.0 --> > /usr/ports/pobj/obs-studio-32.1.2/fake-amd64/usr/local/lib/libobs.so.0.0 > No dynamic export changes > -- > > # TRUSTED_PKG_PATH=/usr/ports/packages/amd64/all/ pkg_add -Dsnap -Dinstalled > -r obs-studio > obs-studio-32.1.2->32.1.2: ok > -- > > > Used it on sway, but like citra, dolphin-emu, pcsx2 and other qt6 ports > that need gl acceleration, it will need a '--platform xcb' to run on > wayland with xwayland and therefore gl acceleration. Some > applications can do (very) slow software acceleration like dolphin-emu. > > I should ask @landry if their patch to stop explicitly disabling wayland > in base sets is the same and/or if that gets gl acceleration working. > https://marc.info/?l=openbsd-tech&m=176304756414309&w=2 > > // This is what obs will default to; changed to English > $ LC_ALL=en_CA.UTF-8 obs --platform wayland > > info: Platform: Wayland > info: Physical Cores: 2, Logical Cores: 2 > info: Physical Memory: 16223MB Total > info: Kernel Version: OpenBSD 8.0 > info: Qt Version: 6.11.1 (runtime), 6.11.1 (compiled) > info: Portable mode: false > info: OBS 32.1.2 (openbsd) > info: --------------------------------- > info: --------------------------------- > info: audio settings reset: > samples per sec: 48000 > speakers: 2 > max buffering: 960 milliseconds > buffering type: dynamically increasing > info: --------------------------------- > info: Initializing OpenGL... > info: Using EGL/Wayland > error: eglGetDisplay failed > error: device_create (GL) failed > error: Failed to initialize video. Your GPU may not be supported, or your > graphics drivers may need to be updated. > warning: Failed to register with host portal > QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: > Connection already associated with an application ID") > info: Freeing OBS context data > > (process:94594): GLib-CRITICAL **: 23:06:49.431: > g_main_context_pop_thread_default: assertion 'stack != NULL' failed > > (process:94594): GLib-CRITICAL **: 23:06:49.432: > g_main_context_pop_thread_default: assertion 'stack != NULL' failed > > (process:94594): GLib-CRITICAL **: 23:06:49.434: > g_main_context_pop_thread_default: assertion 'stack != NULL' failed > > (process:94594): GLib-CRITICAL **: 23:06:49.435: > g_main_context_pop_thread_default: assertion 'stack != NULL' failed > info: == Profiler Results ============================= > info: run_program_init: 4512.76 ms > info: ┣OBSApp::AppInit: 116.592 ms > info: ┃ ┗OBSApp::InitLocale: 9.776 ms > info: ┗OBSApp::OBSInit: 471.018 ms > info: ┣obs_startup: 8.029 ms > info: ┗OBSBasic::OBSInit: 11.126 ms > info: ┣OBSBasic::InitBasicConfig: 7.174 ms > info: ┣OBSBasic::ResetAudio: 0.58 ms > info: ┗OBSBasic::ResetVideo: 2.844 ms > info: ┗obs_init_graphics: 2.758 ms > info: obs_hotkey_thread(25 ms): min=0 ms, median=0 ms, max=0.001 ms, 99th > percentile=0.001 ms, 100% below 25 ms > info: audio_thread(Audio): min=0.007 ms, median=0.013 ms, max=3.681 ms, 99th > percentile=0.186 ms > info: ================================================= > info: == Profiler Time Between Calls ================== > info: obs_hotkey_thread(25 ms): min=38.946 ms, median=39.998 ms, max=41.116 > ms, 0% within ±2% of 25 ms (0% lower, 100% higher) > info: ================================================= > info: Number of memory leaks: 592 > > (process:94594): GLib-CRITICAL **: 23:06:49.516: > g_main_context_pop_thread_default: assertion 'stack != NULL' failed > -- > // Gl breaks, it matters not if wayland is disabled at build time or not, > // will still default to this on niri, plasma-wayland, wlroots based > // wm/DE or other arcan/wayland environment > > > // Runs it in xwayland or X11 baremetal if on xenocara > $ LC_ALL=en_CA.UTF-8 obs --platform xcb > > info: Using EGL/X11 > info: Physical Cores: 2, Logical Cores: 2 > info: Physical Memory: 16223MB Total > info: Kernel Version: OpenBSD 8.0 > info: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.24.1 > info: Qt Version: 6.11.1 (runtime), 6.11.1 (compiled) > info: Portable mode: false > info: OBS 32.1.2 (openbsd) > info: --------------------------------- > info: --------------------------------- > info: audio settings reset: > samples per sec: 48000 > speakers: 2 > max buffering: 960 milliseconds > buffering type: dynamically increasing > info: --------------------------------- > info: Initializing OpenGL... > info: Loading up OpenGL on adapter Intel Mesa Intel(R) HD Graphics 4000 (IVB > GT2) > info: OpenGL loaded successfully, version 4.2 (Core Profile) Mesa 25.0.7, > shading language 4.20 > info: --------------------------------- > info: video settings reset: > base resolution: 1920x1080 > output resolution: 640x360 > downscale filter: Bicubic > fps: 30/1 > format: NV12 > YUV mode: Rec. 709/Partial > info: NV12 texture support enabled > info: P010 texture support not available > info: --------------------------------- > info: [pipewire] No capture sources available > warning: v4l2loopback not installed, virtual camera not registered > info: VAAPI: API version 1.23 > info: FFmpeg VAAPI H264 encoding supported > error: VAAPI: Failed to open device '/dev/dri/renderD129' > error: VAAPI: Failed to open device '/dev/dri/renderD130' > error: VAAPI: Failed to open device '/dev/dri/renderD131' > info: FFmpeg VAAPI AV1 encoding not supported > error: VAAPI: Failed to open device '/dev/dri/renderD129' > error: VAAPI: Failed to open device '/dev/dri/renderD130' > error: VAAPI: Failed to open device '/dev/dri/renderD131' > info: FFmpeg VAAPI HEVC encoding not supported > info: --------------------------------- > info: Loaded Modules: > info: text-freetype2.so > info: sndio.so > info: rtmp-services.so > info: obs-x264.so > info: obs-transitions.so > info: obs-outputs.so > info: obs-filters.so > info: obs-ffmpeg.so > info: linux-v4l2.so > info: linux-pipewire.so > info: linux-jack.so > info: linux-capture.so > info: image-source.so > info: frontend-tools.so > info: --------------------------------- > info: --------------------------------- > info: Available Encoders: > info: Video Encoders: > info: - ffmpeg_svt_av1 (SVT-AV1) > info: - ffmpeg_aom_av1 (AOM AV1) > info: - ffmpeg_vaapi_tex (FFmpeg VAAPI H.264) > info: - obs_x264 (x264) > info: Audio Encoders: > info: - ffmpeg_aac (FFmpeg AAC) > info: - ffmpeg_opus (FFmpeg Opus) > info: - ffmpeg_pcm_s16le (FFmpeg PCM (16-bit)) > info: - ffmpeg_pcm_s24le (FFmpeg PCM (24-bit)) > info: - ffmpeg_pcm_f32le (FFmpeg PCM (32-bit float)) > info: - ffmpeg_alac (FFmpeg ALAC (24-bit)) > info: - ffmpeg_flac (FFmpeg FLAC (16-bit)) > info: ==== Startup complete =============================================== > warning: Failed to register with host portal > QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: > Connection already associated with an application ID") > info: All scene data cleared > info: ------------------------------------------------ > error: obs-data.c: [obs_data_create_from_json] Failed reading json string > (1): '[' or '{' expected near end of file > info: sndio-input: sndio_apply: after initial sio_setpar(): appbufsz=19200 > bps=2 > info: xshm-input: Geometry 1920x1080 @ 1366,0 > info: Switched to scene 'Scene' > info: ------------------------------------------------ > info: Loaded scenes: > info: - scene 'Scene': > info: - source: 'Video Capture Device (PipeWire) (BETA)' > (pipewire-camera-source) > info: - source: 'Sndio input client' (sndio_output_capture) > info: - source: 'Display Capture (XSHM)' (xshm_input_v2) > info: ------------------------------------------------ > info: adding 298 milliseconds of audio buffering, total audio buffering is > now 298 milliseconds (source: Sndio input client) > > info: [camera-portal] Successfully accessed cameras > error: [camera-portal] Error retrieving PipeWire fd: > GDBus.Error:org.freedesktop.portal.Error.Failed: Failed to open PipeWire > remote: Couldn't connect to PipeWire > info: ==== Shutting down ================================================== > info: sndio-input: sndio_thread: exiting upon receiving EOF at IPC socket > info: All scene data cleared > info: ------------------------------------------------ > error: Tried to call obs_frontend_remove_event_callback with no callbacks! > info: [Scripting] Total detached callbacks: 0 > info: Freeing OBS context data > > (process:27744): GLib-CRITICAL **: 02:03:41.452: > g_main_context_pop_thread_default: assertion 'stack != NULL' failed > > (process:27744): GLib-CRITICAL **: 02:03:41.453: > g_main_context_pop_thread_default: assertion 'stack != NULL' failed > > (process:27744): GLib-CRITICAL **: 02:03:41.454: > g_main_context_pop_thread_default: assertion 'stack != NULL' failed > info: == Profiler Results ============================= > info: run_program_init: 6345.07 ms > info: ┣OBSApp::AppInit: 151.376 ms > info: ┃ ┗OBSApp::InitLocale: 14.995 ms > info: ┗OBSApp::OBSInit: 2718.9 ms > info: ┣obs_startup: 3.921 ms > info: ┗OBSBasic::OBSInit: 2384.91 ms > info: ┣OBSBasic::InitBasicConfig: 106.668 ms > info: ┣OBSBasic::ResetAudio: 0.623 ms > info: ┣OBSBasic::ResetVideo: 199.991 ms > info: ┃ ┗obs_init_graphics: 188.246 ms > info: ┃ ┗shader compilation: 101.745 ms > info: ┣OBSBasic::InitOBSCallbacks: 0.049 ms > info: ┣OBSBasic::InitHotkeys: 0.109 ms > info: ┣obs_load_all_modules2: 576.282 ms > info: ┃ ┣obs_init_module(frontend-tools.so): 471.453 ms > info: ┃ ┣obs_init_module(image-source.so): 0.025 ms > info: ┃ ┣obs_init_module(linux-capture.so): 1.217 ms > info: ┃ ┣obs_init_module(linux-jack.so): 0.003 ms > info: ┃ ┣obs_init_module(linux-pipewire.so): 46.554 ms > info: ┃ ┣obs_init_module(linux-v4l2.so): 0.245 ms > info: ┃ ┣obs_init_module(obs-ffmpeg.so): 31.586 ms > info: ┃ ┣obs_init_module(obs-filters.so): 0.051 ms > info: ┃ ┣obs_init_module(obs-outputs.so): 0.008 ms > info: ┃ ┣obs_init_module(obs-transitions.so): 0.011 ms > info: ┃ ┣obs_init_module(obs-x264.so): 0.002 ms > info: ┃ ┣obs_init_module(rtmp-services.so): 0.026 ms > info: ┃ ┣obs_init_module(sndio.so): 0.003 ms > info: ┃ ┗obs_init_module(text-freetype2.so): 0.07 ms > info: ┣OBSBasic::InitService: 6.517 ms > info: ┣OBSBasic::ResetOutputs: 0.942 ms > info: ┣OBSBasic::CreateHotkeys: 0.129 ms > info: ┣OBSBasic::InitPrimitives: 0.58 ms > info: ┗OBSBasic::Load: 194.956 ms > info: obs_hotkey_thread(25 ms): min=0.143 ms, median=0.461 ms, max=152.915 > ms, 99th percentile=51.955 ms, 97.3214% below 25 ms > info: audio_thread(Audio): min=0.008 ms, median=0.075 ms, max=298.85 ms, 99th > percentile=3.034 ms > info: obs_graphics_thread(33.3333 ms): min=0.018 ms, median=4.831 ms, > max=323.412 ms, 99th percentile=66.275 ms, 97.1888% below 33.333 ms > info: ┣tick_sources: min=0.001 ms, median=3.792 ms, max=226.103 ms, 99th > percentile=65.94 ms > info: ┣output_frame: min=0.009 ms, median=0.261 ms, max=97.283 ms, 99th > percentile=16.707 ms > info: ┃ ┗gs_context(video->graphics): min=0.009 ms, median=0.259 ms, > max=96.841 ms, 99th percentile=16.602 ms > info: ┃ ┣render_video: min=0.005 ms, median=0.109 ms, max=96.634 ms, 99th > percentile=4.466 ms > info: ┃ ┃ ┗render_main_texture: min=0.004 ms, median=0.106 ms, max=96.629 > ms, 99th percentile=4.46 ms > info: ┃ ┗gs_flush: min=0.001 ms, median=0.122 ms, max=50.679 ms, 99th > percentile=1.996 ms > info: ┗render_displays: min=0.002 ms, median=0.441 ms, max=11.289 ms, 99th > percentile=6.648 ms > info: ================================================= > info: == Profiler Time Between Calls ================== > info: obs_hotkey_thread(25 ms): min=33.695 ms, median=40 ms, max=189.928 ms, > 0% within ±2% of 25 ms (0% lower, 100% higher) > info: obs_graphics_thread(33.3333 ms): min=5.233 ms, median=30.205 ms, > max=323.425 ms, 1.20968% within ±2% of 33.333 ms (61.2903% lower, 37.5% > higher) > info: ================================================= > info: Number of memory leaks: 0 > -- > > > Since qt6 enables/needs wayland out of the box and the application will > default to --platform wayland whether disabled at the program build time > or not, I think keeping wayland on in config flags is better for > continued testing. > > A lot of qt6+ stuff keep increasingly being dependent on wayland > libraries, like lxqt, kde-gear, or other updated qt applications. > > And since kde-plasma 7.8.x will go full wayland with xwayland(only > baremetal X11 support is removed), I think keeping this on in projects > that have this enabled by default lessens maintenance. Less guessing > which part of the stack has wayland or not, when upstream supports both > baremetal xenocara/X11 and wayland or wayland only with > xwayland{,-satellite} backwards compat. I argue that having part of the > stack X11 only and others xenocara(X11)/wayland/arcan(currently broken) > enabled makes it hard to diagnose problems that upstream doesn't really > test for? > > The decision is for the ports and base devs to decide of course, just my > input. > > Maybe rsadowski will do sonicDE or keep kde-plasma 6.7.6 with patches > going forward instead? > > I will note my machine has incomplete vulkan support, so maybe others > with more recent computers have this working? Though I think libva and > {vulkan,spirv}* have wayland explicitly disabled too. > > Otherwise both devel/simde and this built fine. Obs-studio runs like > noted above with '--xcb platform' in the light testing I did. I'm not > well versed in this application though. > > The README reads well. I see no nits or grammer/spelling issues either. > > Not sure if this was too noisy of an email. Sorry if I added too much. > > TLDR: (Obs-studio and simde) It builds, looks fine. Thoughts on stack > above. > > Hopes this helps. I know this is a popular application and many will be > happy having this in tree. Thanks for the port and everyone's efforts. >
Thanks for testing Added a pkg-message noting that OBS must be started with --platform xcb under a Wayland compositor, as Qt6 defaults to Wayland which currently fails to initialize OpenGl on OpenBSD.
obs-studio5.tar.gz
Description: application/tar-gz
