aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--com.dec05eba.gpu_screen_recorder.appdata.xml3
-rw-r--r--src/main.cpp10
2 files changed, 9 insertions, 4 deletions
diff --git a/com.dec05eba.gpu_screen_recorder.appdata.xml b/com.dec05eba.gpu_screen_recorder.appdata.xml
index 7e41f1f..7ce13e0 100644
--- a/com.dec05eba.gpu_screen_recorder.appdata.xml
+++ b/com.dec05eba.gpu_screen_recorder.appdata.xml
@@ -43,8 +43,7 @@
and pkexec needs to be installed on the system and a polkit agent needs to be running.
</p>
<p>
- Some distros such as manjaro and fedora disable hardware accelerated H264/HEVC which means GPU Screen Recorder wont work on AMD/Intel and you have to either switch to another distro or install mesa
- from source (or install mesa-git for example). On fedora based distros you can follow this: <a href="https://rpmfusion.org/Howto/Multimedia">Hardware Accelerated Codec section</a>.
+ If H264/HEVC video encoding is not available on your AMD/Intel system that you know supports those codecs then you may need to install mesa-extra freedesktop runtime by running this command: flatpak install --system org.freedesktop.Platform.GL.default//23.08-extra
</p>
<p>
Recording a single window is also only possible on X11. Hotkeys are not supported on wayland either (wayland doesn't really support this). Use X11 if you want a proper desktop experience in general.
diff --git a/src/main.cpp b/src/main.cpp
index d54adf9..144ba53 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -3130,14 +3130,20 @@ static void load_config(const gpu_info &gpu_inf) {
if(!supported_video_codecs.h264 && !supported_video_codecs.hevc && gpu_inf.vendor != GPU_VENDOR_NVIDIA && config.main_config.codec != "av1") {
if(supported_video_codecs.av1) {
GtkWidget *dialog = gtk_message_dialog_new_with_markup(GTK_WINDOW(window), GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_OK,
- "Your distro has disabled support for H264 and HEVC video codecs. Switched video codec to AV1. If you wish to use H264/HEVC video codecs then follow your distros guide to install a non-crippled mesa (with H264 and HEVC support) or switch to a less user hostile distro or recompile mesa from source. For example on fedora you may need to follow this: <a href=\"https://rpmfusion.org/Howto/Multimedia\">Hardware Accelerated Codec</a>.");
+ "Switched video codec to AV1 since H264/HEVC video encoding is either missing or disabled on your system. If your know that your system supports H264/HEVC video encoding then "
+ "try installing mesa-extra freedesktop runtime by running this command:\n"
+ "flatpak install --system org.freedesktop.Platform.GL.default//23.08-extra\n"
+ "and then restarting GPU Screen Recorder. If that doesn't work then you may have to install another mesa package for your distro.");
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
config.main_config.codec = "av1";
gtk_combo_box_set_active_id(GTK_COMBO_BOX(video_codec_input_menu), config.main_config.codec.c_str());
} else {
GtkWidget *dialog = gtk_message_dialog_new_with_markup(GTK_WINDOW(window), GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
- "Either your GPU doesn't support H264/HEVC video codecs or your distro has disabled support for those video codecs. If you wish to use H264/HEVC video codecs then follow your distros guide to install a non-crippled mesa (with H264 and HEVC support) or switch to a less user hostile distro or recompile mesa from source, if you know that your GPU supports H264/HEVC. For example on fedora you may need to follow this: <a href=\"https://rpmfusion.org/Howto/Multimedia\">Hardware Accelerated Codec</a>.");
+ "H264/HEVC video encoding is either missing or disabled on your system. If your know that your system supports H264/HEVC video encoding then "
+ "try installing mesa-extra freedesktop runtime by running this command:\n"
+ "flatpak install --system org.freedesktop.Platform.GL.default//23.08-extra\n"
+ "and then restarting GPU Screen Recorder. If that doesn't work then you may have to install another mesa package for your distro.");
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
g_application_quit(G_APPLICATION(select_window_userdata.app));