惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
M
MIT News - Artificial intelligence
Engineering at Meta
Engineering at Meta
云风的 BLOG
云风的 BLOG
博客园 - 叶小钗
Jina AI
Jina AI
Last Week in AI
Last Week in AI
The Cloudflare Blog
博客园 - 【当耐特】
Stack Overflow Blog
Stack Overflow Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
WordPress大学
WordPress大学
博客园_首页
I
InfoQ
G
Google Developers Blog
Martin Fowler
Martin Fowler
Recent Announcements
Recent Announcements
H
Help Net Security
U
Unit 42
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
P
Proofpoint News Feed
IT之家
IT之家
Microsoft Security Blog
Microsoft Security Blog

Hacker News

GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Bonsai 1-bit WebGPU - a Hugging Face Space by webml-community Moving a large-scale metrics pipeline from StatsD to OpenTelemetry / Prometheus GitHub - Nightmare-Eclipse/RedSun: The Red Sun vulnerability repository GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. GitHub - macOS26/Agent: Any AI, replaces Claude Code, Cursor, OpenClaw. Over 18 LLM providers (Claude, OpenAI, Gemini, Ollama, Zai, HF, Qwen) wired into a native Mac app that writes code, builds Xcode projects, bumps versions, manages git, automates Safari, use AppleScript, JS or Accessibility, extend Agent! w/ MCP Servers, run tasks from your iPhone via Messages. YouTube now lets you turn off Shorts I Made a Terminal Pager Burgers | マクドナルド公式 Commands — HackerNews CLI documentation ChatGPT for Excel PiCore - Raspberry Pi Port of Tiny Core Linux Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Founding Engineer at Adaptional | Y Combinator CRISPR takes important step toward silencing Down syndrome’s extra chromosome GitHub - saffron-health/libretto: The AI toolkit for building reliable browser automations US v. Heppner (S.D.N.Y. 2026) no attorney-client privilege for AI chats [pdf] Retrofitting JIT Compilers into C Interpreters IPv6 – Google The Accursèd Alphabetical Clock Cybersecurity Looks Like Proof of Work Now Fragments: April 14 Cal.com Goes Closed Source: Why AI Security Is Forcing Our Decision | Cal.com - Scheduling Software for Online Bookings Laravel raised money and now injects ads directly into your agent When moving fast, talking is the first thing to break Too much Discussion of the XOR swap trick – Heather Cafe Introduction to Spherical Harmonics for Graphics Programmers The Grand Line
GitHub - tarpediem/zenvision-linux: Linux userspace drive...
2026-06-02 · via Hacker News

🟢 The first open-source Linux driver for the ASUS ZenVision lid OLED — the protocol was reverse-engineered from scratch (Ghidra on MyASUS). Want live applets and audio-reactive visualisers on top? See the companion app zenvision-studio.

Userspace Linux driver for the ASUS ZenVision lid OLED — the 3.5", 256×64 monochrome screen embedded in the lid of the ASUS Zenbook 14X OLED Space Edition (UX5401ZAS).

ASUS only ships software for this screen on Windows (inside MyASUS). This project reverse-engineers the USB protocol and lets you drive the panel from Linux: show images, play animations, or display whatever you like.

Status: working on UX5401ZAS. Other ASUS lid-OLED models may use a similar protocol — reports and PRs welcome.

demo

How it works

The lid screen is a Nuvoton M480 USB device (0b05:8835). It is not a DRM display — you don't get a /dev/fb; instead you push a 256×64, 4-bit-grayscale framebuffer to a bulk endpoint after a small command handshake. Full details in PROTOCOL.md.

Requirements

  • Python 3.9+
  • pyusb and Pillow
  • libusb-1.0
  • Raw USB access (root, or the provided udev rule)
python -m venv .venv && . .venv/bin/activate
pip install pyusb pillow

Arch Linux (AUR)

yay -S zenvision-linux-git        # installs the `zenvision` CLI + the udev rule

Usage

# Static image (auto-resized to 256x64, converted to grayscale)
sudo ./zenvision.py image picture.png

# White test pattern / clear
sudo ./zenvision.py image --white
sudo ./zenvision.py off

# Play a folder of frames as a smooth animation
sudo ./zenvision.py anim frames/ --fps 20

Brightness: --bright 0xff (scale is approximate; tune by eye).

Generate the demo animation

examples/spark_demo.py renders a generic rotating-starburst animation into a frames/ folder you can feed to anim:

pip install pillow
python examples/spark_demo.py --out frames --w 256 --h 64
sudo ./zenvision.py anim frames/ --fps 20

Want a logo? Render any monochrome 256×64 frames into a folder and point anim at it. (Tip: rsvg-convert an SVG, or ffmpeg -i clip.gif frames/%03d.png.)

Running without root (udev)

Copy the rule so your user can access the device:

sudo cp udev/70-zenvision.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && sudo udevadm trigger

The 70- prefix matters: the rule must sort before 73-seat-late.rules so the uaccess tag is applied — otherwise the ACL is never granted. uaccess gives the logged-in user access (the right mechanism on systemd; no plugdev group needed). Then run without sudo.

Notes & safety

  • The panel is firmware-powered and survives a re-plug; experiments are recoverable with a reboot. Sending malformed control reports on the HID interface can soft-reset the MCU (it re-enumerates cleanly) — this driver only uses the vendor interface.
  • This is an independent, unofficial project. Not affiliated with or endorsed by ASUS.
  • No ASUS firmware, binaries, or decompiled code are included or required.

Contributing

If you have another ASUS model with a lid OLED, please open an issue with: lsusb, your model number, and whether the framing here works. The protocol doc is written to make porting straightforward.

License

MIT.