WeChat on Fedora

Finally found a way to do the install on Wine on Fedora — and that’s using Lutris. Lutris lets you install Windows games onto Linux and allows you to script the setup of the game environment to fit the game itself.

So I used it to download the WeChat binary, setup the environment (which involved downloading fonts via winetricks) and adding a registry hack. That seems to work now. Have added it to my app-installs playbook on Gitlab (https://gitlab.com/blenderfox/pixelbook-fedora-setup)

It’s not fully automated, it does still require you to run through the setup manually, and then quit both the WeChat application (so Lutris sees that the setup has exited) and Lutris before the playbook proceeds.

Installing Fedora on Pixelbook

This slightly lengthy article goes through my attempts at installing and setting up Fedora on my Pixelbook.

I previously had Ubuntu on there, modified and hacked using https://github.com/yusefnapora/pixelbook-linux.

However, as Ubuntu progressed on, it was clear this repo was not being maintained and updated and rapidly, stuff starting to fail as it required later versions of packages. Even the kernel was still on 4.4.x even now. I spent a long time trying to compile the kernel while trying to figure out the right options for a working kernel, with not much luck.

Putting in things like the “old-releases” repos helped keep things ticking over, but things were still breaking repeatedly, and the microphone kept breaking during calls due to the way the hacks were implemented.

The final straw came when the office decided to buy Apple M1 Macs for the developers (I refused to use one. My hate-hate relationship with Apple is well documented)

The decision to use M1 macs has now led to a problem whereby the docker images that are used are no longer compatible with the macbooks since they are arm64. The macs can use qemu emulation, but that is not perfect, giving weird errors when running the docker images under emulation. Leaving it to me, who is still using an amd64 machine to try to figure out multiarchtecture builds.

I was (and still am) reluctant to do the multiarch builds. Using multiarch builds would mean the devs are running a docker image that is not the same as that which is running on the test and production clusters and that in itself, means they are not developing on, or testing on an infrastructure that is representative of the test or production environments.

If the infrastructures were arm-based environments, sure, then that would be representative then, but not as it stands.

In fact, right now, if the developers build the docker image locally to test something, then pushed that to production, they would break production, as it runs on amd64 images.

I don’t think this was thought through carefully enough, to be honest.


But enough of the rant. We are where we are, and I need to try to bail out the situation.

My hacked Ubuntu would not support multiarch build no matter what I tried, but when I tried to use Fedora in a Qemu VM (virtualbox also wouldn’t work, since the virtualbox installer compiles kernel modules and that always failed with the custom kernel used by the hacked Ubuntu installation.)

So I decided to try to wipe the Ubuntu installation and start again from scratch, with Fedora.


Fedora 35 was the version I ended up using, and the latest at the time I started this activity.

Out of the box, it had native support for the touchpad, including two and three-finger scrolling via Unity 41. Two-finger scroll scrolls the active window. Three-finger scrolling up gives the window overview, and three-finger scrolling left or right switches workspaces.

Fedora by default uses btrfs. CloneZilla didn’t seem to play well with that so had to start again, but perhaps it was due to the MyChromebox BIOS being too old. Upgraded and that seemed to work better.


After CloneZilla’ing the initial install so I could rollback to that if everything fell over, I started setting up the installation.

First thing I did is visudo‘ed myself into the sudoers file, with a NOPASSWD param for passwordless sudo

Next I ran dnf update to update packages. There was about 1G of data to update and install.

Then I ran a CloneZilla to backup the laptop state at this point.


From this point, I started setting up the laptop. I found this repo on GitHub where the owner created a setup for Pixelbook https://github.com/jmontleon/pixelbook-fedora — similar to the one I used for setting up Ubuntu on the Pixelbook. The repo owner also appears to have compiled his own version of the kernel and has his own COPR repository.


After spending a week tinkering with the instructions and getting some bugs ironed out, audio finally worked.

I built an Ansible playbook to help with the instructions running. This was adapted and incorporated into the repo.

With audio now working, I CloneZilla’ed the laptop state again, to have a good state to rollback to.

I then copied my file backup from my external USB into the laptop and then CloneZilla’ed the state again


With the files copied, now it was time to get the apps installed. I built another Ansible playbook to help speed things up and it’s located here https://gitlab.com/blenderfox/pixelbook-fedora-setup/

The repo contains two playbooks one for doing the audio (it’s essentially the same one in the jmontleon repo) and the second for app installs.

Summary of apps I installed initially:


Three

I’ve been suffering from horrendously slow network speed with Three since August, and all my complaints have not been satisfactorily dealt with.

I took the complaint up to the Ombudsman and eventually was ruled against and so now I can either leave the network by paying the leaving penalty (though reduced) and returning the phone.

But I don’t even have my old Samsung anymore so that isn’t an option.

So now I’m stuck with the network for 2 years until I go out of contract again and can leave without penalty.

DON’T USE THREE.

Training in Quarantine – Day 306

Today’s been raining, windy, sunny, rainy again and repeat all day.

Managed to get a walk in between the rain and wind phases

Finished reinstalling my apps and had a few issues with location. Waze and Google Maps had trouble locking onto GPS and found out that even though the option to allow location “only while app is running” was available, I needed to set the permission to “at any time” otherwise they would lock on.

Citymapper had no issue

Just Eat still has issues and does not have a “at any” level for location permission, so I just use the postcode for that.

Most of the apps are now working. A few will not install from Play Store, presumably they’re not built to support Android 11 yet:

  • WeChat
  • Fenix 2

For Fenix, I went back to Plume (I had previously paid for the Premium version and that works fine). I installed GBoard so I can put gifs into my tweets again (one feature I really liked from Fenix)

WeChat, I ended up sideloading from apkmirror and it worked fine.

Training in Quarantine – Day 305

Training in Quarantine – Day 305

Decided to finally action the upgrade notification on my phone and Lineage OS wanted to update from Android 10 to Android 11.

The upgrade went off without too many issues, but I then found out Open Gapps had no package fro Android 11, meaning I had to resort to MindTheGapps — a minimal package that only allows Google Apps to work, but doesn’t actually install any. Consequently the Google Apps I had installed via OpenGapps decided to stop working as a result. I had to uninstall and reinstall everything from Google — Search, Notes, YouTube, Maps, Home, etc.

But fortunately everything else seemed to work. Camera MX decided to stop working, so I’ve gone back to CameraZoom

There seems to be a nice feature in Android 11 where if an app does not use a claimed permission after a period of time, Android will automatically remove that permission. Useful for applications which claim more permissions than they really need.

I also went round the torched fence and managed to get a pic of the new fence

GitLab’s Default Branch Name

GitLab is now implementing a change to make the default branch “main” instead of “master”, following GitHub and Atlassian in ditching the “master/slave” namings due to their negative history.

It should be noted that this change this makes little difference to the functionality these sites provide, and to git repositories in general. Also, the default branch can be overridden.

When creating a blank initial repo in GitLab or GitHub (i.e. without a README.md file), the sites will prompt you to push code in using instructions such as this (GitLab haven’t yet implemented the master –> main change yet so it still shows master on their instructions)

git clone git@gitlab.com:username/example.git
cd example
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

But there’s nothing to stop you from doing something like

git push -u origin trunk

Instead of master at the time of pushing.

trunk is also one of the three folders used in Subversion Version Control as part of the recommended layout (trunk, tags, branches) — yes, I did use svn previously, along with Mercurial, Visual SourceSafe, and even cvs.

trunk is also a more logical sounding main branch as you have branches that lead into the trunk of a repo. And the leaves could be considered to be the tags.

While it is great that the big name hosting platforms are migrating away from the master branch idea, it should be noted that you didn’t have to have this default branch name originally, nor were you (or are you still) tied to using their choice of main branch name.

Heater Repairs

We got the replacement heater installed today, mostly fine, the heat of the water is now very high, since the plumber had to replace the piping near the heater, and had to mount a plank of wood on the wall to provide additional support for the heater as the bracket where the heater will be mounted would be too high.

This heater requires electricity, compared to the previous one which did not. Meaning without power, we won’t have hot water.

The plumber had to add cement around the exit flue of the heater and a few hours later I could see a crack in the cement, probably from it contracting and cracking while drying.

The plumber also had to remove an entire cupboard from the kitchen where the heater is and we’ll have to remount that some other time.

Revolut: A warning to Android users

It seems like Revolut’s latest Android update (6th November) has shafted some users, including me, rendering them unable to receive the update, and making the app disappear entirely from the Play Store for those users. No notification, no warning. Just a sudden stop to updates. I had to restore from a backup I made of the app, and was then able to transfer my money out of there.

I spoke to support, and their suggestion? Use a newer device.

I guess I will be closing my Revolut account.

%d bloggers like this: