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.
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
❯ 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…
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
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.