diff --git a/.gitattributes b/.gitattributes
index 02ce210..cf22f1b 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -22,4 +22,4 @@
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
## Specific LFS patterns
-scrcpy-server-v1.25 filter=lfs diff=lfs merge=lfs -text
+scrcpy-server-v2.0 filter=lfs diff=lfs merge=lfs -text
diff --git a/_service b/_service
index e2503a4..745f93f 100644
--- a/_service
+++ b/_service
@@ -5,7 +5,7 @@
@PARENT_TAG@
v(.*)
enable
- v1.25
+ v2.0
*.tar
diff --git a/_servicedata b/_servicedata
index 57d4c80..c4ab1ce 100644
--- a/_servicedata
+++ b/_servicedata
@@ -1,4 +1,4 @@
https://github.com/Genymobile/scrcpy.git
- fe21158c2023017df39ee7ecc6462579a1f3fe45
\ No newline at end of file
+ f1b2d6bbbb5afd1f95913a49b94eda7cfb85226b
\ No newline at end of file
diff --git a/scrcpy-1.25.tar.xz b/scrcpy-1.25.tar.xz
deleted file mode 100644
index 7709040..0000000
--- a/scrcpy-1.25.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a8e4a05e9b847740c08dbd0c58ab3c30ea288ad1ff3a2664c9db0bd809b66c8d
-size 288232
diff --git a/scrcpy-2.0.tar.xz b/scrcpy-2.0.tar.xz
new file mode 100644
index 0000000..6d59a6e
--- /dev/null
+++ b/scrcpy-2.0.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bcfe119893a03911209012d89700ef18d19a2fb4f390d818fd10691ae9786b43
+size 309880
diff --git a/scrcpy-server-v1.25 b/scrcpy-server-v1.25
deleted file mode 100644
index 3b5bf57..0000000
--- a/scrcpy-server-v1.25
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ce0306c7bbd06ae72f6d06f7ec0ee33774995a65de71e0a83813ecb67aec9bdb
-size 42151
diff --git a/scrcpy-server-v2.0 b/scrcpy-server-v2.0
new file mode 100644
index 0000000..37dd6cf
--- /dev/null
+++ b/scrcpy-server-v2.0
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9e241615f578cd690bb43311000debdecf6a9c50a7082b001952f18f6f21ddc2
+size 52867
diff --git a/scrcpy.changes b/scrcpy.changes
index 86a7ed9..5f1f75f 100644
--- a/scrcpy.changes
+++ b/scrcpy.changes
@@ -1,3 +1,228 @@
+-------------------------------------------------------------------
+Sun Mar 12 06:41:21 UTC 2023 - munix9@googlemail.com
+
+- Update to version 2.0:
+ * Bump version to 2.0
+ * Rework README and documentation
+ * Happy new year 2023!
+ * Document audio player
+ * Apply new compensation only if it changed
+ * Disable clock drift compensation for tiny values
+ * Fail on deprecated options
+ * Remove dead code about the deprecated -F option
+ * Remove deprecated option --render-expired-frames
+ * Upgrade platform-tools (34.0.1) for Windows
+ * Upgrade SDL (2.26.4) for Windows
+ * Remove unused IOException
+ * Compute buffering and compensation without lock
+ * Do not read avg_buffering from the player thread
+ * Simplify bytebuf naming
+ * Add audio sample ring-buffer
+ * Define the audio output buffer in milliseconds
+ * Pass video size as codec metadata
+ * Report errors on screen event error
+ * Rename sendCodecId to sendCodecMeta
+ * Copy codec parameters from context
+ * Simplify recorder
+ * Create recorder streams from packet sinks ops
+ * Pass AVCodecContext to packet sinks
+ * Enable log signaling buffering threshold exceeded
+ * Stop and join sc_file_pusher only if initialized
+ * Initialize interrupted field explicitly
+ * Decrease recorder thread priority
+ * Increase audio thread priority
+ * Add thread priority API
+ * Print info logs to stdout
+ * Print server logs and newline in one call
+ * Warn on ignored audio options
+ * Add --audio-codec=raw option
+ * Add raw audio recorder
+ * Extract async processor interface
+ * Extract audio capture
+ * Stop on decoder frame push error
+ * Add --audio-buffer
+ * Add compat support for FFmpeg < 5.1
+ * Add audio player
+ * Optionally do not delay the first frame
+ * Accept clock estimation with a single point
+ * Remove anonymous struct in delay buffer
+ * Use delay buffer as a frame source/sink
+ * Use frame source trait in decoder
+ * Introduce frame source trait
+ * Use packet source trait in demuxer
+ * Introduce packet source trait
+ * Extract sc_delay_buffer
+ * Fix buffering pts conversion
+ * Report video buffer downstream errors
+ * Stop the video buffer on error
+ * Fix possible race condition on video_buffer end
+ * Remove sc_queue
+ * Remove cbuf
+ * Use VecDeque in aoa_hid
+ * Use VecDeque in file_pusher
+ * Use VecDeque in controller
+ * Use VecDeque in video_buffer
+ * Use VecDeque in recorder
+ * Introduce VecDeque
+ * Add sc_allocarray() util
+ * Use reallocarray() in sc_vector
+ * Add compat for reallocarray()
+ * Call avcodec_receive_frame() in a loop
+ * Add --require-audio
+ * Add workaround to capture audio on Android 11
+ * Add two-step write feature to bytebuf
+ * Introduce bytebuf util
+ * Pass AVCodecContext to frame sinks
+ * Add an audio decoder
+ * Give a name to decoder instances
+ * Rename decoder to video_decoder
+ * Log display sizes in display list
+ * Add --list-displays
+ * Move log message helpers to LogUtils
+ * Quit on audio configuration failure
+ * Add --list-encoders
+ * Move await_for_server() logs
+ * Add --audio-encoder
+ * Extract unknown encoder error message
+ * Add --audio-codec-options
+ * Extract application of codec options
+ * Add support for AAC audio codec
+ * Add --audio-codec
+ * Add --audio-bit-rate
+ * Disable MethodLength checkstyle on createOptions()
+ * Rename --encoder to --video-encoder
+ * Rename --codec-options to --video-codec-options
+ * Rename --bit-rate to --video-bit-rate
+ * Rename --codec to --video-codec
+ * Remove default bit-rate on client side
+ * Record at least video packets on stop
+ * Disable audio before Android 11
+ * Disable audio on initialization error
+ * Add audio recording support
+ * Rename video-specific variables in recorder
+ * Do not merge config audio packets
+ * Add an audio demuxer
+ * Force --no-audio if no display and no recording
+ * Give a name to demuxer instances
+ * Rename demuxer to video_demuxer
+ * Extract OPUS extradata
+ * Use a streamer to send the audio stream
+ * Encode recorded audio on the device
+ * Make streamer more generic
+ * Capture device audio
+ * Add a new socket for audio stream
+ * Add --no-audio option
+ * Use FakeContext for Application instance
+ * Use shell package name for workarounds
+ * Use ROOT_UID from FakeContext
+ * Use PACKAGE_NAME from FakeContext
+ * Use AttributionSource from FakeContext
+ * Add a fake Android Context
+ * Improve error message for unknown encoder
+ * Rename "codec" variable to "mediaCodec"
+ * Make streamer independent of codec type
+ * Pass all args to ScreenEncoder constructor
+ * Move screen encoder initialization
+ * Write streamer header from ScreenEncoder
+ * Use VideoStreamer directly from ScreenEncoder
+ * Simplify error handling on socket creation
+ * Reorder initialization
+ * Refactor recorder logic
+ * Move last packet recording
+ * Add start() function for recorder
+ * Open recording file from the recorder thread
+ * Inline packet_sink impl in recorder
+ * Initialize recorder fields from init()
+ * Report recorder errors
+ * Move previous packet to a local variable
+ * Move pts_origin to a local variable
+ * Change PTS origin type from uint64_t to int64_t
+ * Fix --encoder documentation
+ * Do not print stacktraces when unnecessary
+ * Fix --no-clipboard-autosync bash completion
+ * Split server stop() and join()
+ * Print FFmpeg logs
+ * Move FFmpeg callback initialization
+ * Upgrade FFmpeg custom builds for Windows
+ * Upgrade FFmpeg (6.0) for Windows
+ * Use minimal prebuilt FFmpeg for Windows
+ * Simplify libusb prebuilt scripts
+ * Silence lint warning about constant in API 29
+ * Remove manifest package name
+ * Upgrade gradle build tools to 7.4.0
+ * Fix useless garbage initialization
+ * Fix MIN/MAX macros
+ * Initialize server->serial in all cases
+ * Fix error message on icon loading failure
+ * Do not use avformat network
+ * Accept Windows Sockets from version 1.1
+ * Fix WSAStartup() error check on Windows
+ * Fix --bit-rate option in bash completion script
+ * Add auto-completion for --codec option
+ * Use enum for long options constants
+ * Initialize mouse_input_mode explicitly
+ * Accept muxing AV1 into MP4 container
+ * Fix inconsistent quotes
+ * Suggest commands with an explicit '='
+ * Move finally-block to fix deadlock on stop
+ * Remove unnecessary error logs
+ * Document default video codec
+ * Fix command-line help typo
+ * Prefix receiver by sc_
+ * Fix demuxer error message
+ * Log non-EPIPE I/O exceptions
+ * Rename 'uid' to 'scid'
+ * Extract packet merging
+ * Remove unused parser
+ * Log component stopped in finally clause
+ * Join all threads before end of main
+ * Properly report demuxer errors
+ * Prefix UI events constants by SC_
+ * Split codec_id reading
+ * Fix error return value
+ * Fix demuxer error message
+ * Remove unused codec context
+ * Remove unused constant
+ * Add Fedora instructions in README
+ * Set power mode on all physical displays
+ * Add support for AV1
+ * Add support for H265
+ * Add option to select video codec
+ * Simplify server info initialization
+ * Extract video streaming to a separate class
+ * Move variable assignment
+ * Compute relative PTS on the client-side
+ * Improve workarounds call comments
+ * Move Workarounds call
+ * Do not expose controller threads
+ * Fix manpage formatting
+ * Inject additional ACTION_BUTTON_* events for mouse
+ * Fix mouse pointer state update
+ * Forward action button to device
+ * Retry on spurious error
+ * Extract retry handling
+ * Move local variables declarations
+ * Remove useless setSize() method
+ * Remove useless configure() method
+ * Keep the same MediaCodec instance across sessions
+ * Remove useless destroyDisplay() method
+ * Keep the same display binder across sessions
+ * Terminate loop explicitly on interrupted
+ * Use Java lambdas where possible
+ * Support Java lambdas in build_without_gradle.sh
+ * Add missing final modifiers
+ * Use try-with-resources
+ * Use random name for device socket
+ * Add random util
+ * Add jrand48()/nrand48() compat functions
+ * Use separate gen dir to build without gradle
+ * Remove "on Linux" in FAQ
+ * Add FAQ section about HID/OTG on Windows
+ * Avoid unnecessary copy on config packets demuxing
+ * Revert "Remove continuous resizing workaround for Windows"
+ * Use "meson setup" from install_release.sh
+ * Update links to v1.25
+
-------------------------------------------------------------------
Fri Dec 23 17:47:47 UTC 2022 - munix9@googlemail.com
diff --git a/scrcpy.spec b/scrcpy.spec
index 45e77d1..6955f91 100644
--- a/scrcpy.spec
+++ b/scrcpy.spec
@@ -1,7 +1,7 @@
#
# spec file for package scrcpy
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: scrcpy
-Version: 1.25
+Version: 2.0
Release: 0
Summary: Display and control your Android device
License: Apache-2.0
@@ -27,7 +27,6 @@ Source0: %{name}-%{version}.tar.xz
Source1: https://github.com/Genymobile/scrcpy/releases/download/v%{version}/scrcpy-server-v%{version}
# PATCH-FIX-OPENSUSE fix-desktop-file-exec.patch gh#Genymobile/scrcpy#3633 munix9@googlemail.com -- Fix "E: invalid-desktopfile"
Patch0: fix-desktop-file-exec.patch
-BuildRequires: gcc
BuildRequires: hicolor-icon-theme
BuildRequires: meson >= 0.48
BuildRequires: pkgconfig
@@ -38,6 +37,11 @@ BuildRequires: pkgconfig(libavformat)
BuildRequires: pkgconfig(libusb-1.0)
BuildRequires: pkgconfig(sdl2)
Recommends: android-tools
+%if 0%{?suse_version} <= 1500
+BuildRequires: gcc11
+%else
+BuildRequires: gcc
+%endif
%description
This application provides display and control of Android devices
@@ -69,6 +73,10 @@ Optional dependency offering zsh completion for scrcpy.
%autosetup -p1
%build
+%if 0%{?suse_version} <= 1500
+export CC=gcc-11
+%endif
+
%meson -Dprebuilt_server='%{SOURCE1}'
%meson_build
@@ -80,7 +88,7 @@ Optional dependency offering zsh completion for scrcpy.
%files
%license LICENSE
-%doc README.md DEVELOP.md FAQ.md
+%doc README.md FAQ.md
%{_bindir}/%{name}
%{_datadir}/%{name}
%{_mandir}/man1/%{name}.1%{?ext_man}