diff --git a/packages/path_provider/path_provider/CHANGELOG.md b/packages/path_provider/path_provider/CHANGELOG.md
index b3843f2..a2df046 100644
--- a/packages/path_provider/path_provider/CHANGELOG.md
+++ b/packages/path_provider/path_provider/CHANGELOG.md
@@ -1,3 +1,6 @@
+## 1.6.10
+* Linux implementation endorsement
+
 ## 1.6.9
 
 * Post-v2 Android embedding cleanups.
diff --git a/packages/path_provider/path_provider/lib/path_provider.dart b/packages/path_provider/path_provider/lib/path_provider.dart
index a764326..ae959b1 100644
--- a/packages/path_provider/path_provider/lib/path_provider.dart
+++ b/packages/path_provider/path_provider/lib/path_provider.dart
@@ -3,14 +3,47 @@
 // found in the LICENSE file.
 
 import 'dart:async';
-import 'dart:io' show Directory;
+import 'dart:io' show Directory, Platform;
 
+import 'package:flutter/foundation.dart' show kIsWeb, visibleForTesting;
+import 'package:path_provider_linux/path_provider_linux.dart';
 import 'package:path_provider_platform_interface/path_provider_platform_interface.dart';
 
 export 'package:path_provider_platform_interface/path_provider_platform_interface.dart'
     show StorageDirectory;
 
-PathProviderPlatform get _platform => PathProviderPlatform.instance;
+/// Disables platform override in order to use a manually registered [PathProviderPlatform], only for testing right now
+///
+/// Make sure to disable the override before using any of the `path_provider` methods
+/// To use your own [PathProviderPlatform], make sure to include the following lines
+/// ```
+/// PathProviderPlatform.instance = YourPathProviderPlatform();
+/// disablePathProviderPlatformOverride = true;
+/// // Use the `path_provider` methods:
+/// final dir = await getTemporaryDirectory();
+/// ```
+/// See this issue https://github.com/flutter/flutter/issues/52267 for why this is required
+@visibleForTesting
+set disablePathProviderPlatformOverride(bool override) {
+  _disablePlatformOverride = override;
+}
+
+bool _disablePlatformOverride = false;
+PathProviderPlatform __platform;
+
+// This is to manually endorse the linux path provider until automatic registration of dart plugins is implemented.
+// See this issue https://github.com/flutter/flutter/issues/52267 for details
+PathProviderPlatform get _platform {
+  if (__platform != null) {
+    return __platform;
+  }
+  if (!kIsWeb && Platform.isLinux && !_disablePlatformOverride) {
+    __platform = PathProviderLinux();
+  } else {
+    __platform = PathProviderPlatform.instance;
+  }
+  return __platform;
+}
 
 /// Path to the temporary directory on the device that is not backed up and is
 /// suitable for storing caches of downloaded files.
diff --git a/packages/path_provider/path_provider/pubspec.yaml b/packages/path_provider/path_provider/pubspec.yaml
index 823b755..98059e1 100644
--- a/packages/path_provider/path_provider/pubspec.yaml
+++ b/packages/path_provider/path_provider/pubspec.yaml
@@ -2,7 +2,7 @@
 description: Flutter plugin for getting commonly used locations on the Android &
   iOS file systems, such as the temp and app data directories.
 homepage: https://github.com/flutter/plugins/tree/master/packages/path_provider/path_provider
-version: 1.6.9
+version: 1.6.10
 
 flutter:
   plugin:
@@ -14,13 +14,15 @@
         pluginClass: FLTPathProviderPlugin
       macos:
         default_package: path_provider_macos
-
+      linux:
+        default_package: path_provider_linux
 
 dependencies:
   flutter:
     sdk: flutter
   path_provider_platform_interface: ^1.0.1
   path_provider_macos: ^0.0.4
+  path_provider_linux: ^0.0.1
 
 dev_dependencies:
   e2e: ^0.2.1
diff --git a/packages/path_provider/path_provider/test/path_provider_test.dart b/packages/path_provider/path_provider/test/path_provider_test.dart
index eb17178..90a996f 100644
--- a/packages/path_provider/path_provider/test/path_provider_test.dart
+++ b/packages/path_provider/path_provider/test/path_provider_test.dart
@@ -25,6 +25,10 @@
 
     setUp(() async {
       PathProviderPlatform.instance = MockPathProviderPlatform();
+      // This is required because we manually register the Linux path provider when on the Linux platform.
+      // Will be removed when automatic registration of dart plugins is implemented.
+      // See this issue https://github.com/flutter/flutter/issues/52267 for details
+      disablePathProviderPlatformOverride = true;
     });
 
     test('getTemporaryDirectory', () async {
diff --git a/packages/path_provider/path_provider_linux/CHANGELOG.md b/packages/path_provider/path_provider_linux/CHANGELOG.md
index 5592340..8c9cf2f 100644
--- a/packages/path_provider/path_provider_linux/CHANGELOG.md
+++ b/packages/path_provider/path_provider_linux/CHANGELOG.md
@@ -1,3 +1,6 @@
+## 0.0.1+1
+* This updates the readme and pubspec and example to reflect the endorsement of this implementation of `path_provider`
+
 ## 0.0.1
 
 * The initial implementation of path_provider for Linux
diff --git a/packages/path_provider/path_provider_linux/README.md b/packages/path_provider/path_provider_linux/README.md
index 70097d7..373925d 100644
--- a/packages/path_provider/path_provider_linux/README.md
+++ b/packages/path_provider/path_provider_linux/README.md
@@ -2,36 +2,14 @@
 
 The linux implementation of [`path_provider`].
 
-**Please set your constraint to `path_provider_linux: '>=0.0.y+x <2.0.0'`**
+**Please set your constraint to `path_provider: '>=0.0.y+x <2.0.0'`**
 
 ## Backward compatible 1.0.0 version is coming
 The `path_provider` plugin has reached a stable API, we guarantee that version `1.0.0` will be backward compatible with `0.0.y+z`.
-Please use `path_provider_linux: '>=0.0.y+x <2.0.0'` as your dependency constraint to allow a smoother ecosystem migration.
+Please use `path_provider: '>=0.0.y+x <2.0.0'` as your dependency constraint to allow a smoother ecosystem migration.
 For more details see: https://github.com/flutter/flutter/wiki/Package-migration-to-1.0.0
 
 ## Usage
 
-### Import the package
-
-To use this plugin in your Flutter linux app, simply add it as a dependency in
-your `pubspec.yaml` alongside the base `path_provider` plugin.
-
-_(This is only temporary: in the future we hope to make this package an
-"endorsed" implementation of `path_provider`, so that it is automatically
-included in your Flutter linux app when you depend on `package:path_provider`.)_
-
-This is what the above means to your `pubspec.yaml`:
-
-```yaml
-...
-dependencies:
-  ...
-  path_provider: ^1.5.1
-  path_provider_linux: ^0.0.1
-  ...
-```
-
-### Use the plugin
-
-Once you have the `path_provider_linux` dependency in your pubspec, you should
-be able to use `package:path_provider` as normal.
+This package is already included as part of the `path_provider` package dependency, and will
+be included when using `path_provider` as normal. You will need to use version 1.6.10 or newer.
diff --git a/packages/path_provider/path_provider_linux/example/lib/main.dart b/packages/path_provider/path_provider_linux/example/lib/main.dart
index b01afb7..edba634 100644
--- a/packages/path_provider/path_provider_linux/example/lib/main.dart
+++ b/packages/path_provider/path_provider_linux/example/lib/main.dart
@@ -1,20 +1,10 @@
-import 'dart:io';
-
 import 'package:flutter/material.dart';
 import 'dart:async';
 
 import 'package:flutter/services.dart';
 import 'package:path_provider/path_provider.dart';
-// TODO: Remove the following two lines once path provider endorses the linux plugin
-import 'package:path_provider_linux/path_provider_linux.dart';
-import 'package:path_provider_platform_interface/path_provider_platform_interface.dart';
 
 void main() async {
-  // TODO: Remove the following four lines once path provider endorses the linux plugin
-  if (Platform.isLinux) {
-    await WidgetsFlutterBinding.ensureInitialized();
-    PathProviderPlatform.instance = PathProviderLinux();
-  }
   runApp(MyApp());
 }
 
diff --git a/packages/path_provider/path_provider_linux/example/pubspec.yaml b/packages/path_provider/path_provider_linux/example/pubspec.yaml
index 2cfe89c..0b9b747 100644
--- a/packages/path_provider/path_provider_linux/example/pubspec.yaml
+++ b/packages/path_provider/path_provider_linux/example/pubspec.yaml
@@ -9,11 +9,8 @@
   flutter:
     sdk: flutter
 
-  path_provider: any
-
-  # TODO: Remove this once path provider endorses the linux implementation
-  path_provider_linux:
-    path: ../
+  path_provider:
+    path: ../../path_provider
 
   # The following adds the Cupertino Icons font to your application.
   # Use with the CupertinoIcons class for iOS style icons.
diff --git a/packages/path_provider/path_provider_linux/example/test/widget_test.dart b/packages/path_provider/path_provider_linux/example/test/widget_test.dart
index 99be40a..8ebda3b 100644
--- a/packages/path_provider/path_provider_linux/example/test/widget_test.dart
+++ b/packages/path_provider/path_provider_linux/example/test/widget_test.dart
@@ -9,23 +9,20 @@
 
 import 'package:flutter/material.dart';
 import 'package:flutter_test/flutter_test.dart';
-import 'package:path_provider_linux/path_provider_linux.dart';
 
 import 'package:pathproviderexample/main.dart';
-import 'package:path_provider_platform_interface/path_provider_platform_interface.dart';
 
 void main() {
   group('Test linux path provider example', () {
     setUpAll(() async {
       await WidgetsFlutterBinding.ensureInitialized();
-      PathProviderPlatform.instance = PathProviderLinux();
     });
 
     testWidgets('Finds tmp directory', (WidgetTester tester) async {
       // Build our app and trigger a frame.
       await tester.runAsync(() async {
         await tester.pumpWidget(MyApp());
-        await Future.delayed(Duration(milliseconds: 10));
+        await Future.delayed(Duration(milliseconds: 20));
         await tester.pump();
 
         // Verify that temporary directory is retrieved.
@@ -43,7 +40,7 @@
       // Build our app and trigger a frame.
       await tester.runAsync(() async {
         await tester.pumpWidget(MyApp());
-        await Future.delayed(Duration(milliseconds: 10));
+        await Future.delayed(Duration(milliseconds: 20));
         await tester.pump();
 
         // Verify that documents directory is retrieved.
@@ -61,7 +58,7 @@
       // Build our app and trigger a frame.
       await tester.runAsync(() async {
         await tester.pumpWidget(MyApp());
-        await Future.delayed(Duration(milliseconds: 10));
+        await Future.delayed(Duration(milliseconds: 20));
         await tester.pump();
 
         // Verify that downloads directory is retrieved.
@@ -80,7 +77,7 @@
       // Build our app and trigger a frame.
       await tester.runAsync(() async {
         await tester.pumpWidget(MyApp());
-        await Future.delayed(Duration(milliseconds: 10));
+        await Future.delayed(Duration(milliseconds: 20));
         await tester.pump();
 
         // Verify that Application Support Directory is retrieved.
diff --git a/packages/path_provider/path_provider_linux/example/test_driver/path_provider_e2e.dart b/packages/path_provider/path_provider_linux/example/test_driver/path_provider_e2e.dart
index 5dd6c0d..c90c4d9 100644
--- a/packages/path_provider/path_provider_linux/example/test_driver/path_provider_e2e.dart
+++ b/packages/path_provider/path_provider_linux/example/test_driver/path_provider_e2e.dart
@@ -5,15 +5,11 @@
 import 'dart:io';
 import 'package:flutter_test/flutter_test.dart';
 import 'package:path_provider/path_provider.dart';
-import 'package:path_provider_platform_interface/path_provider_platform_interface.dart';
-import 'package:path_provider_linux/path_provider_linux.dart';
 import 'package:e2e/e2e.dart';
 
 void main() {
   E2EWidgetsFlutterBinding.ensureInitialized();
-  if (Platform.isLinux) {
-    PathProviderPlatform.instance = PathProviderLinux();
-  }
+
   testWidgets('getTemporaryDirectory', (WidgetTester tester) async {
     final Directory result = await getTemporaryDirectory();
     _verifySampleFile(result, 'temporaryDirectory');
diff --git a/packages/path_provider/path_provider_linux/pubspec.yaml b/packages/path_provider/path_provider_linux/pubspec.yaml
index 77bfba2..a327790 100644
--- a/packages/path_provider/path_provider_linux/pubspec.yaml
+++ b/packages/path_provider/path_provider_linux/pubspec.yaml
@@ -1,6 +1,6 @@
 name: path_provider_linux
 description: linux implementation of the path_provider plugin
-version: 0.0.1
+version: 0.0.1+1
 homepage: https://github.com/flutter/plugins/tree/master/packages/path_provider/path_provider_linux
 
 flutter:
diff --git a/script/build_all_plugins_app.sh b/script/build_all_plugins_app.sh
index 0d670af..2c0a906 100755
--- a/script/build_all_plugins_app.sh
+++ b/script/build_all_plugins_app.sh
@@ -21,6 +21,7 @@
   "google_sign_in_web"
   "image_picker_platform_interface"
   "instrumentation_adapter"
+  "path_provider_linux"
   "path_provider_macos"
   "path_provider_platform_interface"
   "path_provider_web"
