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.

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

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 + 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.

  • 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.

  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
# 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