No description
Find a file
2026-06-12 12:29:46 +02:00
xurfer 📃 master: update documentation 2026-06-12 12:29:46 +02:00
.gitignore re-organize files 2026-06-08 11:04:52 +02:00
api.md accept URL from cli for lovr/love 2026-06-12 11:46:14 +02:00
README.md 📃 master: update documentation 2026-06-12 12:29:46 +02:00
xurfer.webp 📃 master: update documentation 2026-06-12 12:29:46 +02:00

Usage

Download/run the binaries for your platform in the releases section.
Developers can run it via LÖVR or LÖVE2D

$ love xurfer <url>  # if you have LÖVE2D installed (>v12)
$ lovr xurfer <url>  # if you have LÖVR installed

Example: lovr xurfer https://snips.sh/f/_U5-XctEVE?r=1

Multiplatform Multimodal XR Browser

The aim of this project is providing one XR Hypermedia browser codebase which gracefully degrades to handheld/embedded/braille devices:

  • mac/win/linux/android via LÖVE2D
  • mac/win/linux/android via LÖVR
  • Web (2D) via love.js
  • Nintendo 3DS, Switch, and Wii via lovebrew
  • Handhelds: Steamdeck, Anbernic, Gameforce, Game Kiddy, Powkiddy (..and more) via portmaster
  • Game emulators via lutro
  • Embedded devices via nelua or straightup lua

XR URI support

type supported standards extension platforms
.glb .gltf khronos/gltf geometry + xrfragment level 2 3DFile lovr
.obj WaveFront OBJ 3DFile lovr
any URL/file Janus Markup Language (JML) + xrfragment level 0+1+2 janusxr all

very hackable extensions

  • XURFER does everything via browser extensions.
  • XURFER is the total sum of browser extensions.

So you can strip/bloat however you want, or build one yourself:

$ cp xurfer/ext/skeleton xurfer/ext/myextension
$ sed 's|skeleton|myextension|g' xurfer/ext/myextension/*
$ ./lovr xurfer
[i] loading 'myextension'
...