top | item 44854686

Show HN: Play Pokémon to unlock your Wayland session

124 points| anajimi | 6 months ago |github.com

Hello everyone!

I've created a gameboy emulator to unlock my Wayland session and wanted to share this project to everyone here!

I've been a Linux enthusiast since I was a kid. What always captivated me was the freedom to customize my system exactly the way I wanted. With Wayland, we've reached an incredible level of performance. It's like turning your operating system into a video game! I've always been fascinated by the blend of fun and the serious, technical nature of an OS. That’s what inspired me to create this project.

I started by studying Wayland, its protocol and how to build a compositor. Then I became particularly intrigued by the concept of a locker, which reminded me a bit of an escape game. That’s when I thought: how cool would it be to solve a puzzle to unlock your session, instead of just typing a password? Since I’ve worked with emulators in the past and I’m a huge Pokémon fan, the idea of building the puzzle around that game came to me instantly!

Technically, the locker code and the wayland protocol have been implemented from scratch ( using EGL and wl_keyboard_listeners ). My locker runs a version of the gbcc emulator modded by myself. This emulator waits for one precise value to be set in a given memory address.

I have modded the Pokémon game to my needs: when the password is good, I put the good value in the good memory address so the emulator knows it needs to unlock the session.

Hope you will appreciate this project!

52 comments

order

OsrsNeedsf2P|6 months ago

Heavy customization is important to me on the Linux desktop. This project has given me a lot more faith in Wayland than 5 years of hearing debates about it.

yjftsjthsd-h|6 months ago

FWIW, as a ... Wayland skeptic/pessimist¹, screen locking does seem to be one place where things actually work and seem more sensible than under X.

¹ It always seems to be just around the next corner. Sixteen years on, it would be nice if we could have feature parity.

skerit|6 months ago

Incredible that we're getting something like this before a plain good old screensaver

anajimi|6 months ago

Thanks for your idea! I think it is totally possible to implement a screensaver with the ext-session-lock protocol. I will try to explore this idea when I have time in the next few months :)

derefr|6 months ago

For use with vintage computers that use CRTs? If not, what kind of oddball display / use-case do you have, where it would be better to play a screensaver than to follow the usual modern flow of display dim -> display black -> display sleep -> computer lock -> [maybe] computer sleep?

d3Xt3r|6 months ago

Ah, goody. Looks like I found the only other Wayland user on HN. ;)

You should also post here: https://news.ycombinator.com/item?id=44837981

jchw|6 months ago

On the KDE side, Wayland has been going pretty well. Wayland sessions make up 82% of all sessions with telemetry enabled.

https://blogs.kde.org/2025/03/15/this-week-in-plasma-file-tr...

For me the real conundrum was SwayWM vs KDE Wayland rather than any X.org session; I really felt like SwayWM was a good upgrade from i3wm and gave me a better desktop session with much less hacks. Hope to see wlroots push forward and support some of the newer Wayland protocols, it has started to fall behind a little bit, but I think it's good for alternative desktops.

alex-moon|6 months ago

I use Wayland! I like it a lot and I think that it's a sensible way to take window management in the 21st century. However, it's clearly not _mature_ yet (which is understandable - it's very new!). My use case specifically is a bit unusual:

1. I'm on an NVIDIA graphics card - this struggles a lot, I won't lie, and it's really odd issues which are difficult to track down. 2. I'm running Deskflow for virtual KVM - this is using literally someone's hand-rolled attempt to hack Wayland to make it work - it manages the most important element: my keyboard and mouse are shared between my Linux desktop and my MacBook - but much of the incidental functionality, most notably copy-pasting and repeating held keys, doesn't work at all. Mod keys seem a bit fucky as well.

That said, I'm committed - am excited to see the tech honed in the coming years.

righthand|6 months ago

There are dozens of us…dozens!

juujian|6 months ago

The trick was to switch to AMD (screw NVIDIA on Linux).

heresie-dabord|6 months ago

I count for at least two!

Wayland in Raspberry Pi OS (labwc)

Wayland in Debian: Bookworm (Sway), Trixie (labwc)

anajimi|6 months ago

Thank you for the link! Hope to see more people using Wayland then :D

DiabloD3|6 months ago

Ironic you say that, because I also use Wayland.

rtsang1|6 months ago

For a moment, I thought the punchline was that users needed to play through the game and clear the elite four to unlock their session.

anajimi|6 months ago

Very cool idea, I may implement a hardcore mode in the future just for fun lol.

Babkock|6 months ago

Also thought this. Never made it that far on the original

skyzouwdev|6 months ago

That’s a really creative take on session locking. I can see it being both fun and surprisingly secure — anyone trying to unlock your machine would need to know the game and the exact sequence. Do you see this as more of a novelty project, or could it be adapted for practical use in real security setups?

anajimi|6 months ago

Thank you for your kind comment! To be honest I saw this as a novelty project, however I think it could be more secure than a password locker, at least in some cases where the password is weak.