diff --git a/src/citra_qt/camera/qt_multimedia_camera.cpp b/src/citra_qt/camera/qt_multimedia_camera.cpp index e18508c24..1c9d07f76 100644 --- a/src/citra_qt/camera/qt_multimedia_camera.cpp +++ b/src/citra_qt/camera/qt_multimedia_camera.cpp @@ -174,6 +174,12 @@ void QtMultimediaCameraHandler::CreateCamera(const std::string& camera_name) { settings.setMaximumFrameRate(30); camera->setViewfinder(&camera_surface); camera->load(); + if (camera->supportedViewfinderPixelFormats().isEmpty()) { + // The gstreamer plugin (used on linux systems) returns an empty list on querying supported + // viewfinder pixel formats, and will not work without expliciting setting it to some value, + // so we are defaulting to RGB565 here which should be fairly widely supported. + settings.setPixelFormat(QVideoFrame::PixelFormat::Format_RGB565); + } } void QtMultimediaCameraHandler::StopCamera() {