Skip to content

CommandLineHeroes/clh-arcade-cabinets

Repository files navigation

Command Line Heroes Arcade Cabinets

Setup instructions and scripts used for the installation and running of the CLH Arcade Cabinets.

This is the Fedora edition. Once we're satisfied with the Fedora instructions, we can make it the default and deprecate the Ubuntu instructions.

Laptop provisioning

The cabinets are powered by Lenovo Legion gaming laptops here is the checklist for provisioning them:

  1. Make sure secure boot is disabled in the bios. Enter bios by pressing F2 at boot. This will fix "NVIDIA driver not found. Falling back to nouveau" warning during boot. This step has already been done on all 5 laptops so it shouldn't need to be done again.
  2. Install the latest version of Fedora
  3. Update all packages
    sudo dnf update -y
    
  4. Reboot
  5. On the Gnome login screen, Select "Gnome on Xorg" in sign-in options
  6. In Software
    1. Click the [☰] icon and go to Update Preferences
      1. disable Automatic Updates
      2. disable Automatic Update Notifications
    2. Click the [☰] icon and go to Software Repositories
      1. enable the google-chrome repo
      2. enable the RPM Fusion - nonfree - NVIDIA Driver
  7. Install some packages
    sudo dnf install nodejs gnome-tweaks xdotool google-chrome-stable screenfetch
    
  8. Follow the NVIDIA Optimus guide for Fedora here: https://docs.fedoraproject.org/en-US/quick-docs/how-to-set-nvidia-as-primary-gpu-on-optimus-based-laptops/
  9. Open the NVIDIA control panel
    1. go to the "PowerMizer" section and set "Preferred Mode" to "Maximum Performance"
  10. Reboot
  11. Verify chrome is using nvidia driver with: chrome://gpu
  12. Verify WebGL performance here should have 60fps: https://threejs.org/examples/webgl_performance.html
  13. In system Settings
    1. Notifications
      1. disable "Notification Popups"
    2. Privacy
      1. disable "Screen Lock"
    3. Power settings
      1. disable "Dim screen when inactive"
      2. set Blank screen to "Never"
    4. Details / Default Applications
      1. set Web to "Chrome"
  14. In Tweaks
    1. General
      1. disable "Animations"
      2. disable "Suspend when laptop lid is closed"
  15. Set the background image: wget https://www.redhat.com/cms/managed-files/clh-s3e3-desktop-1920x1080.png -O ~/Downloads/clhbg.png && gsettings set org.gnome.desktop.background picture-uri ~/Downloads/clhbg.png
  16. Install auto fullscreen (Optional, Might not work)
    1. Open chrome and go install the gnome shell extension
    2. Go to auto fullscreen and click the "On" slider to install it.
    3. Note: if you want to turn off the fullscreening while working on laptop setup, open Tweak tools, go to Extensions, and toggle off auto fullscreen, then turn it back on before players arrive.
  17. install clh-arcade
    1. git clone https://github.com/CommandLineHeroes/clh-arcade-games.git
    2. sudo npm install -g clh-arcade
  18. Set Google Chrome homepage to localhost:1234

Launch CLH Arcade

  1. cd clh-arcade-games
  2. clh-arcade
  3. Open Chrome, default homepage should be the Arcade
  4. Press F11 to fullscreen
  5. NOTE: Do note close the terminal from step #2 that will stop the server! Leave it running in the background.

Enjoy!

Troubleshooting

Here are some instructions for troubleshooting various issues that have occurred in the past.

External displays not detected

If an external display is not showing up, do the following.

  1. sudo cp /usr/share/X11/xorg.conf.d/nvidia.conf /etc/X11/xorg.conf.d/
  2. Edit /etc/X11/xorg.conf.d/nvidia.conf, go into the OutputClass section and add Option "PrimaryGPU" "yes"
  3. Save and reboot
  4. When you're back in gnome, run gnome-tweaks
  5. Go to Extensions
  6. disable the auto full screen extension
  7. Open Settings / Displays
  8. You should now see two screens! 📺📺
  9. Set it to mirror, and hit apply
  10. You should now have the screens mirrored from that laptop to the arcade screen
  11. Go back into gnome-tweaks
  12. Turn the auto fullscreen extension back on
  13. Last, open terminal and cd ~/clh-arcade && clh-arcade

Thanks to spot for fixing this persistent problem!

QR Codes for field reporting

This repo contains QR codes, one for each cabinet. They will be printed out and affixed to the back of each cabinet. If on-site staff find an issue with a cabinet, they can scan the QR code to send us a message about any issues with the cabinet.

Developer notes

The QR codes were generated with the generate-qr-codes.sh script. If changes need to be made to the QR codes, edit that file and regenerate them.

About

Setup instructions and scripts used for the installation and running of the CLH Arcade Cabinets.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages