Upgrading Linux Mint 19 to 20
Upgrading my main Linux laptop (Dell M6500) from Linux Mint 19 to Linux Mint 20 was fairly painless, but there were a few issues. I'll list the issues as I find them and any fixes.
Mint Upgrade Info
https://blog.linuxmint.com/?p=3946
Main Laptop
My primary dev machine these days is still my very old Dell M6500. I love the 1600x1200 17" screen and the keyboard is excellent.
It has a first gen i7 940XM CPU, 20GB of RAM and three SSD drives, so still remains a very usable computer, even for Windows 10 and Visual Studio when I need them.
On Linux it simply flies and takes care of all my non Windows development needs.
Games are a different issue, but I rarely play them, except for Civilization VI and after changing the original M770 graphics card (DX 10) for the DX 11 capable HD 5870 this works fine.
Backups
The Mint upgrade scripts will not run if they don't detect a Timeshift backup. While you can override this I suggest you don't. The upgrade will replace a lot of config files under /etc and you'll lose most changes you made to anything that's not in your home directory.
Problems
In general the upgrade was very smooth with no major, obvious, issues. A couple of things did crop up while using the system though, mainly tied to the change of config files.
Finding Info
Not all faults are immediately apparent. Reviewing the logs is necessary to find some of the issues before they cause problems.
USB Drive and SD Card Not Mounting
This was a weird one. If the devices are plugged in on boot then all is fine, but adding them while the system was running didn't mount them (or even see a USB drive in GParted). Never an issue on Mint 19. This seemed to "go away" by itself, but I'll keep an eye on it.
Update: nope, the issue returned. I've not been able to find a permanent fix, but the following (found on StackOverflow) will mount the SD card if it doesn't automatically mount.
sudo modprobe -r r852 ; sudo modprobe -r sdhci_pci ; sudo modprobe r852 ; sudo modprobe sdhci_pci
OneDrive Not Syncing All Files (inotify limits)
This is a case of the log files preventing potential data loss. There was nothing obviously wrong, but the log showed that not all the files were being monitored for changes, so I could have added a file and assumed it was synced when it wasn't.
The logs reported the error:
gvfs-metadata.service: Failed to add control inotify watch descriptor for control group /user.slice/user-1000.slice/user@1000.service/gvfs-metadata.service: No space left on device
There were also a few other references to File Indexer and inotify watch limits for different services.
This was due to changes to the /etc/sysctl.conf file, the upgrade had removed the max user watches setting from it. Re-adding the following to the end of sysctl.conf fixed this.
fs.inotify.max_user_watches=524288
Graphics Issues
My Dell M6500 uses the Mobility Radeon HD 5870 card.
Supporting my old card was tricky, but a lot of work resulted in the use of the Oibaf build of the Mesa drivers for Mint 19. The system defaulted to OpenGL 3.1 for my card, but it is capable of OpenGL 4.4. Adding the following into .bashrc fixed this:
# Graphics driver defaults to OpenGL 3.1, but card can do 4.4
export MESA_GL_VERSION_OVERRIDE="4.4"
export MESA_GLSL_VERSION_OVERRIDE="440"
In Mint 19 there were issues on games with some blocks being rendered upside down. Difficult to explain, and I don't have any screen shots. However, this only showed on Civ VI and limited itself to coastlines, so was not really an issue.
Mint 20, so far, is a different story. The upside down blocks are gone and the Civ VI coastlines are perfect, but there's a more serious issue with other parts of the screen. In the picture below, the text should be smooth, not showing the interlacing effect. This happens in many parts of the Civ UI, making it practically unusable.
This happens on the default Mesa drivers and with the Oibaf builds.
I can still boot to Windows and run the game there, so, while annoying, this isn't at the top of my list right now.