What are the Linux system requirements for tablet mode?

Just adding in that I followed the workaround now as well and it worked! Super simple fix, just three commands.

Ooh, interesting!

$ zgrep CROS_EC /proc/config.gz
CONFIG_KEYBOARD_CROS_EC=m
CONFIG_I2C_CROS_EC_TUNNEL=m
CONFIG_GPIO_CROS_EC=m
CONFIG_SENSORS_CROS_EC=m
CONFIG_CROS_EC_WATCHDOG=m
CONFIG_MFD_CROS_EC_DEV=m
CONFIG_CEC_CROS_EC=m
CONFIG_SND_SOC_CROS_EC_CODEC=m
CONFIG_CROS_EC_UCSI=m
CONFIG_LEDS_CROS_EC=m
CONFIG_RTC_DRV_CROS_EC=m
CONFIG_CROS_EC=m
CONFIG_CROS_EC_I2C=m
CONFIG_CROS_EC_ISHTP=m
CONFIG_CROS_EC_SPI=m
CONFIG_CROS_EC_UART=m
CONFIG_CROS_EC_LPC=m
CONFIG_CROS_EC_PROTO=y
CONFIG_CROS_EC_CHARDEV=m
CONFIG_CROS_EC_LIGHTBAR=m
CONFIG_CROS_EC_DEBUGFS=m
CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_EC_SYSFS=m
CONFIG_CROS_EC_TYPEC_ALTMODES=y
CONFIG_CROS_EC_TYPEC=m
CONFIG_EXTCON_USBC_CROS_EC=m
CONFIG_IIO_CROS_EC_ACCEL_LEGACY=m
CONFIG_IIO_CROS_EC_SENSORS_CORE=m
CONFIG_IIO_CROS_EC_SENSORS=m
CONFIG_IIO_CROS_EC_SENSORS_LID_ANGLE=m
CONFIG_IIO_CROS_EC_LIGHT_PROX=m
CONFIG_IIO_CROS_EC_BARO=m
CONFIG_CROS_EC_MKBP_PROXIMITY=m
CONFIG_PWM_CROS_EC=m

I have CONFIG_IIO_CROS_EC_LID_ANGLE, but I don’t have CONFIG_CROS_EC_LID_ANGLE.

$ zgrep CONFIG_IIO /proc/config.gz
CONFIG_IIO=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER_DMA=m
CONFIG_IIO_BUFFER_DMAENGINE=m
CONFIG_IIO_BUFFER_HW_CONSUMER=m
CONFIG_IIO_KFIFO_BUF=m
CONFIG_IIO_TRIGGERED_BUFFER=m
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_GTS_HELPER=m
CONFIG_IIO_TRIGGER=y
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
CONFIG_IIO_SW_DEVICE=m
CONFIG_IIO_SW_TRIGGER=m
CONFIG_IIO_TRIGGERED_EVENT=m
CONFIG_IIO_BACKEND=m
CONFIG_IIO_CROS_EC_ACCEL_LEGACY=m
CONFIG_IIO_ST_ACCEL_3AXIS=m
CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_IIO_KX022A=m
CONFIG_IIO_KX022A_SPI=m
CONFIG_IIO_KX022A_I2C=m
CONFIG_IIO_RESCALE=m
CONFIG_IIO_CROS_EC_SENSORS_CORE=m
CONFIG_IIO_CROS_EC_SENSORS=m
CONFIG_IIO_CROS_EC_SENSORS_LID_ANGLE=m
CONFIG_IIO_INV_SENSORS_TIMESTAMP=m
CONFIG_IIO_MS_SENSORS_I2C=m
CONFIG_IIO_SSP_SENSORS_COMMONS=m
CONFIG_IIO_SSP_SENSORHUB=m
CONFIG_IIO_ST_SENSORS_I2C=m
CONFIG_IIO_ST_SENSORS_SPI=m
CONFIG_IIO_ST_SENSORS_CORE=m
# CONFIG_IIO_SIMPLE_DUMMY is not set
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
CONFIG_IIO_ST_LSM6DSX=m
CONFIG_IIO_ST_LSM6DSX_I2C=m
CONFIG_IIO_ST_LSM6DSX_SPI=m
CONFIG_IIO_ST_LSM9DS0=m
CONFIG_IIO_ST_LSM9DS0_I2C=m
CONFIG_IIO_ST_LSM9DS0_SPI=m
CONFIG_IIO_ADIS_LIB=m
CONFIG_IIO_ADIS_LIB_BUFFER=y
CONFIG_IIO_CROS_EC_LIGHT_PROX=m
CONFIG_IIO_ST_MAGN_3AXIS=m
CONFIG_IIO_ST_MAGN_I2C_3AXIS=m
CONFIG_IIO_ST_MAGN_SPI_3AXIS=m
CONFIG_IIO_MUX=m
CONFIG_IIO_HRTIMER_TRIGGER=m
CONFIG_IIO_INTERRUPT_TRIGGER=m
CONFIG_IIO_TIGHTLOOP_TRIGGER=m
CONFIG_IIO_SYSFS_TRIGGER=m
CONFIG_IIO_CROS_EC_BARO=m
CONFIG_IIO_ST_PRESS=m
CONFIG_IIO_ST_PRESS_I2C=m
CONFIG_IIO_ST_PRESS_SPI=m
1 Like

Well, replying here again because it worked perfectly for me. However, I had to restart my system for something else, and now it isn’t working. Testing it shows the sensor is working, but KDE has stopped rotating. As far as I know, I haven’t done anything differently.

Hmm… Quick question, if I may: will the various fixes for Linux in this thread be included in the NixOS modules, if Framework will be maintaining any?

Probably not maintain by framework official, but maintain by framework community.

2 Likes

I’m experiencing this under kUbuntu, Fedora and Mint/Cinnamon. A reboot doesn’t clear the issue, but a suspend resolves the issue, as does a full shutdown.
Also my rotation sensor doesn’t seem to work. The workaround for rotation under Ubuntu doesn’t work (I’m running kUbuntu, so maybe it’s different?), but Fedora would work out of the box and doesn’t.
Mine is a batch 1 i5.

Running sudo libinput debug-events
-event11 SWITCH_TOGGLE +9.303s switch tablet-mode state 1
This fires when I switch to tablet mode, but no event fires when I moved it back to laptop mode.

I’ve raised a ticket with support. They’ve done basic troubleshooting and are escalating apparently. Glad it’s not just me!

Did you try any other Distros? I’m just wondering if this is an Arch problem (which seems unlikely, given I’ve got the same issue under multiple distros) or is something wrong with some of the FW12 systems.

Anybody tried manually firing off tablet mode via framework_tool as a workaround? I’ve already got a shell script on my desktop to do manual screen rotation, which is actually fine tbh

FWIW, debian trixie, with kernel 6.12.33-1 (2025-06-19) and iio-sensor-proxy package version 3.7-2, AND the same fix as Ubuntu 25.04 from up thread has both the rotation sensor AND the lid angle sensor (which is showing up as iio:device0) working for me.

Going into tablet mode is disabling the keyboard, and coming out is successfully re-enabling it as well.

5 Likes

So that’ll be Debian testing?
And, it probably shouldn’t matter, but what desktop environment?

Yup, upcoming debian 13/trixie, upgraded from a debian 12/bookworm install. I gather 13 is supposed to be coming out soonish – it’s been really stable in the other places I’ve been running it (but I usually run testing or unstable, so I’m okay on the edge).

And I’m on Gnome at the moment – settings reports Gnome 48 under wayland.

Also, fwiw, I’ve got an i3 model with a 1TB nvme drive and 32 GB of memory.

I’ve built framework_tool

sudo ./framework_tool --sensors
[ERROR] EC Response Code: InvalidParameter
Accelerometers:
  Lid Angle:   Unreliable

framework_tool --tablet-mode laptop / tablet manually seems to work pretty well

GitHub - thewishy/fw12_dirty_hax: Dirty hacks for the problems with the tablet mode setup for the early FW12 laptops is my ā€œI just want to get something workableā€ attempt, just some shortcuts to pop on the desktop

Just a quick update without a new post. Framework have run had me run a diagnostic script (grabs kernel logs) and pushed that up to escalation support, who are unusually busy and will take a couple of days. Looking through the logs, I’m pretty sure the data they need isn’t there, so expecting some further ping-pong

4 Likes

This has now been reported in multiple threads, so creating FW12 - Problems returning from Tablet Mode - Tracking thread to track the issue

2 Likes

I just encountered a different problem from what was previously reported here :
Everything work as expected (lid sensor properly report angle, keyboard/trackpad is properly disabled/enabled when the lid go above ~180) except that the tablet-mode event is not fired, so KDE doesn’t auto-rotate when this setting is enabled :


For information I’m on arch using KDE and I’ve applied the necessary patch to iio-sensor-proxy.

The weird part is that it was working fine yesterday and I didn’t update anything since. I did install tlp, maybe it’s linked …
I’ve tried running libinput debug-events and no event appear when I move the screen to tablet orientation.
Any idea of what to check next ?

EDIT :
Seems that I found the solution, I’ve posted a message here :

2 Likes

Maybe repost this in the new thread TheWishy created just above your post

I would say this seems like a different problem, and certainly note one I’ve seen reported before. Maybe try a Fedora LiveCD and see if the problem exists there too?

Fresh install, fully updated, no tweaks made. Fedora Workstation 42.

Bazzite/Bluefin would be the same. Folded back, tablet mode, unfolded back to normal, resumes proper operation.

Early on, we found it worked with KDE Plasma, but we do not have not tested it recently.

4 Likes

Bleeding edge, emphasis on the bleeding part :smiling_face_with_tear:

I think i was having some issues with getting Arch to behave with Wayland etc on my FW13 a couple years ago, albeit with the 12th gen Intel board. It’s fun but only for so long. Here’s to hoping enough tinkerers get into Framework that there’s a huge amount of support for the 12 and 13 and 16 in the future.

Glad to see this, planning to use Bluefin. Any weird stuff on Fedora so far?

Probably not something specific to the FW12, but I note that in tablet mode, the default virtual keyboard for Fedora KDE (Maliit) sometimes does not appear when I select a text input field in certain applications e.g. browsers. Does anyone know of a fix or workaround, e.g. an icon on the Task Manager that would force the keyboard to display?

I’ve generally found problems in KDE around the onscreen keyboard. I think mostly because kUbuntu is taking first steps with Wayland?
Gnome worked a lot better in that respect, but I couldn’t hate the interface more!

I’m just switching out of tablet mode if I need to type!

Just got my Sage unit and tried running OpenSUSE as an alternative (European) unsupported Linux distro on it - and despite having a recent enough kernel (6.15.6-1-default) and iio-sensor-proxy available on it, it doesn’t seem to run the iio-sensor-proxy service at all sadly.

(Running it through OpenSUSE Tumbleweed > KDE > Wayland, in case this might be relevant.)