kholbrook1303 / RPI5-Bookworm-ProjectM-Audio-Receiver

GNU General Public License v3.0
6 stars 0 forks source link

Installation instructions missing steps #14

Open aerogeek217 opened 6 months ago

aerogeek217 commented 6 months ago

I just completed the installation procedure on a fresh image. Works well, just missing a few bits of information:

  1. pulseaudio needs to be installed: sudo apt-get install pulseaudio
  2. "Download the ProjectM Audio Receiver sources": -r flag needs to be added to the cp command
  3. In the steps where files are edited, it would be helpful to list the paths as well as "sudo nano" for new users. /opt/ProjectMSDL/projectMSDL.properties /opt/ProjectMSDL/projectMAR.conf
kholbrook1303 commented 6 months ago

Thank you very much for your feedback.... For some reason I thought my bookworm instance already had pulseaudio, but may have lost track working with audio control and preset monitoring. I will certainly get that corrected. I also feel the presets/textures need to be discussed more as they are not part of the build process as I recall. Trying to make this as seamless as possible. I will get this updated tomorrow.

Thanks again!

aerogeek217 commented 6 months ago

I agree on the presets, have just started wading through the scripts to see how those are handled. First I want to get AirPlay working (am having issues getting nqptp installed for Shairport-sync).

kholbrook1303 commented 6 months ago

I just completed the installation procedure on a fresh image. Works well, just missing a few bits of information:

  1. pulseaudio needs to be installed: sudo apt-get install pulseaudio
  2. "Download the ProjectM Audio Receiver sources": -r flag needs to be added to the cp command
  3. In the steps where files are edited, it would be helpful to list the paths as well as "sudo nano" for new users. /opt/ProjectMSDL/projectMSDL.properties /opt/ProjectMSDL/projectMAR.conf

I added everything accept the sudo nano part. Here is what I am thinking. I am modifying the permissions of /opt/ProjectMSDL, however, that is prior to the copy from build folder to project folder. What if instead I sudo the cp command and then adjust the permissions afterwards so that you dont require sudo to manage the properties? I dont mind either option, I am just brainstorming.

aerogeek217 commented 6 months ago

Makes sense to me. I'm overly conditioned to using sudo, but definitely better practice to avoid it when possible.

aerogeek217 commented 6 months ago

Another comment for the documentation: The following need to be set in /opt/ProjectMSDL/projectMSDL.properties, otherwise it uses the native output resolution: window.fullscreen.exclusiveMode = true window.fullscreen.width = 1280 window.fullscreen.height = 720

kholbrook1303 commented 5 months ago

Another comment for the documentation: The following need to be set in /opt/ProjectMSDL/projectMSDL.properties, otherwise it uses the native output resolution: window.fullscreen.exclusiveMode = true window.fullscreen.width = 1280 window.fullscreen.height = 720

Perhaps you can enlighten me on this configuration. I messed with this but setting a 720P exclusive mode did not enforce a 720P output when the display resolution was set to 1080p.
I ended up just enforcing my own resolution based on config: https://github.com/kholbrook1303/RPI5-Bookworm-ProjectM-Audio-Receiver/blob/f6c2230b0bca24dcca88f5b1aaba79984b3806a0/projectMAR.py#L198.

kholbrook1303 commented 5 months ago

Makes sense to me. I'm overly conditioned to using sudo, but definitely better practice to avoid it when possible.

I have resolved the sudo cp issue.

aerogeek217 commented 5 months ago

Another comment for the documentation: The following need to be set in /opt/ProjectMSDL/projectMSDL.properties, otherwise it uses the native output resolution: window.fullscreen.exclusiveMode = true window.fullscreen.width = 1280 window.fullscreen.height = 720

Perhaps you can enlighten me on this configuration. I messed with this but setting a 720P exclusive mode did not enforce a 720P output when the display resolution was set to 1080p. I ended up just enforcing my own resolution based on config:

https://github.com/kholbrook1303/RPI5-Bookworm-ProjectM-Audio-Receiver/blob/f6c2230b0bca24dcca88f5b1aaba79984b3806a0/projectMAR.py#L198

.

I'm connected to a 4K display, and this was the only setting I could find that would force it to output less than 4K. I'll need to go back and verify that it's actually using 1280x720. Let me know if there are any log files you'd like to see.

ratsark commented 1 month ago

This instruction threw me for a loop:

Check to ensure your device is configured for PulseAudio by going to sudo raspi-config, then select Advanced Options - Audio Config - Pipewire (Reboot if you made any changes)

I think the last Pipewire should be PulseAudio :)

ratsark commented 1 month ago

Another comment for the documentation: The following need to be set in /opt/ProjectMSDL/projectMSDL.properties, otherwise it uses the native output resolution: window.fullscreen.exclusiveMode = true window.fullscreen.width = 1280 window.fullscreen.height = 720

I ended up doing this as well, and it seems to have sped things up significantly but I haven't confirmed it actually changed the resolution being sent to the display.

My display only advertises a single resolution, so ProjectMAR wouldn't let me pick anything else:

$xrandr Screen 0: minimum 320 x 200, current 2560 x 1600, maximum 8192 x 8192 HDMI-1 connected primary 2560x1600+0+0 (normal left inverted right x axis y axis) 256mm x 160mm 2560x1600 60.33*+ 60.03 60.01

I wonder if the xrandr invocation by ProjectMAR could be modified to support unlisted resolutions? I'll look into that if the direct configuration of ProjectMSDL turns out not to work.

kholbrook1303 commented 1 month ago

This instruction threw me for a loop:

Check to ensure your device is configured for PulseAudio by going to sudo raspi-config, then select Advanced Options - Audio Config - Pipewire (Reboot if you made any changes)

I think the last Pipewire should be PulseAudio :)

Thank you for bringing this to my attention! I have pushed an update to the readme.

kholbrook1303 commented 1 month ago

Another comment for the documentation: The following need to be set in /opt/ProjectMSDL/projectMSDL.properties, otherwise it uses the native output resolution: window.fullscreen.exclusiveMode = true window.fullscreen.width = 1280 window.fullscreen.height = 720

I ended up doing this as well, and it seems to have sped things up significantly but I haven't confirmed it actually changed the resolution being sent to the display.

My display only advertises a single resolution, so ProjectMAR wouldn't let me pick anything else:

$xrandr Screen 0: minimum 320 x 200, current 2560 x 1600, maximum 8192 x 8192 HDMI-1 connected primary 2560x1600+0+0 (normal left inverted right x axis y axis) 256mm x 160mm 2560x1600 60.33*+ 60.03 60.01

I wonder if the xrandr invocation by ProjectMAR could be modified to support unlisted resolutions? I'll look into that if the direct configuration of ProjectMSDL turns out not to work.

In its current state, it does not support unlisted resolutions. Let me take a look and see about adding an additional config parameter that allows you to force a resolution in the event it is unlisted. I'll push up a commit once I have that sorted.