|
| 1 | +#Ubuntu 25.04 Tablet Mode Setup |
| 2 | + |
| 3 | +This script will set up tablet mode support for your laptop on Ubuntu 25.04, giving you an experience similar to what Fedora 42 and Bazzite offer out of the box. |
| 4 | + |
| 5 | +What This Script Does |
| 6 | + |
| 7 | +- Installs necessary packages for tablet mode detection |
| 8 | +- Sets up automatic screen rotation |
| 9 | + |
| 10 | +##To setup tablet mode compatibility for Ubuntu 25.04 (ONLY), simply run: |
| 11 | + |
| 12 | +Install Curl, copy, paste into a terminal, enter key: |
| 13 | +``` |
| 14 | +sudo apt install curl -y |
| 15 | +``` |
| 16 | + |
| 17 | +Then run, copy, paste into a terminal, enter key: |
| 18 | +``` |
| 19 | +curl -s https://raw.githubusercontent.com/FrameworkComputer/linux-docs/refs/heads/main/framework12/scripts/Framework-12-Ubuntu-25-04-tablet-mode.sh -o Framework-12-Ubuntu-25-04-tablet-mode.sh && clear && sudo bash Framework-12-Ubuntu-25-04-tablet-mode.sh |
| 20 | +``` |
| 21 | + |
| 22 | +>IMPORTANT: When rebooting, log back in. Wait about 20 second until the desktop loads, it will flash for a second then all is well. This is the extension installing itself and activating. Do not rush this. |
| 23 | +
|
| 24 | + |
| 25 | +Running the script in the future After the install, you can run going forward with the following in the HOME directory. So merely opening a terminal and running this will work if the original script has not been moved. |
| 26 | + |
| 27 | +``` |
| 28 | +sudo bash Framework-12-Ubuntu-25-04-tablet-mode.sh |
| 29 | +``` |
| 30 | + |
| 31 | + |
| 32 | +>IMPORTANT: When rebooting, log back in. Wait about 20 second until the desktop loads, it will flash for a second then all is well. This is the extension installing itself and activating. Do not rush this. |
| 33 | +
|
| 34 | +------------------------- |
| 35 | + |
| 36 | +##What does this do and why is it using an extension? |
| 37 | + |
| 38 | +###What This Script Does |
| 39 | + |
| 40 | +This script configures auto-rotation and on-screen keyboard functionality for the Framework Laptop 12 running Ubuntu. Here's what it accomplishes: |
| 41 | + |
| 42 | +- Sets up iio-sensor-proxy service - Installs and configures the sensor proxy service that detects device orientation changes |
| 43 | +- Installs required packages - Adds necessary dependencies for sensor detection and screen rotation |
| 44 | +- Installs Fedora's iio-sensor-proxy package - Uses a version known to work well with the Framework hardware |
| 45 | +- Sets up proper device access for sensor hardware |
| 46 | +- Configures udev rules - Creates rules to ensure sensors have the right permissions |
| 47 | +- Sets up systemd service - Ensures sensor proxy runs automatically at startup |
| 48 | +- Installs screen-rotation extension - Adds the GNOME extension that performs the actual rotation |
| 49 | + |
| 50 | +###Why It Uses a GNOME Extension |
| 51 | + |
| 52 | +The script uses a GNOME Shell extension ("screen-rotate@shyzus.github.io") for several important reasons: |
| 53 | + |
| 54 | +- Integration with GNOME Desktop Environment - The extension hooks into GNOME Shell's display management system to handle rotation properly |
| 55 | +- User Interface Integration - The extension provides visual feedback during rotation and handles the UI transform smoothly |
| 56 | +- Event Handling - It properly processes sensor events from iio-sensor-proxy and applies the appropriate screen transformations |
| 57 | + |
| 58 | +The extension serves as the crucial interface layer between the low-level sensor drivers (iio-sensor-proxy) and the user-facing desktop environment, allowing the Framework Laptop 12 to function properly as a convertible device with automatic screen rotation when switching between laptop and tablet modes on Ubuntu 25.04. |