github rommapp/romm 4.2.0-alpha.1
v4.2.0-alpha.1

latest releases: 4.2.0-alpha.3, 4.2.0-alpha.2
pre-releaseone day ago

Warning

This release has a bug that can cause the UI to lag and crash, which has been fixed in 4.2.0-alpha.2.

New Features

Console Mode

Look ma', I'm on TV! The new console interface is designed for big screens and easy navigation with a controller or remote. It features a grid layout, large icons, and a simplified menu structure to enhance your gaming experience from the comfort of your couch. Launch it from the navigation bar or navigate directly to /console.

#2314

Home
Gallery Details

Global EmulatorJS Config

The config.yml file now accepts a new emulatorjs section that allows you to set custom, per-core options and controls. Setting debug: true will print a list of available options for the current emulator core to the browser console, which you can then set in the settings block. The control block allows you to set a custom control mapping for each core. Both settings and control accept a default "core", who's value will be applied to all cores.

#2360

Note

Custom settings and controls are fully optional, and if not set, the emulator will use its own defaults.

# EmulatorJS per-core options
emulatorjs:
  debug: true # Available options will be logged to the browser console when the emulator is started
  settings:
    parallel_n64: # Use the exact core name
      vsync: disable
    snes9x:
      snes9x_region: ntsc
    default: # These settings apply to all cores
      fps: show
  controls: # https://emulatorjs.org/docs4devs/control-mapping/
    snes9x:
      0: # Player 1
        0: # IF USED, A MAPPING FOR EACH BUTTON MUST BE SET!
          value: x # Mapping for keyboard
          value2: BUTTON_2 # Mapping for connected controller
        1:
          value: y
          value2: BUTTON_4
      1: # Player 2
      2: # Player 3
      3: # Player 4

Incremental RetroAchievements Sync

A new scheduled task has been added to sync RetroAchievements progress for all users on a recurring basis. Enable the task by setting ENABLE_SCHEDULED_RETROACHIEVEMENTS_PROGRESS_SYNC=true in your environment variables. By default the task runs nightly, but you can customize that using the SCHEDULED_RETROACHIEVEMENTS_PROGRESS_SYNC_CRON variable.

Note

Achievements will only sync for users who have enabled RetroAchievements in their profile settings

#2325

WebP Image Task

Another scheduled task has been added to convert all uploaded images to the modern .webp format. WebP images are 5-10x smaller then JPG/PNG images with no loss of quality, leading to faster load times for cover art in galleries. Enable the task by setting ENABLE_SCHEDULED_CONVERT_IMAGES_TO_WEBP=true in your environment variables. By default the task runs nightly, but you can customize that using the SCHEDULED_CONVERT_IMAGES_TO_WEBP_CRON variable.

#2334

Minor Changes

  • Jump to previous/next game by @gantoine in #2330
  • Add scheduled task to sync RetroAchievements progress by @adamantike in #2352
  • Add COEP and COOP headers for EmulatorJS within nginx config by @adamantike in #2356
  • Use dropzone and add button in upload modal by @gantoine in #2366
  • Add options to gunicorn call by @gantoine in #2322
    • WEB_SERVER_CONCURRENCY=2:
    • WEB_SERVER_TIMEOUT=300:
    • WEB_SERVER_KEEPALIVE=2:
    • WEB_SERVER_MAX_REQUESTS=1000:
    • WEB_SERVER_MAX_REQUESTS_JITTER=100:
    • WEB_SERVER_WORKER_CONNECTIONS=1000:

Bug Fixes

Other

New Contributors

Full Changelog: 4.1.6...4.2.0-alpha.1

Don't miss a new romm release

NewReleases is sending notifications on new releases.