Rucadi / webos-apps

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LG WEBOS TV Native Apps Build Guide

This guide will help you set up your development environment for building native apps for LG WEBOS TV. You can follow the instructions based on your operating system.

Table of Contents

Installing WSL and Nix on Ubuntu inside WSL

Step 1: Install WSL

  1. Open PowerShell and run:
    wsl --install
  2. This installed an ubuntu, if it fails, go get WSL from here: https://aka.ms/wslstorepage

Step 2: Install Nix in Ubuntu inside WSL

  1. Open your Ubuntu terminal and run the following commands:
    sudo apt update
    sudo apt install curl
    sh <(curl -L https://nixos.org/nix/install) --no-daemon
    mkdir -p ~/.config/nix && echo -e "experimental-features = nix-command flakes" > ~/.config/nix/nix.conf
  2. Follow the on-screen instructions to complete the installation.

Installing Nix in Linux with Flakes and Nix Command Enabled

  1. Open your terminal.
  2. Run the following commands:
    sudo apt update
    sudo apt install curl
    sh <(curl -L https://nixos.org/nix/install) --no-daemon
    mkdir -p ~/.config/nix && echo -e "experimental-features = nix-command flakes" > ~/.config/nix/nix.conf

Using Docker on macOS to Install Ubuntu and Nix

  1. Perform the same steps as in linux but inside an ubuntu container

Building the Apps

Once your environment is set up, you can build your native apps using Nix. Use the following command to build an app, where [name_of_app.nix] is the name of your Nix expression file:

nix-build [name_of_app.nix]

The result will contain a "TV installable file" called .ipk.

Example:

nix-build my_app.nix

This will produce an output with the .ipk file ready for deployment on LG WEBOS TV.

sm64

When building sm64, you have 3 patch options:

  • patch_60fps: Enables 60 FPS mode (default: true)
  • patch_betterCamera: Enables better camera controls (default: true)
  • patch_noDrawDistance: Removes draw distance limits (default: false)

Preparation

Before building the project, ensure you have a copy of your own baserom.us.z64 placed in the root directory of this project.

Building the Project

To build the project with the default settings, run:

nix-build sm64.nix

This will produce a result folder containing the .ipk file, which you can install on your TV using the webOS Dev Manager.

Customizing Patch Options

If you want to customize the patch options, you can pass arguments to the nix-build command. For example, to enable or disable specific patches, use the following syntax:

nix-build sm64.nix --arg [patchname] true/false

Examples

To enable the patch_noDrawDistance, run:

nix-build sm64.nix --arg patch_noDrawDistance true

To disable the patch_60fps, run:

nix-build sm64.nix --arg patch_60fps false

After building, you can find the .ipk file in the result folder, ready for installation on your LG WEBOS TV.

About

License:MIT License


Languages

Language:Nix 91.6%Language:Dockerfile 4.7%Language:Shell 3.8%