Skip to content
Guy Sheffer edited this page Jan 8, 2024 · 12 revisions

Table of Contents


Network

Why does FullPageOS not load the WLAN?

All you have to do is edit fullpageos-network.txt in the boot folder of the SD card from your computer or laptop. You can read about the full process in the FullPageOS README

I can't reach my FullPageOS under fullpageos.local under Windows, why?

That .local part makes it a special address. Linux and MacOS already know how to understand it, Windows needs a little extra help.

You'll have to download the Bonjour Print Services for Windows and install them. Then make sure your Windows Firewall allows Traffic on UDP Port 5353 and grant internet access to the mDNSresponder.exe (part of the Bonjour support you just installed).

Note: This will only work if you home LAN is not set up to use .local as it's own LAN specific top level domain. This should usually not be the case, but if it is and you can't get your home LAN setup differently (e.g. by switching to .lan) you'll need to access your FullPageOS instance by its IP address, sorry.


Display

How to rotate the screen to a vertical position?

  • Legacy Mode (Raspberry Pi 3 or older):

    • To rotate the screen, you need to edit the /boot/config.txt file, and add lcd_rotate=2
  • Raspberry Pi 4 (option 1):

    • Make sure that no dtoverlay configuration is set. Especially not dtoverlay=vc4-kms-v3d or dtoverlay=vc4-fkms-v3d. This would use the OpenGL drivers and these do not allow display config via config.txt.
    • Increase GPU Memory to at least 128MB: gpu_mem=128
    • Rotate:
      # 1 is 90 degrees. 2 is 180 degress. 3 is 270 degrees.
      display_hdmi_rotate=1
      
    • Complete example:
      # ......config
      
      [pi4]
      # Enable DRM VC4 V3D driver on top of the dispmanx display stack
      # disabling, since fkms does not allow rotation via config.txt
      # https://www.raspberrypi.com/documentation/computers/config_txt.html#display_hdmi_rotate
      #dtoverlay=vc4-fkms-v3d
      max_framebuffers=2
      
      [all]
      # enable raspicam
      start_x=1
      # gpu_mem=128
      disable_splash=1
      # disable all new rpi4 display driver, use legacy by commenting out dtoverlay
      # https://www.raspberrypi.com/documentation/accessories/display.html
      # dtoverlay=vc4-kms-v3d
      
      # increase gpu_mem for display rotate
      gpu_mem=256
      # Rotate HDMI screen
      # 1 is 90 degrees. 2 is 180 degress. 3 is 270 degrees.
      display_hdmi_rotate=1
      # only for lcd screens # 180?
      # display_lcd_rotate=1
      # only used for syncing touch wich screen 1=180? flip?
      # lcd_rotate=1
      
  • Raspberry Pi 4 (option 2) (tested os:2021-05-30 via rpi imager tool; test date 2022-08-21; only one hdmi is tesed):

    # Rotate screen if needed, see 'xrandr -h' for options.
    DISPLAY_ORIENTATION=normal
    # optional are: normal left right inverted
    
    if [[ "${DISPLAY_ORIENTATION}" != 'normal' ]];
    then
      xrandr --orientation ${DISPLAY_ORIENTATION}
    fi
    

My display works on a computer screen but not on another display

Had this on the latest Pi4's I deployed. Previous ones no problem at all but the latest went black as soon as it went to GUI. You sometimes got a flash of the FullPageOS logo before it went black but not always. I can't speak for the 3B but I got it sorted on my 4's.

  1. Do bootload update of Pi via Pi Imager > Misc Utility Images > Bootloader > SD Card Boot

  2. Install FullPageOS using Pi Imager and make sure to enable SSH in the options. I'm using Nightly 2022-10-28 as I found that the more recent 22-11-01 offered in Pi Imager doesn't start X Windows - at least not when this issue occurs. With 22022-10-28 it does, you just can't see it! but you can VNC in and see that it's working.

  3. Boot Pi, wait for display to fail and then SSH in over the network

  4. switch to admin mode: sudo su

  5. Edit config.txt (nano /boot/config.txt) to uncomment/change these lines. Mode 82 is 1920x1080 so you may want to change that for your display. You can look the modes up here: https://www.raspberrypi.com/documentation/computers/config_txt.html#video-options

    hdmi_force_hotplug=1
    hdmi_group=2
    hdmi_mode=82
    config_hdmi_boost=4
    
  6. Update all packages using following commands: sudo su apt update apt upgrade -y shutdown now

  7. Cold boot it and it should work - well, if it were a Pi4 at least! Credit @Cenedd https://github.com/guysoft/FullPageOS/issues/455#issuecomment-1477518681

FHD on 4K Display

  1. SSH to the Raspberry Pi
  2. Change to the X11 configuration directory
cd /usr/share/X11/xorg.conf.d
  1. Create a file called “monitors.conf” and open it for editing
sudo touch monitors.conf
sudo nano monitors.conf
  1. Configure a section for the primary HDMI output and save the file
Section "Monitor"
  Identifier "HDMI-1"
  Option "Primary" "false"
EndSection
  1. Create a file called “screen-resolution.conf” and open it for editing
sudo touch screen-resolution.conf
sudo nano screen-resolution.conf
  1. Configure the desired screen resolution for the HDMI monitor and save the file
Section "Screen"
  Identifier "HDMI-1"
  SubSection "Display"
    Modes "1920x1080"
  EndSubSection
EndSection
  1. Reboot the device
sudo shutdown -r now

UI

Can I hide the navigation bar on the top?

Sure there are two ways. The UI has an option to unpin the navigation bar, which is pinned by default. Attached is a picture of the button. Also, if you are serving one page, you can disable FullPageDashboard, the default app entirely. Screenshot_20220315_122523

Debug

How can I open a terminal in the GUI?

You can run from tty (you enter tty1 by pressing ctrl+alt+F1 )

DISPLAY=:0 xterm

Release process

How does the release process of FullPageOS go?

Taken from a reply in this comment The process today is that I (@guysoft) run a Jenkins build on my own selfhosted server that I maintain. That gets uploaded here (along with the build log): https://github.com/guysoft/FullPageOS#where-to-get-it

When a good build is out I publish an issue, for example this one: https://github.com/guysoft/FullPageOS/issues/412#issuecomment-1774168145 The next one would have the format: FullPageOS 0.14.0 RC1 status

And also the image would get uploaded to rpi-imager using this script: https://github.com/guysoft/unofficialpi/blob/main/src/create_rpi-imager-distro.py

Then you and others can test it.

What about using github actions?

Regarding moving to github actions. I was looking at that route. The issue is that its harder to maintain on multiple images I maintain.

There is already a github action workflow run here: https://github.com/guysoft/FullPageOS/actions/runs/7414322544 This is the gitub action: https://github.com/guysoft/FullPageOS/blob/devel/.github/workflows/main.yml

It might work if someone gives it more love and care than I have the time.