Daily driving a smartphone without screen March 3, 2023 source/commit

Last year my phone’s screen broke in a way, that made it register inputs even if nothing was touching it. Any reasonable person would simply get a new phone, but I am not reasonable and also didn’t have any spare cash back then. So here is a short post about how I used my phone without a screen for around a month.

the phone during boot
0. the phone during boot

#Making it somewhat usable

The screen wasn’t completely unusable, and I was even able to text to some extent, but it was getting noticeably worse as the day went on. Once I got home in the evening I battled with it to turn on USB debugging and tried to set custom resolution using adb:

1
2
$ adb shell wm density 500
$ adb shell wm size 1080x1080

Thanks to the square aspect most of the area with ghost touches was cut off. Using scrcpy (a tool for controlling Android from pc) made inputting things easier, but after a few days of using it like this, even that became too much of a chore.

#Disabling the screen completely

Since my phone was rooted, I tried looking for some better solution on XDA and I found a thread (couldn’t find it again), whose author mentioned disabling some drivers and even if their exact solution didn’t work it made me realize, that Android is just Linux under the hood.

I ran rm /dev/input/* as root and voilà, the touch stopped working, and so did all the buttons…. After rebooting the phone I started deleting inputs one by one until I found one, that corresponds to the screen (event2 in my case).

By placing the following file inside /data/adb/service.d, so it gets executed by Magisk on boot, we can permanently disable the touchscreen and dim the LCD, since we don’t need it.

1
2
3
4
#!/system/bin/sh

rm /dev/input/event2
echo 0 > /sys/class/leds/lcd-backlight/max_brightness

#Authorizing ADB on another computer

If a screen is non-functional it is obviously very difficult to use it to allow debugging when we plug the phone into an unauthorized PC. Thanks to this thread I found out, that all I had to do to enable debugging on my laptop was copy the contents of ~/.android/adbkey.pub into /data/misc/adb/adb_keys on my phone.

#Daily usage

It is not desirable to need a pc for answering calls, but my earbuds had the ability to accept via double-tap, so I always kept them within reach.

The only thing aside from calls, that I needed my phone for was my banking app, which did not allow screen recording so scrcpy would only show black screen. Thankfully there is a Xposed module made precisely for solving this issue.

The positive thing was, that whenever I would usually look at something on my phone to pass time, I had to do something meaningful instead. And although I don’t recommend breaking your phone, it was definitely a refreshing experience.

Have something to say? Feel free to leave your thoughts in my public inbox or contact me personally.