aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/egl.c2
-rw-r--r--src/main.cpp3
2 files changed, 3 insertions, 2 deletions
diff --git a/src/egl.c b/src/egl.c
index 482b3df..ad51c4c 100644
--- a/src/egl.c
+++ b/src/egl.c
@@ -249,7 +249,7 @@ static bool gsr_egl_create_window(gsr_egl *self, bool wayland) {
}
}
- self->eglBindAPI(EGL_OPENGL_ES_API);
+ self->eglBindAPI(EGL_OPENGL_ES2_BIT);
self->egl_display = self->eglGetDisplay(self->wayland.dpy ? (EGLNativeDisplayType)self->wayland.dpy : (EGLNativeDisplayType)self->x11.dpy);
if(!self->egl_display) {
diff --git a/src/main.cpp b/src/main.cpp
index af7b224..cbbc594 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1326,10 +1326,11 @@ int main(int argc, char **argv) {
// TODO: Fix constant framerate not working properly on amd/intel because capture framerate gets locked to the same framerate as
// game framerate, which doesn't work well when you need to encode multiple duplicate frames (AMD/Intel is slow at encoding!).
+ // It also appears to skip audio frames on nvidia wayland? why? that should be fine, but it causes video stuttering because of audio/video sync.
FramerateMode framerate_mode;
const char *framerate_mode_str = args["-fm"].value();
if(!framerate_mode_str)
- framerate_mode_str = gpu_inf.vendor == GSR_GPU_VENDOR_NVIDIA ? "cfr" : "vfr";
+ framerate_mode_str = (gpu_inf.vendor == GSR_GPU_VENDOR_NVIDIA && !wayland) ? "cfr" : "vfr";
if(strcmp(framerate_mode_str, "cfr") == 0) {
framerate_mode = FramerateMode::CONSTANT;