Lenovo c13 chromebook Morphius - install via submarine

I have been the happy owner of a Morphius with Ryzen 5 and 16 Gigs of Ram for a couple of months and, since it’s still under warranty, I didn’t feel like opening the device, removing the battery and flashing Mr Chromebox’s custom firmware, so I went the submarine route (just developer mode required).

It seems that I’m the only one here with this kind of installation, so let me share how it has gone. I suppose it could be useful for the casual readers.

I flashed ultramarine Fedora with kde plasma 6, everything worked out of the box: touchscreen, touchpad, audio, suspend mode etc… Battery went from a little more than 7 hours to consistently more than 10 hours (it was the main reason for me to move to Gnu linux).

With rust-fp by ChocolateLoverRaj even unlocking via fingerprint works (though after any reboot I have got to enroll the fingerprints again, but I rarely reboot and it takes 30 seconds to enroll them back). The tricky part was finding all the dependencies to compile and build (damn, I had forgotten pam-devel).

The only thing that doesn’t work is that the physical keyboard doesn’t get disabled when in tablet mode and that maliit keyboard works only for apps that support Text-input-v3 but the latter doesn’t obviously depend on my hardware.

So I encourage anyone who doesn’t feel like messing with hardware to test the submarine route which works very well for my device.

Thanks everybody.

Hey, I also had that issue with tablet mode and documented my fix here:

https://forum.chrultrabook.com/t/modern-chromebook-setup-guide-with-thunderbolt-fixes/

Fixing Tablet Mode:

  • Tablet mode mostly works, but there appears to be an issue with the ec firmware that stops the keyboard from being turned off in tablet mode. To get around this I installed linuxflip-git from the aur and created the following:
  • /etc/linuxflip/tablet
rmmod atkbd
  • /etc/linuxflip/laptop
modprobe atkbd
  • Then I made them executable with chmod +x
    Following this, I created and enabled a systemd service for it:
    /etc/systemd/system/linuxflip.service
[Unit]
Description=Start linuxflip at boot

[Service]
Type=simple
RemainAfterExit=yes
ExecStart=/usr/bin/linuxflip /etc/linuxflip/tablet /etc/linuxflip/laptop

[Install]
WantedBy=multi-user.target

Thanks, I will have a look at your fix!

❯ rmmod atkbd
rmmod: ERROR: Module atkbd is builtin.

Sadly in my case I cannot disable the keyboard as per your suggestion, since it does not depend on a module but it’s supported at kernel level. Maybe I might try to write an udev rule…

Thank you anyway.

These commands do work but require sudo
echo 1 > /sys/devices/platform/i8042/serio0/input/input2/inhibited
echo 0 > /sys/devices/platform/i8042/serio0/input/input2/inhibited

Ooh, that’s interesting, I might try something like that, seems better then removing the module anyway. If you use a systemd script it runs as root and has the necessary permissions.

Hey, I made an update to my post, just follow the same instructions (install linuxflip, create service, create /etc/linuxflip scripts) but use your commands instead of the modprobe and rmmod ones in the linuxflip scripts. Also I found that the device number changes every boot, so I ended up using
echo 1 > /sys/devices/platform/i8042/serio0/input/$(ls /sys/devices/platform/i8042/serio0/input/ )/inhibited
echo 0 > /sys/devices/platform/i8042/serio0/input/$(ls /sys/devices/platform/i8042/serio0/input/ )/inhibited

(for some reason input* didn’t work)

Thanks a lot, it works very well.

I just had to manually put the linuxflip executable into the /usr/bin folder and chmod +x it and enable the service with systemctl enable linuxflip.service, which obviously asked me for the root password.

Happy new year, btw.

1 Like