Repository navigation
Releases
WPE Browser 0.3.1
YouTube in mpv, now with RustyPipe: videos start in about 2 seconds.
Haven't tried YouTube in mpv yet? By default YouTube plays inside the page. It already uses the hardware H.264 decoder there, but the page keeps running YouTube's player and the browser draws every frame: ~38% CPU. In mpv the same 720p video takes ~14% CPU (720p60: ~28% instead of ~44%), fullscreen, with the page hidden while it plays. The video page stays open behind it for the description, likes and comments, with a ▶ Play in mpv button to watch again. Embedded YouTube players on other sites play the same way. To try it:
- Press SELECT → Settings.
- Go to YouTube plays and choose In mpv (RustyPipe) with left/right.
- Choose Restart the browser to apply, then open any YouTube video.
In mpv, A pauses and B goes back to the page.
New
-
🚀 YouTube plays: In mpv (RustyPipe) (
PLAY_YOUTUBE_IN_MPV=2): the stream is found byytp, a small RustyPipe command-line tool bundled inbin/ytp, instead of yt-dlp. Measured on a Smart Pro:yt-dlp RustyPipe Video starts after ~9 s ~2 s Live stream starts after ~20 s ~2 s Memory while finding the stream ~330 MB ~28 MB Live streams and portrait videos (Shorts, 720p, turned to fill the screen) play as with yt-dlp.
Changed
- ⚙️ YouTube plays in Settings now has three choices: In the browser, In mpv (yt-dlp) (the previous "In mpv") and In mpv (RustyPipe). Your current choice is kept.
- 🔄 The yt-dlp update check runs only when YouTube plays in mpv with yt-dlp. RustyPipe is updated with new releases of the browser.
Fixed
- 📱 Shorts in mpv mode: YouTube's search, like, comments and subscribe buttons work again on a Short's page after it played in mpv. Only the ▶ Play in mpv icon in the middle is now a button there.
If a video won't play with one of the two, try the other: YouTube changes affect them differently.
Install
- Download
WPE-0.3.1.zipbelow. - Unpack it so the folder is
Apps/WPEon the SD card (/mnt/SDCARD/Apps/WPE). - Start WPE Browser from the Apps menu.
Updating from 0.3.0: unpack over the old folder. Your settings.conf stays as it is.
WPE Browser 0.3.0
Settings in the browser, Favorites, and ads allowed per site.
New
- ⚙️ Settings page (SELECT → Settings): every setting with its value and what it does. The d-pad's left/right (or START) changes a choice; START on a text setting (home page, download folder, keyboard layouts, ad exceptions) opens a field with the on-screen keyboard. Most changes apply at once; for the others (page scale, ad blocking, YouTube player, hardware video, keyboard layouts, page memory, download folder) the page offers Restart the browser to apply, which comes back on the page you were on. It writes
settings.confchanging only that setting's line, so the file can still be edited by hand. - ⭐ Favorites: SELECT → Add to Favorites / Remove from Favorites on a page, and SELECT → Favorites for the list (START opens, right → Delete).
- 🛡️ Ads allowed per site: SELECT → Allow ads on site / Block ads on site, saved as
AD_BLOCK_EXCEPTIONS(each site covers its subdomains). Heavy news sites with their ads can run out of the device's 1 GB; use it for sites that need it.
Changed
- 🎮 SELECT menu: Back, Forward, Home, Address bar, History, Favorites first; zoom is one row, Zoom ◀ 100% ▶ (left/right zoom the page live, A resets).
- 💾 Updates keep your settings: the package now ships
settings.default.confinstead ofsettings.conf. Unpacking a release over the folder no longer replaces your settings; new settings are added to your file on the next start. - 📄 History, Downloads and Settings pages: the selected row no longer hides behind the hint bar at the bottom.
Install
- Download
WPE-0.3.0.zipbelow. - Unpack it so the folder is
Apps/WPEon the SD card (/mnt/SDCARD/Apps/WPE). - Start WPE Browser from the Apps menu.
Updating from 0.2.x: unpack over the old folder. Your settings.conf stays as it is (0.2.x zips contained one; this one doesn't).
WPE Browser 0.2.2
WebKit 2.54.1, and in-page video no longer freezes every few seconds.
Changed
- 🧩 WPE WebKit 2.54.1 (from 2.54.0): its bug-fix release — input method fixes (
inputmode, caret and refocus), touch scrolling, clipped tiles no longer painted, several crash and rendering fixes, and memory use measured correctly. - 📺 Smooth video on long-playing pages: with the corrected memory measurement, the browser's old settings made WebKit free memory every 5 seconds on a YouTube page, which froze the video each time. WebKit now frees caches at 80%/90% of the page limit (
PAGE_MEMORY_LIMIT_MB, default 550 MB) instead of 40%/60%; a page is still closed at the limit.
Install
- Download
WPE-0.2.2.zipbelow. - Unpack it so the folder is
Apps/WPEon the SD card (/mnt/SDCARD/Apps/WPE). - Start WPE Browser from the Apps menu.
Updating from an earlier version: unpack over the old folder; your settings.conf keeps your values.
WPE Browser 0.2.1
Smoother 720p60 video in pages, more reliable YouTube in mpv, and links that open a new window work.
Improved
- 📺 720p60 in pages is smooth: ~57 fps shown (was ~33) at ~44% CPU. The Cedar hardware decoder's pictures are matched to their timestamps in display order (no more dropped or stuttering frames, no "Failed to send data for decoding"), and layers are composited by TextureMapper, which draws a video frame in less than half the GPU time.
- 🔗 Links with
target="_blank"andwindow.open()now open in the browser's window on a click; before, nothing happened. Pop-ups pages open by themselves are still blocked. - ⬇️ Saved videos on the Downloads page ask whether to play in mpv or in the page. mpv also plays AV1 files (720p30 in software), which the page can't decode.
Fixed (Play in mpv)
- A stream that failed (yt-dlp crashed or found no URL, or the server refused the cached address) is no longer cached: the next Play resolves it again, and a refused cached URL is re-resolved by itself.
- The Play in mpv button reacts again after mpv was closed; YouTube's own controls under it no longer take the tap.
- Dropped connections reconnect instead of freezing playback.
mpv controls
- d-pad left/right seek ∓10 s (like YouTube), L1/R1 ∓30 s, L2/R2 ∓120 s (the triggers used to jump to the start or end of the video). See the README for the full table.
Install
- Download
WPE-0.2.1.zipbelow. - Unpack it so the folder is
Apps/WPEon the SD card (/mnt/SDCARD/Apps/WPE). - Start WPE Browser from the Apps menu.
Updating from 0.2.0 or 0.1.0: unpack over the old folder; your settings.conf keeps your values.
WPE Browser 0.2.0
Videos now play inside the page, H.264 on the hardware decoder, and the browser should run on the TrimUI Brick and Brick Pro too.
New
- 📺 Video and audio in pages (GStreamer):
<video>/<audio>on any site, YouTube included, play right in the page. H.264 runs on the Allwinner hardware decoder (720p at ~13% CPU) and falls back to software by itself where the hardware can't be used; VP9 and other codecs are decoded in software. YouTube in the page is asked for H.264. Frames go to the GPU in YUV and are converted there. - 🚀 YouTube in mpv is now optional:
PLAY_YOUTUBE_IN_MPV=1plays YouTube in the bundled mpv as before; the new default0plays it in the page. All other videos play in the page. - 🧱 TrimUI Brick and Brick Pro: the model is detected from the firmware; page zoom, menus and keyboard are sized for each panel. On the Brick (no sticks) the d-pad moves the pointer, L1/R1 scroll and L2/R2 page; F1/F2 go back/forward on both. Not tested on Brick hardware yet: reports welcome.
- 🖱️ Right click on Y with a context menu for links, images, videos, selected text and fields (open, copy address, download, copy, paste…).
- ⬇️ Downloads page: open saved files (videos and audio play, pages, images and PDFs open in the browser) and delete them.
Changed
- Y is now right click. The address bar is in the SELECT menu (and Ctrl+L on a keyboard).
- New settings:
HW_VIDEO_DECODE(default1);SCALEis empty by default, which picks the zoom for the model. Updating keeps yoursettings.conf: add or change these lines there if you want the new defaults.
Known limitations
- 1080p60 video in the page shows ~22 fps; 720p is smooth.
- The desktop YouTube site needs more memory than the device has; the default mobile one works.
Install
- Download
WPE-0.2.0.zipbelow. - Unpack it so the folder is
Apps/WPEon the SD card (/mnt/SDCARD/Apps/WPE). - Start WPE Browser from the Apps menu.
Updating from 0.1.0: unpack over the old folder; your settings.conf keeps your values. Files 0.2.0 no longer uses are harmless and can stay.
WPE Browser 0.1.0
First release of WPE Browser for the TrimUI Smart Pro: a WPE WebKit 2.54 browser tuned for the device's 1 GB of RAM and PowerVR GPU.
Highlights
- 🚀 GPU-accelerated, zero-copy rendering (~60 fps scrolling)
- 📺 YouTube and page videos in the bundled mpv with hardware H.264 decoding; yt-dlp updates itself
- 🛡️ Ad and tracker blocking (EasyList + EasyPrivacy)
- 🎮 Gamepad pointer and on-screen keyboard; ⌨️🖱️ USB keyboard and mouse
- 🌍 Any XKB keyboard layout, 📱 portrait mode, 🧊 WebGL, ⬇️ downloads, 🕘 history
Install
- Download
WPE-0.1.0.zipbelow. - Unpack it so the folder is
Apps/WPEon the SD card (/mnt/SDCARD/Apps/WPE). - Start WPE Browser from the Apps menu.
Updating: unpack over the old folder; your settings.conf keeps your values. See the README for controls and settings.
Third-party software (each under its own license): WPE WebKit (LGPL/BSD; sources: the 2.54.0 release tarball plus patches/ in this repo), mpv and FFmpeg (LGPL build; build sources and changes: mpv-tsp, the Allwinner libcedarc decoder libraries (proprietary, as in the device firmware), OpenSSL 3 (Apache 2.0), yt-dlp (Unlicense), glibc, GLib, libsoup, GnuTLS and the other bundled libraries (LGPL/MIT/BSD), DejaVu fonts, xkeyboard-config, EasyList/EasyPrivacy.