Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 8013

Interfacing (DSI, CSI, I2C, etc.) • Re: using accelerometer for automatic screen rotation

$
0
0
Working when doing below

1. sudo apt install libglib2.0-dev cmake libwayland-dev
checked again

Code:

pi@newpi5:~ $ sudo apt install libglib2.0-dev cmake libwayland-devReading package lists... DoneBuilding dependency tree... DoneReading state information... Donelibglib2.0-dev is already the newest version (2.74.6-2+deb12u5).cmake is already the newest version (3.25.1-1).libwayland-dev is already the newest version (1.23.0-1~bpo12+1+rpt1).0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
2. git clone --depth=1 https://github.com/Lassebq/wlr-autorotate

3. sudo nano CMakeLists.txt
change

Code:

cmake_minimum_required(VERSION 3.27)
to

Code:

cmake_minimum_required(VERSION 3.25)
4. make all

Code:

pi@newpi5:~/wlr-autorotate $ make allmake clearmake[1]: Entering directory '/home/pi/wlr-autorotate'rm -rf buildrm -f protocols/*.o protocols/*.h protocols/*.cmake[1]: Leaving directory '/home/pi/wlr-autorotate'make protocolsmake[1]: Entering directory '/home/pi/wlr-autorotate'/usr/bin/wayland-scanner private-code \protocols/wlr-output-management-unstable-v1.xml protocols/wlr-output-management-unstable-v1-protocol.c/usr/bin/wayland-scanner client-header \protocols/wlr-output-management-unstable-v1.xml protocols/wlr-output-management-unstable-v1-protocol.hcc    -c -o protocols/wlr-output-management-unstable-v1-protocol.o protocols/wlr-output-management-unstable-v1-protocol.cmake[1]: Leaving directory '/home/pi/wlr-autorotate'make releasemake[1]: Entering directory '/home/pi/wlr-autorotate'mkdir -p build && cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -B./build -G "Unix Makefiles"Not searching for unused variables given on the command line.-- The C compiler identification is GNU 12.2.0-- 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-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") -- Checking for modules 'glib-2.0;gio-2.0;wayland-client'--   Found glib-2.0, version 2.74.6--   Found gio-2.0, version 2.74.6--   Found wayland-client, version 1.23.0-- Configuring done-- Generating done-- Build files have been written to: /home/pi/wlr-autorotate/buildcmake --build ./build --config Release --target all -j 10gmake[2]: Entering directory '/home/pi/wlr-autorotate/build'gmake[3]: Entering directory '/home/pi/wlr-autorotate/build'gmake[4]: Entering directory '/home/pi/wlr-autorotate/build'gmake[4]: Leaving directory '/home/pi/wlr-autorotate/build'gmake[4]: Entering directory '/home/pi/wlr-autorotate/build'[ 50%] Building C object CMakeFiles/wlr-autorotate.dir/src/orientation.c.o[ 50%] Building C object CMakeFiles/wlr-autorotate.dir/src/display.c.o[ 75%] Building C object CMakeFiles/wlr-autorotate.dir/src/main.c.o[100%] Linking C executable wlr-autorotategmake[4]: Leaving directory '/home/pi/wlr-autorotate/build'[100%] Built target wlr-autorotategmake[3]: Leaving directory '/home/pi/wlr-autorotate/build'gmake[2]: Leaving directory '/home/pi/wlr-autorotate/build'make[1]: Leaving directory '/home/pi/wlr-autorotate'pi@newpi5:~/wlr-autorotate $ cd buildpi@newpi5:~/wlr-autorotate/build $ dirCMakeCache.txtCMakeFiles  cmake_install.cmake  Makefile  wlr-autorotate
5. sudo make install

Code:

pi@newpi5:~/wlr-autorotate $ sudo make installmake allmake[1]: Entering directory '/home/pi/wlr-autorotate'make clearmake[2]: Entering directory '/home/pi/wlr-autorotate'rm -rf buildrm -f protocols/*.o protocols/*.h protocols/*.cmake[2]: Leaving directory '/home/pi/wlr-autorotate'make protocolsmake[2]: Entering directory '/home/pi/wlr-autorotate'/usr/bin/wayland-scanner private-code \protocols/wlr-output-management-unstable-v1.xml protocols/wlr-output-management-unstable-v1-protocol.c/usr/bin/wayland-scanner client-header \protocols/wlr-output-management-unstable-v1.xml protocols/wlr-output-management-unstable-v1-protocol.hcc    -c -o protocols/wlr-output-management-unstable-v1-protocol.o protocols/wlr-output-management-unstable-v1-protocol.cmake[2]: Leaving directory '/home/pi/wlr-autorotate'make releasemake[2]: Entering directory '/home/pi/wlr-autorotate'mkdir -p build && cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -B./build -G "Unix Makefiles"Not searching for unused variables given on the command line.-- The C compiler identification is GNU 12.2.0-- 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-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") -- Checking for modules 'glib-2.0;gio-2.0;wayland-client'--   Found glib-2.0, version 2.74.6--   Found gio-2.0, version 2.74.6--   Found wayland-client, version 1.23.0-- Configuring done-- Generating done-- Build files have been written to: /home/pi/wlr-autorotate/buildcmake --build ./build --config Release --target all -j 10gmake[3]: Entering directory '/home/pi/wlr-autorotate/build'gmake[4]: Entering directory '/home/pi/wlr-autorotate/build'gmake[5]: Entering directory '/home/pi/wlr-autorotate/build'gmake[5]: Leaving directory '/home/pi/wlr-autorotate/build'gmake[5]: Entering directory '/home/pi/wlr-autorotate/build'[ 75%] Building C object CMakeFiles/wlr-autorotate.dir/src/display.c.o[ 75%] Building C object CMakeFiles/wlr-autorotate.dir/src/orientation.c.o[ 75%] Building C object CMakeFiles/wlr-autorotate.dir/src/main.c.o[100%] Linking C executable wlr-autorotategmake[5]: Leaving directory '/home/pi/wlr-autorotate/build'[100%] Built target wlr-autorotategmake[4]: Leaving directory '/home/pi/wlr-autorotate/build'gmake[3]: Leaving directory '/home/pi/wlr-autorotate/build'make[2]: Leaving directory '/home/pi/wlr-autorotate'make[1]: Leaving directory '/home/pi/wlr-autorotate'cp -f ./build/wlr-autorotate /usr/bin
6. running it - for HDMI-A-1

Code:

pi@newpi5:~ $ wlr-autorotate -m HDMI-A-1Waiting for iio-sensor-proxy...iio-sensor-proxy appearedHas accelerometer (orientation: undefined)Orientation changed: normalOrientation changed: right-upOrientation changed: normalOrientation changed: left-upOrientation changed: normal
for an SPI screen

Code:

pi@newpi5:~ $ wlr-autorotate -m SPI-1Waiting for iio-sensor-proxy...iio-sensor-proxy appearedHas accelerometer (orientation: normal)Orientation changed: left-upOrientation changed: normalOrientation changed: left-upOrientation changed: normalOrientation changed: right-upOrientation changed: normalOrientation changed: left-upOrientation changed: bottom-upOrientation changed: normal
Both screens have touch panel. Assigned them to the relevant screen via screen configuration editor, then ran wlr-autorotate -> working as expected. Nice!

Statistics: Posted by aBUGSworstnightmare — Thu Apr 17, 2025 6:05 pm



Viewing all articles
Browse latest Browse all 8013

Trending Articles