Commit Graph

245 Commits

Author SHA1 Message Date
robxnano fe7e62bf21
flatpak: Update to Gnome 49 SDK (#7304) 2025-09-29 10:19:21 +02:00
robxnano 3dbf35fc8f flatpak: Add pulseaudio socket for preview audio 2025-08-13 07:04:26 +02:00
robxnano 10ff600da4 LinGUI: Remove --talk-name=org.freedesktop.Flatpak
This option allows sandbox escape and is therefore restricted on
Flathub.
2025-08-08 08:11:46 +02:00
robxnano 4834b9c299 flatpak: Improve build feature options
Refactor create_flatpak_manifest.py to make adding extra options easier
and enable building with fdk-aac or without nvenc support.
Fixes https://github.com/HandBrake/HandBrake/issues/6251
2025-07-27 08:10:00 +02:00
sr55 20c354333f
flatpak: Bump the Intel SDK to Runtime 48 as well. #6821 2025-04-21 17:23:09 +01:00
sr55 eb348584bf
Update Flatpak Runtimet to 48. Closes #6821 2025-04-21 16:51:33 +01:00
Scott e1ba846e20
Remove Flatpak CLI packaging. The Standalone CLI packaging has limitations that are not present on the CLI included in the main package. (#6598) 2025-04-05 16:39:38 +01:00
Sam Hutchins-Fry 0fd2156b81
LinGui: add support for running a command after an encode completes (#6029)
* LinGui: add support for running a command after an encode completes

* Detect Flatpak and prepend flatpak-spawn --host
2025-01-23 22:15:27 +00:00
robxnano 85de03e05a
flatpak: Override libdir in CMake-built modules (#6428)
Needed to install libraries correctly when building against
Freedesktop SDK 24.08 with an older version of flatpak-builder.
2024-11-21 18:12:01 +00:00
robxnano 752309225a
flatpak: Update SDK and libraries (#6384) 2024-11-01 22:50:58 +00:00
sr55 275ad70bd6
Flatpak build Add modules.def for VCN 2024-06-20 20:28:33 +01:00
robxnano 0adabb97d7 flatpak: Update libraries 2024-04-18 15:46:34 -06:00
robxnano 1ce6749fb7 flatpak: Update to GNOME 46 SDK 2024-04-18 15:46:34 -06:00
robxnano f3ed0876ce make: Add rules for creating Flatpak debug packages 2024-03-28 14:30:34 +01:00
Damiano Galassi c6169b7242 pkg: revert back to using HFS+ for the disk image format to avoid random CI failures. 2024-01-31 22:01:15 +01:00
robxnano a5f82aaf50 LinGUI: Preparation for GTK4 port
- Remove --enable-gtk4 option from build system
- Remove files which are no longer needed
2024-01-26 08:01:58 +01:00
robxnano b7ba1d9d94 flatpak: Update metainfo files
Fix all warnings given by appstreamcli and flatpak-builder-lint,
in case they become errors in the future.
2024-01-11 08:01:44 +01:00
robxnano 10c17e0218 flatpak: Fix flatpak-builder-lint error
Removes --file=xdg-config/gtk-3.0 permission to satisfy Flathub
requirements.
2024-01-11 08:01:44 +01:00
robxnano ec8b8cd5c8 flatpak: Strip IntelMediaSDK binaries 2023-11-02 18:30:11 +01:00
robxnano ba1eca499c flatpak: Add rust-stable extension
Used when --enable-libdovi is passed to ./configure.
2023-11-02 18:30:11 +01:00
robxnano 5fdd31c956 flatpak: Update SDK versions
- fr.handbrake.ghb: Gnome 45
- fr.handbrake.HandBrakeCLI: FreeDesktop 23.08
- fr.handbrake.ghb.Plugin.IntelMediaSDK: Gnome 45
- Update Intel plugin libraries
- Add patch to fix Intel Media SDK build with GCC 13
2023-11-02 18:30:11 +01:00
robxnano 20ce14dfd7 flatpak: Cleanup unneeded files 2023-10-07 07:52:51 +02:00
Damiano galassi 7b7105ebb2
pkg: switch the dmg files to APFS and ULFO compression. We support only macOS versions that can read APFS now. 2023-10-03 08:48:05 +02:00
Sam James 8b4ba1ce07 Drop old intltool references
Not used anymore.
2023-05-09 16:38:55 +02:00
Bastien Nocera 2865a3aa71 Remove udev dependency
In addition to udev not working correctly inside a sandbox, the icon
names given out by the gio library (through gvfs' udisks2 volume monitor)
are just as accurate as the udev optical disc detection, as gvfs uses
the icon name given by udisks itself, which derives them from the device
property udev adds:
https://github.com/storaged-project/udisks/blob/master/udisks/udisksobjectinfo.c#L177-L196
https://github.com/systemd/systemd/blob/master/src/udev/cdrom_id/cdrom_id.c#L914-L997
2023-04-13 17:36:04 +01:00
Bastien Nocera 82be660f7c flatpak: Allow accessing optical drives 2023-04-13 17:36:04 +01:00
robxnano afb8ccc675 flatpak: Fix build 2023-04-05 19:50:37 +01:00
robxnano c1e48d5c70 LinGUI: Remove update checker
The update checker didn't work and could not be built on any recent
Linux distribution. Linux updates are handled by Flatpak or the
distribution.
configure.py will error out if the --disable-gtk-update-checks
flag is used. This is to avoid the flag being passed to make and
giving an error anyway.
2023-03-26 21:11:06 +01:00
Artem Galin eea640f81d
qsv: fix Arc on Linux (#4958)
* qsv: fix Arc on Linux

* qsv: update Flatpak plugin

* qsv: fix memory leak of mfxLoader
2023-02-26 17:15:55 +00:00
robxnano 0425ddb840
New features for Linux (#4897)
* LinGUI: Bump GTK 3 minimum version to 3.22

Should be available in all currently supported distributions.
Also removed conditionals that are no longer needed.

* LinGUI: Bump GTK 4 minimum version to 4.4

GTK 4 support is currently based on a beta version and doesn't work
due to deprecations in the release versions. Further changes are
needed before it will build successfully.

* LinGUI: Use GtkFileChooserNative

When xdg-desktop-portal is available, a dialog native to
the desktop environment is used instead of the GTK one.
Fixes #4700

* LinGUI: Refactor Add Multiple dialog

Moves all the code for the Add Multiple dialog from
queuehandler.c to title-add.c and renames functions and
actions to match. This will help make the code easier to
maintain and allow for further improvements.

* LinGUI: Add menu option to Add All items

Adds all titles to the queue immediately. If the destination
filenames are not unique, opens the Add Multiple dialog instead.
Also stops adding items if an error occurs instead of continuing
and creating repeated error messages (Fixes #4438).

* LinGUI: Drag and drop support for videos

Drag a video or folder onto the HandBrake window and it will be
scanned as if it had been opened through the file dialog. Works
with most file managers (Nautilus, Dolphin, Nemo, Thunar etc.)
Closes #969

* LinGUI: Rearrange Filter tab to match other platforms

* LinGUI: Add XML chapter import and export

- Imports chapter titles only
- Exports full chapter details including time stamps
- Supports the Matroska XML chapter format
- Reads chapters from the default EditionEntry
- Uses the first ChapterString found for each chapter

* LinGUI: Fix symbolic icons on old GTK versions

* LinGUI: Fix function prototype warnings

Fixes most warnings caused by old-style function declarations
and non-static functions with no header declarations.
Warnings were found by compiling in GCC 12 with the flags:
-Wmissing-declarations
-Wmissing-parameter-type
-Wmissing-prototypes
-Wold-style-declaration
-Wold-style-definition
-Wstrict-prototypes

* LinGUI: Use structured logging

Replaces the custom logging functions with standard GLib ones,
using the __func__ macro introduced in C99 for function names.
Instead of using the --debug argument, debug messages are shown if
the environment variable G_MESSAGES_DEBUG is set to 'ghb' or 'all'.

* Linux: Add more diagnostic info to log

Prints the current operating system, kernel version and data
directories to the activity log.

* LinGUI: Use native paths for dropped files

Try to get a native path instead of a URI for files added via
drag and drop so that libhb can access them through GVFS.

* Fix warning if dialog is created with no OK button

* LinGUI: Automatic pause to save battery power

- Listens on DBus for battery status events
- Pauses encoding if unplugged or entering power save mode
- Resumes when power is restored or exiting power save mode
- Encodes can still be started while on battery power
- Doesn't resume when plugged in if paused manually
- Preferences option for pause on unplug

* LinGUI: Run autoupdate to fix configure.ac warnings

* LinGUI: New auto-naming options

{codec} - The codec of the encoded video (such as H.264)
{bit-depth} - The bit depth for the encoded video as an integer
{width} - The storage width of the encoded video
{height} - The storage height of the encoded video
{modification-date} - The modification date of the source file
{modification-time} - The modification time of the source file

* LinGUI: Update translation template

- Rename metainfo template so that gettext recognizes it

* LinGUI: Removed leftover version guards

* Linux: Add CPU info to activity log

- Remove temp dir info as it is often inaccurate

* LinGUI: Miscellaneous fixes

- Free unneeded filename
- Fix XML chapter export crash
- Replace unneeded printf calls with g_debug
- Update deprecated margin-left property

* LinGUI: Access D-Bus asynchronously

* LinGUI: Option to pause on entering power save

* LinGUI: Pause encoding when battery is low

* LinGUI: Tweak power save options

Although there's no option for it in the UI, adding LowBatteryLevel
to preferences.json will set the level at which encoding is paused.

* LinGUI: Update translation files
2023-02-21 17:58:22 +00:00
John Stebbins 7cf758d76a
flatpak: fix contrib download target filename
contrib.FETCH.basename was ignored by create_flatpak_manifest.py which
resulted in build errors if the target name differed from the URL name.
2023-01-23 13:19:53 -07:00
John Stebbins 5972592717
flatpak: update numactl lib 2023-01-23 13:19:13 -07:00
Artem Galin f95ff16ecc
qsv: fix linux regressions (#4802)
* qsv: fix implementation filter for Linux

Fix for https://github.com/HandBrake/HandBrake/issues/4768

* qsv: update flatpak media sdk plugin to latest snapshot of libraries

Potential fix for https://github.com/HandBrake/HandBrake/issues/4775
2023-01-05 19:19:51 +00:00
robxnano e4dedccc96 Flatpak: Replace x11 permission with fallback-x11
The fallback permission allows X11 to be used when Wayland isn't
available. As a GTK3 appplication, HandBrake is already running
under Wayland whenever possible, so this will not make any practical
difference apart from removing an unnecessary permission warning.
2022-12-15 14:33:22 +01:00
Artem Galin 46fb10d0a2
qsv: update Plugin.IntelMediaSDK flatpak (#4370)
* qsv: fix flatpak manifest, update libraries and enable new platforms

Since TigerLake oneVPL runtime must be used on Linux based on https://github.com/oneapi-src/oneVPL#onevpl-dispatcher-behavior-when-targeting-intel-gpus
Prioritize the flatpak package libraries to prevent conflict with system ones.

Used the following releases:

oneVPL GPU Runtime 2022Q3 Release - 22.5.4 (for platforms TGL and above)
https://github.com/oneapi-src/oneVPL-intel-gpu/releases/tag/intel-onevpl-22.5.4
Impl mfx-gen library path: /app/extensions/IntelMediaSDK/lib/libmfx-gen.so.1.2.7

Intel MediaSDK 2022Q3 Release - 22.5.4 (for platforms before TGL)
https://github.com/Intel-Media-SDK/MediaSDK/releases/tag/intel-mediasdk-22.5.4
Impl mfxhw64 library path: /app/extensions/IntelMediaSDK/lib/libmfxhw64.so.1.35

Potential fix for the following issues:
https://github.com/HandBrake/HandBrake/issues/4108
https://github.com/HandBrake/HandBrake/issues/3986

* qsv: update mediasdk plugin to org.gnome.Sdk 43

* qsv: update oneVPL dispatcher 2023.1.0

* qsv: display handle must be set for linux

* qsv: fix seg fault on linux, use correct uninit order

* qsv: improve logging
2022-12-03 15:18:16 +00:00
sr55 cc3d027376
flatpak: Remove dconf from manifest. It's not used. Closes #3180 2022-11-13 14:29:03 +00:00
robxnano df0705c8db LinGUI: Remove org.gnome.SessionManager D-Bus call
This interface is Gnome-specific, and no longer needed for
shutdown as org.freedesktop.login1 handles it along with suspend.
2022-11-13 14:45:19 +01:00
robxnano e7e17899a2 LinGUI: New D-Bus calls for shutdown and suspend
The old org.freedesktop.PowerManagement interface was removed,
which meant that shutdown and suspend didn't work on many
distributions. The new equivalent uses org.freedesktop.login1.
To make it work in Flatpak, the --system-talk-name permission
is required.
Fixes https://github.com/HandBrake/HandBrake/issues/4002
2022-11-13 14:45:19 +01:00
darkdragon-001 71641d9065
Update runtime to Gnome 43 (#4629) 2022-10-28 21:21:16 +01:00
Maximilian Müller 8bde0be0a5
fix flatpak cuda_llvm missing (#4580) 2022-09-29 20:44:07 +01:00
darkdragon-001 320f667026
Update Flatpak platform to Gnome 42 (#4364) 2022-08-14 16:49:21 +01:00
John Stebbins 1f8684d0ef flatpak: Use HandBrake's make rules for building libass
I took a shortcut when adding libass for flatpaks by putting the build
instructions in the flatpak manifest. It's been a maintenance problem
ever since keeping them in sync. This puts everything back into the
hands of HandBrake's build system.
2022-05-20 08:42:41 -07:00
sr55 17456c542a
flatpak: Testing a theory. Disabling debug on the GUI builds. 2022-03-10 19:02:24 +00:00
sr55 da0944be57
Flatpak: Attempt to fix #4122 (Nvenc not usable in CLI builds) 2022-03-10 19:01:44 +00:00
John Stebbins 4f3e63dbe5
flatpak: update libass version
(cherry picked from commit 219c73b429)
2022-01-10 10:34:56 -07:00
John Stebbins a14b5a0df7
flatpak: fix parallel make race
downloading contribs did not always finish before they were needed
2021-11-03 11:11:22 -06:00
John Stebbins 9be51047b1
flatpak: use distinct manifest module names for gui and cli
flatpak-builder uses the module name for the directory name where it
builds modules.  When doing parallel make, the gui and cli modules were
conflicting and causing failed builds.
2021-11-03 11:09:16 -06:00
John Stebbins 90f5a6b8e5
flatpak: update CLI to freedesktop platform 21.08 2021-11-02 14:47:51 -06:00
John Stebbins 363933267a
flatpak: update to gnome 41 platform 2021-11-02 14:47:09 -06:00
John Stebbins cdb7493ee9
flatpak: update Intel MediaSDK to 21.3.5
Solves build problem up flathub gnome Sdk 41
2021-11-02 14:45:42 -06:00