patriciogonzalezvivo / glslViewer

Console-based GLSL Sandbox for 2D/3D shaders
BSD 3-Clause "New" or "Revised" License
4.71k stars 350 forks source link

Failing to install glslViewer on Raspberry Pi OS Lite #253

Closed murilopolese closed 2 years ago

murilopolese commented 2 years ago

I'm have the "lite" version of Raspberry Pi OS installed in a Raspberry Pi 3.

Am I trying something crazy? I'm finding the following problems:

The weird thing is that I had this running on a Lite distro earlier this year... :scratching_head:

patriciogonzalezvivo commented 2 years ago

hi! yes, the PPA it's out of date and I haven't send an updated version to the folks at Raspberry Pi. Sorry for that.

Your best option is to compile from source I think. In this link you will see the required steps for Raspberry Pi https://github.com/patriciogonzalezvivo/glslViewer/wiki/Compile-on-linux.

Question, are you using a RPi 4? or Zero, 3 or 3+?

murilopolese commented 2 years ago

Thank you for the reply, @patriciogonzalezvivo !!

This is a bit funny because I did write a bunch of shaders with a raspberry pi setup (Pi 3) a few months ago following this video: https://www.youtube.com/watch?v=7lXYPfoOdAU

image

Your best option is to compile from source I think. In this link you will see the required steps for Raspberry Pi https://github.com/patriciogonzalezvivo/glslViewer/wiki/Compile-on-linux.

-- Check size of unsigned short
-- Check size of unsigned short - done
-- Searching 16 bit integer - Using unsigned short
-- Check if the system is big endian - little endian
-- package_details.cmake: your architecture is armhf
-- Configuring incomplete, errors occurred!
See also "/home/pi/glslViewer/build/CMakeFiles/CMakeOutput.log".
See also "/home/pi/glslViewer/build/CMakeFiles/CMakeError.log".
make: *** [Makefile:3: default] Error 1

The error I printed above is the error I get trying to compile from the source. I followed both the instructions with and without X11 and it's the same. I haven't tried with the Ubuntu dependencies...

Question, are you using a RPi 4? or Zero, 3 or 3+?

I'm trying on a Raspberry Pi 3 but trully I was thinking about giving a purpose for the 9999 Raspberry Pi 1 and 2 that I have here collecting dust 😂

vade commented 2 years ago

I also have the apt issue fwiw - might be work noting on the readme PPA instructions that compilation is likely mandatory.

sudo add-apt-repository ppa:patriciogv/glslviewer-ppa
Traceback (most recent call last):
  File "/usr/bin/add-apt-repository", line 95, in <module>
    sp = SoftwareProperties(options=options)
  File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 109, in __init__
    self.reload_sourceslist()
  File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 599, in reload_sourceslist
    self.distro.get_sources(self.sourceslist)    
  File "/usr/lib/python3/dist-packages/aptsources/distro.py", line 91, in get_sources
    raise NoDistroTemplateException(
aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Raspbian/bullseye
vade commented 2 years ago

So far compilation on Raspian OS (latest as of this writing setup (not the lite variant, the full desktop) appears to be working

Linux T3OU1 5.10.63-v7+ #1488 SMP Thu Nov 18 16:14:44 GMT 2021 armv7l GNU/Linux

Requirements

sudo apt install git cmake xorg-dev libglu1-mesa-dev

FFMPEG

sudo apt install ffmpeg libavcodec-dev libavcodec-extra libavfilter-dev libavfilter-extra libavdevice-dev libavformat-dev libavutil-dev libswscale-dev libv4l-dev libjpeg-dev libpng-dev libtiff-dev

Clone

git clone https://github.com/patriciogonzalezvivo/glslViewer.git
cd glslViewer
git submodule init
git submodule update

Compile

mkdir build
cd build
cmake ..
make -j 4
sudo make install
vade commented 2 years ago

Interesting. Doing a build with

cmake -DNO_X11=TRUE ..

results in

 65%] Building CXX object deps/ada/src/CMakeFiles/ada.dir/shaders/defaultShaders.cpp.o
/home/pi/repositories/glslViewer/deps/ada/src/gl/textureStreamMMAL.cpp: In member function ‘virtual bool ada::TextureStreamMMAL::update()’:
/home/pi/repositories/glslViewer/deps/ada/src/gl/textureStreamMMAL.cpp:982:40: error: ‘EGL_IMAGE_BRCM_MULTIMEDIA’ was not declared in this scope
  982 |         updateTexture(getEGLDisplay(), EGL_IMAGE_BRCM_MULTIMEDIA, (EGLClientBuffer)buf->data, &m_brcm_id, &egl_img);
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [deps/ada/src/CMakeFiles/ada.dir/build.make:264: deps/ada/src/CMakeFiles/ada.dir/gl/textureStreamMMAL.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:485: deps/ada/src/CMakeFiles/ada.dir/all] Error 2
make: *** [Makefile:171: all] Error 2
vade commented 2 years ago

I attempted to follow the instructions for no X11:

sudo apt install git cmake libegl1-mesa-dev libgbm-dev libgles2-mesa-dev

which results in this cmake error:

i@T3OU1:~/repositories/glslViewer/build $ cmake -DNO_X11=TRUE ..

-- The CXX compiler identification is GNU 10.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The C compiler identification is GNU 10.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
CMake Warning (dev) at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:273 (message):
  The package name passed to `find_package_handle_standard_args` (Broadcom)
  does not match the name of the calling package (BROADCOM).  This can lead
  to problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  deps/ada/cmake/FindBROADCOM.cmake:92 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  deps/ada/src/CMakeLists.txt:57 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found Broadcom: /usr/include  
-- BROADCOM_DEFINITIONS:   USE_VCHIQ_ARM;HAVE_LIBOPENMAX=2;OMX;OMX_SKIP64BIT;USE_EXTERNAL_OMX;HAVE_LIBBCM_HOST;USE_EXTERNAL_LIBBCM_HOST
-- BROADCOM_INCLUDE_DIRS:  /usr/include;/usr/include/interface/vmcs_host/linux;/usr/include/interface/vcos/pthreads
-- BROADCOM_LIBRARIES:     /usr/lib/arm-linux-gnueabihf/libbcm_host.so;/opt/vc/lib/libopenmaxil.so;/usr/lib/arm-linux-gnueabihf/libvchiq_arm.so;/usr/lib/arm-linux-gnueabihf/libvcos.so;/usr/lib/arm-linux-gnueabihf/libmmal.so;/usr/lib/arm-linux-gnueabihf/libmmal_core.so;/usr/lib/arm-linux-gnueabihf/libmmal_util.so;/usr/lib/arm-linux-gnueabihf/libmmal_vc_client.so
CMake Warning (dev) at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:273 (message):
  The package name passed to `find_package_handle_standard_args` (Broadcom)
  does not match the name of the calling package (ILCLIENT).  This can lead
  to problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  deps/ada/cmake/FindILCLIENT.cmake:17 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  deps/ada/src/CMakeLists.txt:83 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found Broadcom:   
-- LOADING BROADCOM versions of EGL GL_ESv2
-- EGL_LIBRARY:            /opt/vc/lib/libbrcmEGL.so
-- GLESv2_LIBRARIES:       /opt/vc/lib/libbrcmGLESv2.so
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found FFMPEG: /usr/lib/arm-linux-gnueabihf/libavdevice.so;/usr/lib/arm-linux-gnueabihf/libavfilter.so;/usr/lib/arm-linux-gnueabihf/libavformat.so;/usr/lib/arm-linux-gnueabihf/libswscale.so;/usr/lib/arm-linux-gnueabihf/libavcodec.so;/usr/lib/arm-linux-gnueabihf/libswresample.so;/usr/lib/arm-linux-gnueabihf/libavutil.so;$<$<CONFIG:Debug>:/usr/lib/arm-linux-gnueabihf/libz.so>$<$<CONFIG:Release>:/usr/lib/arm-linux-gnueabihf/libz.so>;m  
-- LIBAV Supported
-- If you are using the static library build, please keep in mind (and inform yourself of the implications) that liblo is licensed with LGPL v2.1+.
-- Looking for poll
-- Looking for poll - found
-- Looking for select
-- Looking for select - found
-- Looking for getifaddrs
-- Looking for getifaddrs - found
-- Looking for inet_pton
-- Looking for inet_pton - found
-- Check how to print long long int
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Searching 16 bit integer - Using unsigned short
-- Check if the system is big endian - little endian
-- package_details.cmake: your architecture is armhf
-- Configuring done
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
ILCLIENT_LIBRARY (ADVANCED)
    linked by target "ada" in directory /home/pi/repositories/glslViewer/deps/ada/src

-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.
patriciogonzalezvivo commented 2 years ago

Wondering if this is a change on the last OS and their support to MMAL. I will get the latest OS and try to replicate the issue. My guess is that the cmake files for it need to be updated. Sorry for the troubles.

On Dec 21, 2021, at 3:59 PM, vade @.***> wrote:

 I attempted to follow the instructions for no X11:

sudo apt install git cmake libegl1-mesa-dev libgbm-dev libgles2-mesa-dev

which results in this cmake error:

@.***:~/repositories/glslViewer/build $ cmake -DNO_X11=TRUE ..

-- The CXX compiler identification is GNU 10.2.1 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- The C compiler identification is GNU 10.2.1 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done CMake Warning (dev) at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:273 (message): The package name passed to find_package_handle_standard_args (Broadcom) does not match the name of the calling package (BROADCOM). This can lead to problems in calling code that expects find_package result variables (e.g., _FOUND) to follow a certain pattern. Call Stack (most recent call first): deps/ada/cmake/FindBROADCOM.cmake:92 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) deps/ada/src/CMakeLists.txt:57 (find_package) This warning is for project developers. Use -Wno-dev to suppress it.

-- Found Broadcom: /usr/include
-- BROADCOM_DEFINITIONS: USE_VCHIQ_ARM;HAVE_LIBOPENMAX=2;OMX;OMX_SKIP64BIT;USE_EXTERNAL_OMX;HAVE_LIBBCM_HOST;USE_EXTERNAL_LIBBCM_HOST -- BROADCOM_INCLUDE_DIRS: /usr/include;/usr/include/interface/vmcs_host/linux;/usr/include/interface/vcos/pthreads -- BROADCOM_LIBRARIES: /usr/lib/arm-linux-gnueabihf/libbcm_host.so;/opt/vc/lib/libopenmaxil.so;/usr/lib/arm-linux-gnueabihf/libvchiq_arm.so;/usr/lib/arm-linux-gnueabihf/libvcos.so;/usr/lib/arm-linux-gnueabihf/libmmal.so;/usr/lib/arm-linux-gnueabihf/libmmal_core.so;/usr/lib/arm-linux-gnueabihf/libmmal_util.so;/usr/lib/arm-linux-gnueabihf/libmmal_vc_client.so CMake Warning (dev) at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:273 (message): The package name passed to find_package_handle_standard_args (Broadcom) does not match the name of the calling package (ILCLIENT). This can lead to problems in calling code that expects find_package result variables (e.g., _FOUND) to follow a certain pattern. Call Stack (most recent call first): deps/ada/cmake/FindILCLIENT.cmake:17 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) deps/ada/src/CMakeLists.txt:83 (find_package) This warning is for project developers. Use -Wno-dev to suppress it.

-- Found Broadcom:
-- LOADING BROADCOM versions of EGL GL_ESv2 -- EGL_LIBRARY: /opt/vc/lib/libbrcmEGL.so -- GLESv2_LIBRARIES: /opt/vc/lib/libbrcmGLESv2.so -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE
-- Found FFMPEG: /usr/lib/arm-linux-gnueabihf/libavdevice.so;/usr/lib/arm-linux-gnueabihf/libavfilter.so;/usr/lib/arm-linux-gnueabihf/libavformat.so;/usr/lib/arm-linux-gnueabihf/libswscale.so;/usr/lib/arm-linux-gnueabihf/libavcodec.so;/usr/lib/arm-linux-gnueabihf/libswresample.so;/usr/lib/arm-linux-gnueabihf/libavutil.so;$<$:/usr/lib/arm-linux-gnueabihf/libz.so>$<$:/usr/lib/arm-linux-gnueabihf/libz.so>;m
-- LIBAV Supported -- If you are using the static library build, please keep in mind (and inform yourself of the implications) that liblo is licensed with LGPL v2.1+. -- Looking for poll -- Looking for poll - found -- Looking for select -- Looking for select - found -- Looking for getifaddrs -- Looking for getifaddrs - found -- Looking for inet_pton -- Looking for inet_pton - found -- Check how to print long long int -- Check if the system is big endian -- Searching 16 bit integer -- Looking for sys/types.h -- Looking for sys/types.h - found -- Looking for stdint.h -- Looking for stdint.h - found -- Looking for stddef.h -- Looking for stddef.h - found -- Check size of unsigned short -- Check size of unsigned short - done -- Searching 16 bit integer - Using unsigned short -- Check if the system is big endian - little endian -- package_details.cmake: your architecture is armhf -- Configuring done CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: ILCLIENT_LIBRARY (ADVANCED) linked by target "ada" in directory /home/pi/repositories/glslViewer/deps/ada/src

-- Generating done CMake Generate step failed. Build files cannot be regenerated correctly. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.

vade commented 2 years ago

As per our twitter convo -Looks like enabling the legacy camera system and re-starting build by clearing build folder re-running cmake still errors when using cmake -DNO_X11=TRUE .. - same error as before:

Building CXX object deps/ada/src/CMakeFiles/ada.dir/shaders/defaultShaders.cpp.o
/home/pi/repositories/glslViewer/deps/ada/src/gl/textureStreamMMAL.cpp: In member function ‘virtual bool ada::TextureStreamMMAL::update()’:
/home/pi/repositories/glslViewer/deps/ada/src/gl/textureStreamMMAL.cpp:982:40: error: ‘EGL_IMAGE_BRCM_MULTIMEDIA’ was not declared in this scope
  982 |         updateTexture(getEGLDisplay(), EGL_IMAGE_BRCM_MULTIMEDIA, (EGLClientBuffer)buf->data, &m_brcm_id, &egl_img);
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [deps/ada/src/CMakeFiles/ada.dir/build.make:264: deps/ada/src/CMakeFiles/ada.dir/gl/textureStreamMMAL.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:485: deps/ada/src/CMakeFiles/ada.dir/all] Error 2
make: *** [Makefile:171: all] Error 2
vade commented 2 years ago

if its easier, im happy to revert to an older raspian OS before this camera and MMAL shit?

patriciogonzalezvivo commented 2 years ago

Yes, that seams the easiest path until figuring out a new strategy is to install Buster (Legacy).

image

Articles that explains the changes on Bullseyes:

Other projects that are experiencing the same issues

In conclusion, I will make OpenMAX and MMAL textures support optional instead of default for Raspberry Pi and work on support for libcamera ( https://www.raspberrypi.com/news/an-open-source-camera-stack-for-raspberry-pi-using-libcamera/ ) which seams to be what RaspberryPi move towards. This changes will be made on ADA ( https://github.com/patriciogonzalezvivo/ada/tree/main/include/ada/gl ) and then updated to glslViewer once it's done. Mean while please use the legacy OS.

vade commented 2 years ago

Awesome. Thanks Patricio. I really appreciate the assistance. Im going to try Legacy now and ill post if things are working if you don't mind!

vade commented 2 years ago

Hrm. Seems like latest ADA is causing an issue ?

cmake -DNO_X11=TRUE ..
-- The CXX compiler identification is GNU 8.3.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The C compiler identification is GNU 8.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found Broadcom: /opt/vc/include  
-- BROADCOM_DEFINITIONS:   USE_VCHIQ_ARM;HAVE_LIBOPENMAX=2;OMX;OMX_SKIP64BIT;USE_EXTERNAL_OMX;HAVE_LIBBCM_HOST;USE_EXTERNAL_LIBBCM_HOST
-- BROADCOM_INCLUDE_DIRS:  /opt/vc/include;/opt/vc/include/interface/vmcs_host/linux;/opt/vc/include/interface/vcos/pthreads
-- BROADCOM_LIBRARIES:     /opt/vc/lib/libbcm_host.so;/opt/vc/lib/libopenmaxil.so;/opt/vc/lib/libvchiq_arm.so;/opt/vc/lib/libvcos.so;/opt/vc/lib/libmmal.so;/opt/vc/lib/libmmal_core.so;/opt/vc/lib/libmmal_util.so;/opt/vc/lib/libmmal_vc_client.so
-- Found Broadcom:   
-- LOADING BROADCOM versions of EGL GL_ESv2
-- EGL_LIBRARY:            /opt/vc/lib/libbrcmEGL.so
-- GLESv2_LIBRARIES:       /opt/vc/lib/libbrcmGLESv2.so
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found FFMPEG: /usr/lib/arm-linux-gnueabihf/libavdevice.so;/usr/lib/arm-linux-gnueabihf/libavfilter.so;/usr/lib/arm-linux-gnueabihf/libavformat.so;/usr/lib/arm-linux-gnueabihf/libswscale.so;/usr/lib/arm-linux-gnueabihf/libavcodec.so;/usr/lib/arm-linux-gnueabihf/libswresample.so;/usr/lib/arm-linux-gnueabihf/libavutil.so;$<$<CONFIG:Debug>:/usr/lib/arm-linux-gnueabihf/libz.so>$<$<CONFIG:Release>:/usr/lib/arm-linux-gnueabihf/libz.so>;m  
-- LIBAV Supported
-- If you are using the static library build, please keep in mind (and inform yourself of the implications) that liblo is licensed with LGPL v2.1+.
-- Looking for poll
-- Looking for poll - found
-- Looking for select
-- Looking for select - found
-- Looking for getifaddrs
-- Looking for getifaddrs - found
-- Looking for inet_pton
-- Looking for inet_pton - found
-- Check how to print long long int
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- package_details.cmake: your architecture is armhf
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
ILCLIENT_LIBRARY (ADVANCED)
    linked by target "ada" in directory /home/pi/Documents/Repositories/glslViewer/deps/ada/src

-- Configuring incomplete, errors occurred!
See also "/home/pi/Documents/Repositories/glslViewer/build/CMakeFiles/CMakeOutput.log".
See also "/home/pi/Documents/Repositories/glslViewer/build/CMakeFiles/CMakeError.log".
vade commented 2 years ago

I see cmake -DNO_X11=TRUE -DFORCE_GBM=TRUE .. - I didn't realize I needed both.

vade commented 2 years ago

Ok, sorry for the play by play, and apologies for taking over the git issue @murilopolese !

Compilation with cmake -DNO_X11=TRUE -DFORCE_GBM=TRUE .. works, but execution fails with Assertion 'EGL_FALSE !=result" failed

patriciogonzalezvivo commented 2 years ago

Are you using a RaspberryPi 4? or 3, 3+ or Zero? try running glslViewer with --display /dev/dri/card0

I'm working on a easy fix for the LEGACY vs GDM modes

vade commented 2 years ago

I'm using a RPI 3 B. I was able to get it working with no X11 with no Fake_KMS and I didn't realize the config had a special api only section. Sorry im a newb :P

It might be helpful to make a matrix of RPI models, required configs, OS versions (legacy or not) and cmake flags.

Thats a lot of work but im happy to help document / try stuff out! Thanks for all the help.

To be clear:

im running :

uname -a
Linux T3OU1 5.10.63-v7+ #1496 SMP Wed Dec 1 15:58:11 GMT 2021 armv7l GNU/Linux

lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 10 (buster)
Release:    10
Codename:   buster

with the following config:

cat /boot/config.txt 
# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
disable_overscan=0

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

[pi4]
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
#dtoverlay=vc4-fkms-v3d
max_framebuffers=2

[all]
#dtoverlay=vc4-fkms-v3d
start_x=1
gpu_mem=256
[all]
#dtoverlay=vc4-kms-v3d

FFMPEG installed as per wiki Compiled with No X11

Boot into console, No Fake KMS Camera enabled

However HDMI is the wrong resolution (its not an under-scan issue) but camera is working and this is way faster than the old Open Frameworks

patriciogonzalezvivo commented 2 years ago

YAY!!! YES please I accept any kind of help regarding documentation : ) The entire legacy BROADCOM drivers vs the DRM/KMS/GDM it's a mess! The display through /dev/dri/cardX it's a DRM/KMS issue. BROADCOM legacy drivers don't require it. HDMI resolution can be fix on /boot/config.txt What screen are you using?

vade commented 2 years ago

Thanks. I just got it. its weird because the newest (non legacy) didn't require me to guess at the display size. Oh well. I have the Adafruit HDMI backpack and was able to edit the config

# uncomment to force a specific HDMI mode (here we are forcing 800x480!)
hdmi_group=2
hdmi_mode=87
hdmi_cvt=800 480 60 6 0 0 0
hdmi_drive=1

and it seems to be just working.

IMG_5630

patriciogonzalezvivo commented 2 years ago

OMG! that's already exciting! I'm also excited for improving ada/glslViewer to fit your needs. While we speak I already isolate MMAL/OpenMAX libs only for LEGACY OS / on NON-X11 and NON-FKMS so people can keep compiling glslViewer while I work on libCamera support. But seeing your result already bring some peace to my heart that I'm not blocking you

vade commented 2 years ago

Haha thanks! Didn't mean to be pushy, I just can see how helpful GLSLViewer will be to actually playing with creative output and not fucking around with other stuff, so getting it working was tantalizingly close and you know how stubborn I can be. Now on to the fun shit like remembering how to code shaders ;)

patriciogonzalezvivo commented 2 years ago

Lol! Man I'm really excited/honored of you using my tools. It's like having people over, I want you to be comfortable and feel just at home. Excited to see what you do with it and what other hard-edges we can sand

murilopolese commented 2 years ago

This thread is the best @vade ❤️ ! Thanks for jumping in. It's so nice to read your words about how you feel when people use the tool @patriciogonzalezvivo!

I'm away until early January, but I'm looking forward to try the downgrate to the legacy OS and the configuration stuff. Thank you so much you all! 🥳

patriciogonzalezvivo commented 2 years ago

Good news, if you pull and compile again should work. The support for camera still pending but should compile now : )

On Dec 24, 2021, at 5:26 AM, Murilo Polese @.***> wrote:

 This thread is the best @vade ❤️ ! Thanks for jumping in. It's so nice to read your words about how you feel when people use the tool @patriciogonzalezvivo!

I'm away until early January, but I'm looking forward to try the downgrate to the legacy OS and the configuration stuff. Thank you so much you all! 🥳

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.

murilopolese commented 2 years ago

Just came back home and will try again this week! Looking forward!!!