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.

Attachment: obs-studio5.tar.gz
Description: application/tar-gz

Reply via email to