Pages - Menu

Saturday, August 13, 2016

DOSBox Full Screen with proper Scaling and Aspect Ratio

It's quite confusing to get DOSBox to display games properly on modern hardware, partially because CRT monitors often displayed in non-square pixel modes, and partially because modern LCD displays don't scale well or support all the resolutions that CRTs did.

This post discusses the settings required in dosbox.conf to get DOS games displaying well.


Set this to your screen's native resolution such as fullresolution=1920x1200


The default surface cannot scale, so set this to output=overlay which can scale. If you have a decent graphics card you could also try output=openglnb


Set aspect=true to ensure the game is not stretched


Simple scaler=none will work, but you can experiment with the other scalers to see which performs well and which you like the look of.

The full config options are described at

Sunday, August 7, 2016

Another Steam Update breaks Ubuntu Xenial 16.04

As of the recent Steam update, Steam will not launch and the following is displayed:

$ steam
Setting up Steam content in /home/username/.local/share/Steam
Running Steam on ubuntu 16.04 64-bit
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(0)
libGL error: unable to load driver:
libGL error: driver pointer missing
libGL error: failed to load driver: r600
libGL error: unable to load driver:
libGL error: failed to load driver: swrast

You can fix it with:

mv .local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/ .local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/
mv .local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/ .local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/
mv .local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/ .local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/
mv .local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/ .local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/

This is yet another instance of the C++ libraries in the Steam Runtime not being compatible with the free software radeon driver for AMD (ATI) graphics cards:

I had a previous fix for this when they just packaged the i386 C++ library, but now they're packaging both the i386 and AMD64 C++ library, so my fix needed updating.

If Valve package one more C++ library that'll be 3 separate libraries: Half-Life 3 confirmed.

Monday, December 7, 2015

Disable Promise FastTrack FakeRAID on CentOS 7

I have a system with an onboard Promise FastTrack SATA RAID controller. This isn't a "real" RAID controller, but one which relies on the OS to perform some of the RAID work. This is commonly called "FakeRAID" and is not desirable.

Despite setting the controller into AHCI Mode in the BIOS, I still get a disk called  /dev/mapper/pdc_abcdef or similar and cannot use the disk /dev/sdb directly. I wanted the FakeRAID gone.

The FakeRAID is managed by Device-Mapper RAID called "dmraid".

An old CentOS 5 post suggests removing the dmraid package might work, but this wanted to remove anaconda and many other things, so didn't seem a good option.

There is a kernel boot parameter to disable Device-Mapper RAID so I applied this.

In /etc/default/grub add nodmraid to GRUB_CMDLINE_LINUX_DEFAULT:

GRUB_CMDLINE_LINUX_DEFAULT="quiet rhgb nodmraid"

Then re-create the GRUB2 configuration file:

grub2-mkconfig -o /boot/grub2/grub.cfg

Reboot, and no more FakeRAID drive. Success.

Saturday, November 7, 2015

Unknown symbol __dynamic_pr_debug

I was working with the default x86_64 + kvm kernel config and a kernel module which uses the pr_debug() printk logging method.

On load, modprobe prints:

FATAL: Error inserting modulename: Unknown symbol in module, or unknown parameter (see dmesg)

And dmesg contains:

Unknown symbol __dynamic_pr_debug

I do have the CONFIG_DYNAMIC_DEBUG=y parameter set in my .config.

I found reference to this upstream at: where Jim Crombie said "Ok, transient error, went away with a clean build".

I'd done a make; make modules_install; make install and reboot but that didn't work for me.

Like Jim found, a make clean then recompile worked for me.

You need to mount debugfs to use pr_debug(), see dynamic-debug-howto.txt in the kernel Documentation directory.

Sunday, June 1, 2014

kernel panic scsi_wait_scan on elrepo kernel-ml

Browsing around ELRepo, you can see they have the elrepo-kernel repository which contains the long-life kernel-lt (currently 3.10) and mainline kernel-ml (currently 3.14) packages.

I'd always been curious about these, so I spun up a test VM and did a CentOS 6 Basic Server install, then added ELRepo and installed them.

kernel-lt works fine first time.

However, kernel-ml will not boot, and simply repeats:
FATAL: Module scsi_wait_scan not found.