profile
viewpoint
Max W. MaWalla Rostock I really like Python and Javascript :D

MaWalla/docker-deepspeech-server 0

Dockerfile for a DeepSpeech server

MaWalla/ESPFX 0

Discontinued, do yourself a favor and use WLED instead!

MaWalla/ImmersiveFX 0

Framework to make LEDs light up

MaWalla/mcpl.py 0

Minecraft live player location on Overviewer maps using rcon and WebSockets

MaWalla/PulseViz 0

reference fxmode for ImmersiveFX

MaWalla/RoomLED 0

Discontinued, do yourself a favor and use WLED instead!

MaWalla/ScreenFX 0

reference fxmode for ImmersiveFX

MaWalla/steelicorn 0

Plymouth theme I made!

MaWalla/TelegramSTT 0

Speech to text for Telegram voice messages!

issue openedwaydroid/waydroid

Running waydroid cross-platform fails with ERROR: [Errno 38] Function not implemented

Foreword: on the native architecture (x86_64) it works when setup identically. I also know about Houdini, but haven't found anything regarding it... is it even available for Android 10?

So, waydroid works great on my computer natively, but many apps don't support its architecture (x86_64). Luckily qemu is a thing and you can chroot into root file systems with different architectures.

After some tinkering around, I found docker, which supports using different architectures with qemu out of the box, and x11docker to be the most convenient way to approach this.

so I set up waydroid according to https://docs.waydro.id/usage/install-on-desktops on debian arm64. When trying to run waydroid init, it fails, reporting:

[23:38:20] ERROR: [Errno 38] Function not implemented
[23:38:20] See also: <https://github.com/waydroid>
Run 'waydroid log' for details.

waydroid log dosn't work since waydroid isn't initialized yet, so I started my own investigation, setup remote debugging with IntelliJ IDEA (and Python plugin) and looked at where things go wrong. I found out that the following line was the cause:

fcntl.ioctl(binderctrlfd.fileno(), BINDER_CTL_ADD, node_struct)

which as of writing this is line 62 in tools/helpers/drivers.py

Since fcntl.ioctl is being called I went into the function and IDEA which just sent me to some cached directory (/home/mawalla/.cache/JetBrains/IntelliJIdea2021.2/python_stubs/-1576962306/fcntl.py if it helps anyone) where the function was defined but just empty (a comment explaining the function and a pass statement).

I thought that maybe something is missing from the debian provided arm64 binary for python, so I grabbed the Python 3.9.6 source and compiled it myself (within the arm64 container of course) and after running ./configure --enable-optimizations --prefix /opt/python-3.9.6 these lines popped up

checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes

So I ran make -j8 and make install and tried it, set up a venv where I installed PyGObject (since gi was missing from my build, I followed the debian guide for pip/venv here: https://pygobject.readthedocs.io/en/latest/getting_started.html) and hit the same error again.

btw. for building the docker container, I set up qemu like that: https://wiki.archlinux.org/title/QEMU#Chrooting_into_arm/arm64_environment_from_x86_64

The image was built like this: docker buildx build --platform linux/arm64 -t waydroid . with those contents (excuse the mess please :D):

FROM debian:bullseye

RUN apt-get update && apt-get install -y curl systemd

RUN export DISTRO="bullseye" && \
    curl -# --proto '=https' --tlsv1.2 -Sf https://repo.waydro.id/waydroid.gpg --output /usr/share/keyrings/waydroid.gpg && \
    echo "deb [signed-by=/usr/share/keyrings/waydroid.gpg] https://repo.waydro.id/ $DISTRO main" > ~/waydroid.list && \
    mv ~/waydroid.list /etc/apt/sources.list.d/waydroid.list && \
    apt-get update

RUN apt-get install -y waydroid weston
RUN apt-get install -y git openssh-server vim
RUN apt-get install -y build-essential libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev libffi-dev uuid-dev
RUN apt-get install -y wget && wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tar.xz
RUN echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config && echo root:123 | chpasswd
RUN apt-get install -y libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev gir1.2-gtk-3.0

I then ran it with this:

x11docker --wayland --init="systemd" --pw="sudo" --clipboard --gpu -p --user="root" -i -- --privileged -v /home/mawalla/IdeaProjects/waydroid:/waydroid --platform=linux/arm64 -- waydroid bash

I'm running all this on an AMD Ryzen 7 4700U with Arch Linux. I probably put waaayyy too much effort into this, but getting cross platform to work some way would be really incredible!

created time in a month

push eventMaWalla/ImmersiveFX

Max Walaschewski

commit sha 307b463d84ea45ad67bef8bcfb140f312822ecad

added automatic dependency handling

view details

Max Walaschewski

commit sha c4105cc09ef82cc4a2083ed09c2611181c0be2d0

added new launch argument system

view details

push time in 2 months

push eventMaWalla/ScreenFX

Max Walaschewski

commit sha 55b22cb2254ad13e8da1773bb033c9e7b4fadcea

respect upcoming launch argument from ImmersiveFX

view details

push time in 2 months

push eventMaWalla/ScreenFX

Max Walaschewski

commit sha 5f4fe743aa6bdb6bb78450feea6d87aef80b7782

added requirements for fxmode

view details

push time in 2 months

push eventMaWalla/ImmersiveFX

Max Walaschewski

commit sha 13793662351b1fc93ced3b564f78404f986320ae

replaced static color correction with color temperatures also fixed some bugs

view details

push time in 2 months

push eventMaWalla/ImmersiveFX

Max Walaschewski

commit sha 0cc61187e00b431fc75afca04190ec1bd4d655ed

moved ds4 stuff to extra and added the virtual led strip tool

view details

Max Walaschewski

commit sha 69f17c1440c4fe4dcbe05f1dd1fbf548cfcf7934

updated ScreenFX

view details

push time in 2 months

push eventMaWalla/ScreenFX

Max Walaschewski

commit sha dcca5a3abd131d92bd65ed96a3dfd93be78d04a4

removed brightness calculation instead, ImmersiveFX will take care of it

view details

push time in 2 months

push eventMaWalla/ScreenFX

Max Walaschewski

commit sha af7200ed083b1a173fab718b304daa825318d7dc

removed unnecessary exit statement

view details

push time in 3 months

issue openedMaWalla/ScreenFX

Make cutouts configurable again

Prior to ImmersiveFX 1.0.0, when the codebase was a lot messier than it is now, custom cutouts could actually be added with a custom_cutouts.py

This feature was temporarily dropped with everything being refactored and the backend changed from Pillow to mss.

Now that feature should be added again, possibly by just having a key in the config parsed instead of its own file though.

created time in 3 months

push eventMaWalla/ImmersiveFX

Max Walaschewski

commit sha dd46a1819f92e6b20fe86b47cff93f3bd4b84a40

updated README and config example for more descriptiveness

view details

push time in 3 months

issue commentJF002/InfiniTime

[BUG] Watch will vibrate throughout the phone conversation

I'd like to add that I got a phone call today I couldn't take because I was driving the car. The watch kept the display on and vibrated as intended, but continued even after the call stopped until I pressed the button on the side. I guess that when the call is either taken or stopped, the watch should also stop vibrating.

I'm on GadgetBridge 0.59.2 too, but using a OnePlus 6T with crDroid (LineageOS based / Android 11)

ajack2001my

comment created time in 3 months

issue openedJF002/InfiniTime

vibration settings for notifications

I sometimes happen to not notice the vibration on my wrist when receiving a notification. It would be great to have a seperate setting for vibration length/strength and possibly even patterns.

created time in 3 months

issue openedJF002/InfiniTime

show images in notifications

When receiving a message with an image, it would be nice to have the image transferred to InfiniTime so it can be seen on the watch too.

Now images happen to be rather resource-intensive (when compared to the hardware we got), so some quality-reduction/compression will be necessary I think.

As for storing the (currently up to 5) images, the RAM is too limited I guess, luckily we got access to the external storage the other day, so it may be cached there. I wonder if the "constant writing" to it wears it down quickly though (a friend of mine wrecked an ESP8266 after a few days by periodically, but rather often writing small amounts of data to it).

created time in 3 months

issue commentJF002/InfiniTime

Camera Controls

This is great to know! (I have another unrelated idea I'll put into another issue)

Anyway, the question is indeed good. I don't know if it's related, but maybe you know these selfie sticks which used a 3.5mm audio jack cable with a button near the handle to trigger the shutter. Since those are a thing, there must be some kind of interface to achieve it. I don't know if this can be translated to the companion app using it though.

MaWalla

comment created time in 3 months

issue openedJF002/InfiniTime

Camera Controls

When having the phone on a tripod or in some other fixed position (for example for group photos, or astrophotography), it would be very convenient to have a shutter button on the PineTime. A nice addition (if applicable) would be the possibility of having manual controls such as ISO, exposure time, maybe even the focus there too. The icing on the cake would be the ability to see the camera viewfinder on the watch, similar to what is possible with an apple watch, even if only at like 1 frame per second. I assume that both BLE will be too slow and resources (CPU and especially RAM) won't be enough for this to be possible (next to the implementation on the phone being rather difficult I guess).

For this, a seperate camera app within InfiniTime could be used to provide the necessary interface, but also an expansion to the companion app, which shouldn't be too difficult for the shutter button I think, but probably for the rest, if not straight up impossible there, but others may be more aware of the possibilities here than me.

Long story short: it would be awesome to have a shutter button in InfiniTime, more camera controls/viewfinder would make this even better.

created time in 3 months

more