Internal Settings

Sound

Adjusting volume

  1. Volume adjustment are performed using the pactl commands.

  2. Make sure you’re logged in as the player user: whoami should return player. Identify the sink you wish to adjust volume for: pactl list sinks. This will return a number of sinks - find the index of the sink the machine is using for audio playback (e.g. HDMI or headphones jack).
  3. Set the volume to the desired level (e.g. dB or %): pactl set-sink-volume 0 0.0dB or pactl set-sink-volume 0 100% - both set the volume levels to max. Pro tip: prefix the volume level with + or - to increase or decrease volume from the current level: e.g. pactl set-sink-volume 0 -5.0dB to decrease the volume with 5.0dB on sink 0.

Sound card settings

View available cards and profiles

Use the pactl list cards to view available cards. This will produce an output in the lines of the one below:

Card #0
	Name: alsa_card.pci-0000_01_00.1
	Driver: module-alsa-card.c
	Owner Module: 7
	Properties:
		alsa.card = "0"
		alsa.card_name = "HDA NVidia"
		alsa.long_card_name = "HDA NVidia at 0xa5080000 irq 17"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:01:00.1"
		sysfs.path = "/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0"
		device.bus = "pci"
		device.vendor.id = "10de"
		device.vendor.name = "NVIDIA Corporation"
		device.product.id = "0fb9"
		device.product.name = "GP107GL High Definition Audio Controller"
		device.string = "0"
		device.description = "GP107GL High Definition Audio Controller"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	Profiles:
		output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5400, available: no)
		output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 300, available: no)
		output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (sinks: 1, sources: 0, priority: 300, available: no)
		output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (sinks: 1, sources: 0, priority: 5200, available: yes)
		output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (sinks: 1, sources: 0, priority: 5200, available: no)
		output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 100, available: no)
		output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 100, available: no)
		off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
	Active Profile: output:hdmi-stereo-extra1
	Ports:
		hdmi-output-0: HDMI / DisplayPort (priority: 5900, latency offset: 0 usec, not available)
			Properties:
				device.icon_name = "video-display"
			Part of profile(s): output:hdmi-stereo, output:hdmi-surround, output:hdmi-surround71
		hdmi-output-1: HDMI / DisplayPort 2 (priority: 5800, latency offset: 0 usec, available)
			Properties:
				device.icon_name = "video-display"
				device.product.name = "Elgato"
			Part of profile(s): output:hdmi-stereo-extra1
		hdmi-output-2: HDMI / DisplayPort 3 (priority: 5700, latency offset: 0 usec, not available)
			Properties:
				device.icon_name = "video-display"
			Part of profile(s): output:hdmi-stereo-extra2, output:hdmi-surround-extra2, output:hdmi-surround71-extra2
      

The output above tells that the current profile in use is Active Profile: output:hdmi-stereo-extra1.

Select physical output

Find the card you wish to change the output profile for by using the command in the previous section. To set card 0 to use the hdmi-surround profile run the following command: pactl set-card-profile 0 output:hdmi-surround.

Display

Screen settings are managed through the xrandr command line utililty.

Viewing current settings

  1. Make sure you’re logged in as the player user: whoami (should return player). If you’re logged in as the cinemataztic user run sudo su player to switch to the player user.
  2. Set the display variable: export DISPLAY=:0
  3. Check the current settings: xrandr. The active mode is marked by an * in the resulting table.

Resolution & framerate

Display settings can be adjusted using the procedure below:

  1. Make sure you’re logged in as the player user: whoami (should return player). If you’re logged in as the cinemataztic user run sudo su player to switch to the player user.
  2. Get the available modes as described in previous section.
  3. Set the display variable: export DISPLAY=:0 (if not already done in step 2).
  4. Set to the mode you wish to use (e.g. 1920x1080 at 60Hz for the output named HDMI-0): xrandr --output HDMI-0 --mode 1920x1080 --rate 60.00

Network setup

Machines can be reached by IP address or hostname.local. This is a prerequisite for cueing games in network-based automation setups. Depending on your setup, you may need to configure your machines with fixed IP addresses via DHCP (mac address based IP reservation) or completely static IP addresses.

Depending on your setup, you may need to configure your machines with fixed IP addresses via DHCP (mac address based IP reservation) or completely static IP addresses.

DHCP (default)

The boxes are configured for DHCP based network per default.

DHCP + mac based address reservation

You may configure your DHCP server to provide a stable IP address for each machine based on its mac address. The mac address can be found on cloud.cinemataztic.com once the machine has been set up.

Static IP

If you need a static IP address (e.g. because DHCP-based address reservation is unavailable) the machines can be configured with a static IP address. You’ll need the following information:

  • IP address (CIDR notation)
  • Gateway (optional)
  • DNS servers (optional)

The machines run Ubuntu 20, and static IP addresses can be set via the netplan utility: netplan.io

Example

  1. Log in to the machine locally using the admin user (cinemataztic). You may need to press ctrl + alt + f2 to open a new terminal session.
  2. Open the file /etc/netplan/01-netcfg.yaml using your favourite terminal based editor (e.g. vim or nano).
    ~: sudo nano /etc/netplan/02-cinemataztic-network-manager.yaml
    
  3. Add your network configuration to the file. If going for static IP the notation must be CIDR. The example below sets the IP address of the machine to the static 192.168.1.2 in the 255.255.255.0 subnet, corresponding to the CIDR 192.168.1.2/24. We assume that the NIC is called eno1
# /etc/netplan/02-cinemataztic-network-manager.yaml 
# This file describes the network interfaces available on your system 
# For more information, see netplan(5). 

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: no
      dhcp6: no
      addresses:
      - 192.168.1.2/24

Save and close the file and try the netplan configuration with the command:

~: sudo netplan try

netplan try: Apply configuration and wait for user confirmation; will roll back if network is broken or no confirmation is given.

Multiple Network Interfaces

If your machine has been configured with multiple network interfaces, these can be configured individually. In a typical setup this could look like:

  1. NIC1 is configured to access internet (usually DHCP)
  2. NIC2 is connected to the cinemas ethernet-based automation network (this interface would likely have a static IP address).

Enabling additional network interfaces

Per default the installer only enables the NIC used during the OS installation process. This means that any secondary network interfaces must be enabled manually. Network interfaces are enabled by creating a netplan configuration (yaml) and enabling the configuration.

  1. Identify network cards: ~: ip a This will produce a list of network interfaces that will look like the list below:
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
     inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
     inet6 ::1/128 scope host 
        valid_lft forever preferred_lft forever
    2: enp5s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
     link/ether b4:96:91:6c:ae:0c brd ff:ff:ff:ff:ff:ff
    3: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
     link/ether e4:54:e8:d6:e4:f3 brd ff:ff:ff:ff:ff:ff
     altname enp0s31f6
     inet 10.101.54.42/16 brd 10.101.255.255 scope global dynamic eno1
        valid_lft 86267sec preferred_lft 86267sec
     inet6 fe80::e654:e8ff:fed6:e4f3/64 scope link 
        valid_lft forever preferred_lft forever
    
  2. Identify all network interfaces that should be used in the setup. In the example above we’re interested in eno1 (currently up) and enp5s0 (currently down).
  3. In order to enable the network interface we’ll need to edit the netplan config file: sudo vim /etc/netplan/02-cinemataztic-network-manager.yaml (swap vim with nano if that’s your preferred editor).
  4. Write the following to the file to enable dhcp on eno1 and set a static IP address on enp5s0 by saving the following content to the file.
#/etc/netplan/02-cinemataztic-network-manager.yaml
network:
  ethernets:
    eno1:
      dhcp4: true
      dhcp4-overrides:
        route-metric: 100
    enp5s0:
      dhcp4: no
      dhcp6: no
      addresses:
      - 192.168.1.2/24
  version: 2
  1. Test the netplan configuration by running netplan try in the command line.
  2. Follow the instructions on screen to keep the configuration or delete the configuration.
  3. If you keep the configuration and still wish to revert you can run the following command: sudo bash -c 'echo "# CinemaTaztic Netplan Config goes here" > /etc/netplan/02-cinemataztic-network-manager.yaml' && sudo netplan apply

Reverting

If you saved the configuration in the previous step and wish to roll back to a DHCP configuration, here’s an example configuration:

# This file describes the network interfaces available on your system 
# For more information, see netplan(5). 
network:  
  version: 2
  renderer: networkd
  ethernets:
    eno1:
    dhcp4: yes