One week with the mudita kompakt as a software developer

My review of the Mudita Kompakt - so far

Hi everyone, I have been using the Kompakt for almost a week at this point, and I think I’m confident enough to make an initial review of my thoughts on the device.

Hardware design

It is compact (pun intended), I really like it. It feels quite well made and I have had no hardware issues with the phone.

Things I love about the hardware:

  • Accurate fingerprint reader
  • Fast OS even on an E-Ink screen
  • Packed with everything you might need (you rarely see all of these options in one device these days): USB-C, wireless charging, headphone jack, double SIM slot, eSIM, microSD Card, NFC, FM Radio, GPS, notification LED, IP rating for splashes… The list goes on.
  • The bezels depend on your taste, I personally like it as it reminds me of a kindle, and I don’t mind a smaller screen (just like the times of old)
  • The camera is not half bad for the price (especially if you use HDR in a third-party camera)
  • Battery life is awesome! I have many sideloaded apps, and with that I still got 4 days of battery life with normal use (listening to podcasts, messaging, occasional browsing, calling). I’m sure I can stretch it to 5 or 6 now that I have settled and configured everything.

Things I wish were better on the Kompakt’s hardware:

  • I would have preferred a dual-tone front light rather than a dual-tone flashlight. The display light is somewhat cool and can be a problem at night time.
  • I am surprised more people do not mention it more in these forums, but I notice the pixel density on this E-Ink screen is a bit low. You can pixel peep pretty easily. Don’t get me wrong: the display is crisp on most situations and gets the job done easily, but I would have appreciated more pixel density, especially for reading text. Also the rendering of some images looks off with some random particle effects visible (you can check the images below). I assume this could be fixed through software, since it only happens with certain color rendering. Kindles have a much better panel I am afraid.
  • It’s sad to see no 5G here. 4G is fine, but 5G would have been a neat addition to future-proof the device.
  • I am yet to receive the screen protector for the Kompakt, but I have already noticed from others here that the screen protector is very reflective. I think there should be a matte screen protector for this device, after all the screen of the Mudita Kompakt itself is matte.
  • A front facing camera would have also been nice for video calls or selfies, though this can be worked around with a USB or bluetooth camera. Still a shame to see no built-in one.
  • Capacitive buttons are not backlit. Minor inconvenience, but it’s mostly fine. They do contrast well and are easy to find in the dark.

The Software - Mudita OS K

The base software is decent for the phone’s intended use. I feel like there are still certain areas that still need improvement.

Things I like about the Kompakt’s software:

  • The quick controls are pretty neat (I miss a toggle for mobile data though)
  • All apps are minimal and look amazing on the Kompakt’s E-Ink screen
  • The system is very snappy and have found no glaring bugs or hiccups

Issues I have had with the software and suggesions:

  • The mudita center does not work for me on Linux (works on windows though). It seemed like an issue with granting usb access to the Mudita Center, but it was already granted and it still did not work on Fedora. Not a big deal though, since I could use adb commands just fine or use MTP for file transfer.
  • Missing option to adjust notification sound and ringtone sound separately. This feature is typically present on android devices.
  • Turning the phone to silent mode (not Offline+) still keeps notification vibrations turned on.
  • No vibrate mode present (even though it’s kinda present thanks to the behavior of the silent mode mentioned above)
  • Inability to set custom notification, ringtone and alarm tones. Again, it is something present in AOSP, sad to see it removed. Can be worked around thanks to third party apps (for setting ringtone) and some apps have built-in notification settings that let you specify a notification sound (like WhatsApp for example).
  • The default Calendar and Contacts app use Local Accounts only, with no options to sync third party calendars or contacts. I use Nextloud and this would be neat. I still can see my online calendars and contacts through third party syncing apps (more on this later), but it would be nice to see this implemented on the official clients.
  • FM Radio is present but hidden. Any reasons as to why this is? My thoughts is that the app is not yet optimized for E-Ink, and will arrive at a later date for all users to see. I will keep using it for now as is.
  • The fingerprint unlock requires you to phisically press the power button when the screen has been off for a while: if I have recently locked the device then placing the finger on the power button will instantly unlock it. However, If 5-10 minutes have passed, the finger does not unlock unless I physically press the power button and turn the screen on first.
  • Ability to set up a pin with a length of anywhere between 4 and 8 digits. Android is usually 4 digits, I personally use longer ones, 7 or 8 digit pin codes. Not a big deal though.
  • Lock screen/Always on Display: When the screen is off, it would be awesome to see an Always on Widget with the date and time, or at least a completely blank (or dark) screen.
  • LED Notifications: it appears the LED only turns on when charging or with low battery, it would be nice to be able to see it when there are pending notifications, especially if you cannot see them when the phone’s screen is off.
  • Notifications: Seems like the lock screen only shows notifications for the stock dialer, clock and SMS app. It would be great to add more options to see notifications from other apps, especially third-party ones.
  • Auto-rotation: I believe the device has the hardware to detect rotation, but have found no way to rotate the screen through settings nor through adb. I was able to rotate the content of books, and the only time I was able to actually rotate the UI was when testing a youtube video on a web browser. It clearly is not meant to do that since some UI elements looked bad (volume panel and quick settings center).
  • No dark mode / inverted UI settings by default. The option for both dark mode and inverted UI are available, they’re just hidden from the user. If you open accessibility settings from adb you can turn either mode on. Dark mode does not work very well for system apps, but does work in sideloaded apps. Inverted mode works great, and is what I have chosen to keep. I have even set a shortcut to turn it on or off by pressing and holding both volume keys at the same time.

Final thoughts

Even though my comments may appear critical, my overall experience with the device has been wonderful! These improvements are just some feedback for the dev team at Mudita to keep improving the device over time, so that they know the kind of issues the community has come accross.

BONUS - My tweaks, sideloaded apps, and pictures!

For those curious, I also add here my setup after tinkering a lot with the device. As I mentioned before, I am a pretty technical guy, I come from a software development background and have tinkered with Linux DIstros and Android ROMs for as far as I can remember. Here are but a few of my Tweaks:

Lock Screen Pictures

Custom Settings

These settings are not available by default, but can be accessed through adb or developer options.

  • Set font size to small from the default medium
  • Set font to bold mode for better readability
  • Turn on developer option Don’t keep activities to prevent most apps from running in the background
  • Enable accessibility option to invert screen colors by pressing and holding both volume buttons at the same time.
  • Enable accessibility option to disable animations, helps the E-Ink refresh less frequently.
  • Turned off all notification sounds with adb shell settings put system notification_sound null
  • Set background processes to 0 to improve battery life with adb shell /system/bin/device_config put activity_manager max_cached_processes 0
  • Disabled stock launcher so I could set a custom one as default. I have replaced it with Unlauncher, and more recently with Niagara Launcher. Niagara launcher can actually show you notifications for all your installed apps!

:warning: Settings you should not mess with (from my experience)

Please do not mess with the default Smallest width setting (360). It is a setting within developer options that allows users to change the scale of the device (make the screen elements larger or smaller). I tried this once, changing it from 360 to 380 (it’s something I usually do on phones to keep the display small), and the device immediately crashed and got stuck unable to boot.

Long story short, it was possible to reset the device to its factory settings, but it was not a fun experience, especially since I had to set everything up again. So let this be a warning to anyone trying to fiddle too much with their Kompakt.

Pictures

Custom Apps

I sideloaded most of these apps with Aurora Store and F-Droid.

Camera & QR Codes

I personally use Open Camera for video and HDR photos, and QR Scanner (PFA) for QR codes

Browser

I use Startpage as my default browser, based on Google Chrome. Works fine for some occasional browsing, and has webview to open links within other apps (you should set up a custom browser as default, the Kompakt comes with a rather barebones webview client that comes as the default browser).

Keyboard

Replaced stock keyboard with Gboard, since it supports speech to text, multiple languages, gif support, resizing and is much more responsive than the stock one (was getting some missed key presses on Mudita’s keyboard).

Generative AI chats and assistants

Note that only apps that do not require Google Play Services will work here. ChatGPT won’t work (unless used from a browser), and Gemini will obviously not work either, but Perplexity works fine (requires Speech Services by Google for voice features to work).

Navigation and GPS

Google Maps does not work, I use an open source Google Maps client called GMaps WV to look up places and public transit routing. For real-time navigation I use Waze and for biking and hiking I use Organic Maps. Works pretty well with car navigation (no Android Auto, as expected)

Banking & NFC Apps

I can use my banking app just fine as it does not require Google Play Services. I can also pay with my Kompakt! The bank I use does not rely on Google Wallet, so NFC payments work flawlessly.

I also tested an app to top-up my public transport card here in Madrid. Works like a charm too!

Music, Radio and Podcasts

OTP Codes (2FA)

I use Aegis Authenticator, its open source!

Gallery

I use Fossify Gallery, it supports proper editing and sharing.

Tip: when sharing images, I typically share them to an app called Scrambled Exif, which removes all metadata from your images before sending it to another person (date, location, device model, among others) so that the messaging client you’re using cannot trace you based on the image you are sending.

Contacts, Files, Photos, and Calendar Sync

As mentioned before, I manage all three with Nextcloud, but any WebDaV/CalDaV should work too, on a custom calendar app.

For online syncing with my Nextcloud contacts and calendar, I use DAVx⁵ and ICSx⁵.

  • Calendar: I replaced the stock one with Etar, so I can see other local/online calendar accounts
  • Contacts: Replaced the stock one with Fossify Contacts, has more options like birthdays or address and can save directly to my cloud synced contacts. It also allows you to set a specific ringtone for a specific contact, which is neat.
  • Files: I use the Nexcloud app
  • Photos: I have them synced to my Nexctcloud, I can access them through Memories

Last but not least, reader app

Both Librera FD (open source) and ReadEra (closed source) are good options, either one will work for you. They have more options than the stock one. Librera FD even has an E-Ink optimized theme!

Feel free to ask any questions regarding my setup, cheers!

Note: I will continue editing and adding to this post over time.

34 Likes

Thanks for this fantastically detailed and helpful review!
These are great tips. I changed font to bold, for example, and it made an very noticeable difference.

Two questions: I tried to access “Don’t keep activities”, but when I search for it in developer options I cannot seem to get to it. When I type it in the search bar it comes up, but then it doesn’t direct me there when I press on it. Any idea why?

On niagara launcher: does this mean you can see notifications from the calendar like on a regular smartphone? With the complete event, not just an alarm/notification? That makes me consider the Niagara launcher, even though I also like the stock setup of the phone as it is.

1 Like

Hello! Responding to both of your questions:

The option is kinda tricky to find! The developer options page does not scroll naturally, rather it is supposed to scroll one full page at a time. I also noticed that the scroll never actually shows that option, which is weird, but if you set the font size to small, the option suddenly barely appears at the bottom of the screen, above the option Background process limit. Here are a couple screenshots:

Interestingly, the option Background process limit does not persist after reboot, but Don’t keep activities does persist after a reboot. The first one is another way to prevent apps from running in the background.

Regarding your second question, Niagra Launcher is a bit of a hit or miss. It would get the job done, if the app worked properly… Niagra has an option to show you your calendar events and your app notifications, which is great since the Mudita Kompakt cannot open your traditional Android notification drawer. The problem is that the launcher has two problems on this phone (haven’t experienced them on any other phone):

  • You cannot press the Done button on the initial screen where you select your favorite apps, the app does not do anything. You can bypass the Done press by hitting the Tab key on your computer through scrcpy, but it turns out that after a reboot the device asks for the initial setup again,
  • You cannot open Niagara Settings, clicking on the button to do so or launching the app activity to open the settings does not do anything. Which means you cannot customize the launcher either

Both these issues sadly render this app useless on the Kompakt, I will keep trying to find a solution to this.

Here’s how notifications would look on WhatsApp right from your homepage (also note the calendar event at the top):

1 Like

Im curious where do you find GMaps WV and how do you use the built in FM radio?

1 Like

GMaps WV is an app you need to sideload manually. Here’s the F-Droid Link to it: GMaps WV | F-Droid - Free and Open Source Android App Repository

The built-in FM-Radio is present, but not shown on the launcher. In order to open it, you can do one of these three methods:

I would assume the FM Radio will arrive eventually. The required hardware is present, and the Kompakt survey includes the FM Radio as a potential new feature, so it’s only a matter of time before it comes out officially.

2 Likes

Thank you!

1 Like

Thanks a lot! Too bad about Niagara, then.
I finally was able to locate the activities option. For some strange reason I didn’t have an option for “font size” in my settings, but I had a setting for “display size” which looked very similar. When I changed that to small I was able to find that setting. Thanks again.
Btw, I saw another user say that he found it helpful to turn off animations, for maps etc. Do you think that makes a difference, or not?

1 Like

Glad to hear that! I also turned off animations , it helps with the slower refresh rate on the E-Ink screen. The setting will tell every app to try and disable animations, though not all will.

Still, it’s definitely a good idea to do so :slight_smile:

2 Likes

wow! thank you for such a detailed write up. it makes me confident that as a technical guy myself I will be able to turn MK into what I want it to be. also none of the issue you have mentioned seem critical to me (many critical reviews over the recent days made me a bit nervous)

2 Likes

Thanks for the review! I gotta ask , what camera app are you using that supports HDR? I’m trying to compile a list of all the most lightweight degoogled apps for this device.

2 Likes

I am using Open Camera from F-Droid. I’m sure it’s not the only open source camera out there that supports HDR :wink:

1 Like

Fossify apps is a whole collection of open source simple private apps intended to replace AOSP apps which are barley maintianed. i tried a few and they work well as they stick to simple material design. could be improved if they or someone added a eink optomised theme/setting

3 Likes

For most of them you can edit the theme color. Use White theme, but u can still customize the colors to get full black in case it doesn’t have it on by default.

1 Like

Thank you! @madebypixel02 ! So much good info!

I just have a question about background processes. What is the difference between setting the background processes to 0 with the adb command you shared and the developer option Don´t keep activites?

Do I need to do both if I want to have a longer battery time? And if I use the adb-command, how do I set it to the default mode if I want to?

Thanks!

2 Likes

I was unsure of the answer to this myself, so after a bit of digging, here’s a short AI-generated table of the key differences of each of the three ways to reduce background processes to potentially save battery.

Feature/Setting What It Does Impact on Battery & Usage
ADB Command (device_config put activity_manager max_cached_processes 0) Sets the system-wide maximum number of cached background processes to zero. Prevents Android from keeping any cached background processes, potentially saving RAM and battery, but can cause more frequent app reloads, possibly increasing battery use when multitasking.
Developer Option: “Don’t keep activities” Destroys every activity as soon as the user leaves it (activity is killed, not just backgrounded). Aggressively closes activities, freeing memory and possibly saving battery in standby, but increases reloads and CPU usage when switching apps, which can negate battery savings.
Developer Option: “Background process limit” Limits the number of background processes Android keeps alive (e.g., “No background processes,” “At most 2”). Restricts background multitasking, which can save battery when few apps are used, but can cause more reloads and higher battery use if you frequently switch between apps.

It seems that all three options can help save battery in different ways, especially when the device is idle. I don’t have a definitive answer to which is best in this case, we would need to test more.

As to how to undo the change to the adb command, you shoud use this:

adb shell /system/bin/device_config delete activity_manager max_cached_processes

Regads,

Alex

2 Likes

Thanks for your detailed review. I was really hoping for Niagara launcher as I love the launcher and it gives the missing functions (notification, widgets). What launcher are you using now? How do you handle notifications?

1 Like

I am using Unlauncher at the moment, I shared a screenshot in the original post. It is a text-based launcher. It has no notification support, so for now I have no way of seeing notifications unless I manually open each app.

I am still exploring alternatives to find a better approach to this, but will keep using Unlauncher for now.

1 Like

interestingly this was one of the questions on the feedback form

1 Like

Funny enough, found a workaround for both issues I mentioned in my last post. Niagara works now! Here’s how to do it:

  1. Install Niagara Launcher normally
  2. Open it, read and accept the terms of use, and select your favorite apps to pin
  3. You now need to use a keyboard: either use scrcpy or connect a USB or bluetooth keyboard to the Mudita Kompakt. Press the Tab key, and then press Enter. This effectively changes the current selection (app list) to select the greyed out Done button. By pressing Enter you are simulating a click on the button.
  4. Set the launcher as default and you should be good to go!

After all these steps are completed, it appears that it is then possible to open Niagara Settings, allowing you to modify the settings to your personal taste. And I have tested rebooting a couple of times and settings do persist!

Note: it is not enough to set the launcher as default for sideloaded launchers to work, you also have to disable the mudita launcher from adb:

adb shell pm disable-user --user 0 com.mudita.launcher

Do not worry, you can always turn it back on with adb shell pm disable-user --user 1 com.mudita.launcher.

Here are a couple of sample images of the Launcher in action. A few cool features:

  • Ability to change to Niagara Dots, which essentially turns it into a text-based launcher.
  • Hide Unused apps and top bar
  • See notification previews for any app (built-in or sideloaded), even for media playing in the background!
  • See calendar events at a glance
5 Likes

Awesome! Thanks for figuring this out. This is exactly how I wanted to use my Kompakt. I should get mine in a few days and will then use your guide to set it up :slight_smile:
Do I need to set up Niagara first and then disable the standard launcher or the other way round? Or does it not matter?

2 Likes