NVIDIA – Latest Driver OK with Kernel 4.3 – and Fedora 23..

Tested the latest NVIDIA driver – 352.63 – and it is OK with Kernel 4.3, and with the Fedora 23 version of the xorg server..

The only other ‘broken’ Fedora 23 items I have encountered are ffmpegthumbs and Samba..    I downgraded to the FC22 version of Samba

# dnf --showduplicates --allowerasing --releasever=22 downgrade samba*

….and  – after a lot of unsuccessful testing and re-compiling – found a working version of ffmpegthumbs here:  http://phobeus.de/tmp/kdesig/

So, my /etc/dnf/dnf.conf has the appropriate excludes, for the time being:

exclude=ffmpegthumbs* samba*

Robert Gadsdon.  November 16, 2015.

Kernel – 4.4-rc1 – OK with Latest NVIDIA and VMware..

Updated to Kernel 4.4-rc1 on the test system, and VMware 12.0.1 and NVIDIA 358.09 both compile and load/run OK..   I did get an error from vmnet, but – so far – it appears to be working OK despite this:

$ vmnet1: set_features() failed (-1); wanted 0x0000000000004000, left 0x0000000000004800
vmnet8: set_features() failed (-1); wanted 0x0000000000004000, left 0x0000000000004800
$ uname -a
Linux rglinux 4.4.0-rc1 #1 SMP Sun Nov 15 17:39:31 PST 2015 x86_64 x86_64 x86_64 GNU/Linux

Brief details of changes are here: http://lkml.iu.edu/hypermail/linux/kernel/1511.1/04984.html

There are quite a few changes/additions to ARM and ARM64, and I will be testing these soon..

Robert Gadsdon.  November 15, 2015.

ARM64 – DragonBoard to 4.2.4 – 4.3-rc5 Tested..

Updated the DragonBoard 410c to Kernel 4.2.4: # git clone https://git.linaro.org/landing-teams/working/qualcomm/kernel.git -b release/qcomlt-4.2 and this version boot/runs OK..   I am running these systems ‘headless’, so have not been able to test monitor/display capabilities..

Fedora 23 (Twenty Three)
Kernel 4.2.4 on an aarch64 (ttyMSM0)
# uname -a
Linux rg410c 4.2.4 #1 SMP PREEMPT Wed Nov 11 04:12:36 EST 2015 aarch64 aarch64 aarch64 GNU/Linux

I did try the ‘development’ version 4.3-rc5, but USB did not work (so no Ethernet, either..)

Using U-Boot made the whole process so much less hassle (see previous article..)..

Robert Gadsdon.   November 11, 2015..

ARM64 – Dragonboard 410c – Now with U-Boot..

One of the shortcomings of the DragonBoard 410c was that it relied on the Android-phone-centric fastboot for any Kernel updates, but now there is a version of U-Boot available, thanks to Mateusz Kulikowski..

This is very much a work-in-progress, but I thought I would give it a try…

I started with the version at https://github.com/hallor/u-boot/tree/dragonboard-2015.11.01, and made some modifications to get it working on my 410c (Fedora 23, EXT4 rootfs, boot from SDCard)..

I should emphasize that I am a complete novice when it comes to hacking u-boot, and there may well be a better way of doing all this, but this worked, for me..

Modify u-boot/include/configs/dragonboard.h

#define CONFIG_CMD_EXT4 /* EXT4 support */
#define CONFIG_SYS_BOOTM_LEN (16 << 20) /* Increase max image size */

And.. as the SAVEENV command was not included, for some reason – and I could not work out how to reenable it – I hard-coded the boot parameters, as follows:
/* Environment – Boot*/
#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
#define CONFIG_BOOTARGS “root=/dev/mmcblk1p1 rw rootwait console=tty0 console=ttyMSM0,115200n8 rootfs=ext4 noinitrd selinux=0”
#define CONFIG_BOOTCOMMAND “ext4load mmc 1:1 0x90000000 /boot/uImage; ext4load mmc 1:1 0x89000000 /boot/apq8016-sbc.dtb; bootm 0x90000000 – 0x89000000; ”
< each of these #defines should be a single line..>


#] make distclean
#] make dragonboard_config
#] make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-  (or whatever cross-compiler you are using..)

And make a ‘fake kernel’ image to use with fastboot, to install u-boot…

mkbootimg can be found at git://codeaurora.org/quic/kernel/skales, and I just installed it in /opt, and then added the location to the $PATH..

#] export PATH=/opt/skales:$PATH
#] mkbootimg --kernel=u-boot.bin --output=u-boot.img --dt=fake_dt --pagesize 2048 --base 0x80000000 --ramdisk=fake_ramdisk --cmdline=""
(su, and enable fastboot on the 410c, after connecting the USB cable, etc. etc..)
#] fastboot flash boot u-boot.img

So.. the fastboot-enabled ‘boot’ image is not the kernel now, but actually the u-boot executable.. You will only need to use fastboot to install/update u-boot.

The kernel can now be compiled on the Dragonboard, now, but the arm64 kernels do not include any built-in #make uImage or #make zImage capability, and so you will need to create a uImage after the #make Image kernel compile..

#] make defconfig (if necessary..)
#] make xconfig (select qcom...)
#] make -j5 Image
#] make dtbs
#] cp arch/arm64/boot/dts/qcom/apq8016-sbc.dtb /boot
#] make -j5 modules
#] make modules_install
#] make firmware_install
#] cp System.map /boot
#] cp arch/arm64/boot/Image /boot

Then in the /boot directory:

#] mkimage -A arm64 -O linux -C none -T kernel -a 0x80080000 -e 0x80080000 -n Dragonboard -d Image uImage

U-boot boot sequence – after u-boot is loaded by the old android bootloader:

U-Boot 2015.10-00449-g8e0b5c4-dirty (Nov 09 2015 - 14:13:46 -0800)
Qualcomm-DragonBoard 410C

DRAM: 986 MiB
MMC: msm_sdhci: 0, msm_sdhci: 1
Using default environment

In: serial
Out: serial
Err: serial
Net: Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot: 0
=> printenv
bootargs=root=/dev/mmcblk1p1 rw rootwait console=tty0 console=ttyMSM0,115200n8 rootfs=ext4 noinitrd selinux=0
bootcmd=ext4load mmc 1:1 0x90000000 /boot/uImage; ext4load mmc 1:1 0x89000000 /boot/apq8016-sbc.dtb; bootm 0x90000000 - 0x89000000;

Environment size: 327/4092 bytes
=> boot

<< Linux Kernel boots… >>

[ OK ] Reached target Network is Online.
 Starting LSB: Start or stop the Webmin server...
 Starting rolekit - role server...
 Starting Availability of block devices...
[ OK ] Reached target Remote File Systems (Pre).
[ OK ] Reached target Remote File Systems.
 Starting Permit User Sessions...
[ OK ] Started OpenSSH server daemon.
 Starting OpenSSH server daemon...
[ OK ] Started Availability of block devices.
[ OK ] Started Permit User Sessions.
 Starting Terminate Plymouth Boot Screen...
[ OK ] Started Command Scheduler.
 Starting Command Scheduler...
 Starting Wait for Plymouth Boot Screen to Quit...

Fedora 23 (Twenty Three)
Kernel 4.2.0 on an aarch64 (ttyMSM0)

rg410c login:

So.. I now have a Dragonboard 410c that I can compile the kernel on, and boot, without having to cross-compile or connect USB cables!

Robert Gadsdon.   November 9, 2015.
Updated November 12, to add info on mkbootimg..






VMware – Fedora 23 Breaks vmware app, and a Workaround..

Although VMware 12.0.1 was installed OK, the desktop app (/usr/bin/vmware) fails, with – frustratingly – no error shown..    According to various comments found, this is due to a change to GCC version 5.1.1 in Fedora 23..

Thanks to Vincent Cojot, on the sgros.blogspot.com blog, there is a slightly convoluted workaround, which basically involves replacing the VMware versions of the libgxxx modules with the Fedora 23 versions, and then forcing vmware to use these..

The shell command shown on the blog was messed up by formatting, so I just made the changes manually, as follows

As root, cd to /usr/lib/vmware/lib


# cp -afv /usr/lib64/libgio-2.0.so.0.4600.1 libgio-2.0.so.0/libgio-2.0.so.0
# cp -afv /usr/lib64/libglib-2.0.so.0.4600.1 libglib-2.0.so.0/libglib-2.0.so.0
# cp -afv /usr/lib64/libgmodule-2.0.so.0.4600.1 libgmodule-2.0.so.0/libgmodule-2.0.so.0
# cp -afv /usr/lib64/libgobject-2.0.so.0.4600.1 libgobject-2.0.so.0/libgobject-2.0.so.0
# cp -afv /usr/lib64/libgthread-2.0.so.0.4600.1 libgthread-2.0.so.0/libgthread-2.0.so.0

The VMware libraries are each in their own individual directory, with the same name as that library..     Of course, the Fedora 23 library versions may change over time..

After that, run the vmware app forcing the use of the copied libraries:


And..  vmware works again..

Robert Gadsdon.    November 4, 2015

NVIDIA – Incompatible with Fedora 23 Xorg – and a Workaround..

Just updated to Fedora 23, and the NVIDIA driver would not load/run.. (tested with the latest – 358.09 and 352.55)

================ WARNING WARNING WARNING WARNING ================
This server has a video driver ABI version of 20.0 that this
driver does not officially support. Please check
http://www.nvidia.com/ for driver updates or downgrade to an X
server with a supported driver ABI.
(EE) NVIDIA: Use the -ignoreABI option to override this check.
Fatal server error:
(EE) no screens found(EE)
Please consult the Fedora Project support
 at http://wiki.x.org
 for help.
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE) Server terminated with error (1). Closing log file.
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error

There is a wealth of forum traffic on this, and all the ‘solutions’ are a bit messy, but I opted to downgrade the Xorg server for the time being, to the version used for Fedora 22.   There are several dependencies, so I used:

# dnf --allowerasing --releasever=22 downgrade xorg-x11-server-Xorg

This fixed the problem, but you also need to be careful to prevent updates during the normal update cycle..

The real fix will be when NVIDIA releases a driver that supports the ‘new’ Xorg 1.18 API…


To prevent dnf updates from reinstalling the F23 versions, add exclude=xorg-x11* to /etc/dnf/dnf.conf (but remember to remove this, when the correct driver is available..)

Robert Gadsdon.  November 5, 2015


Kernel – 4.3 Final released – OK with Latest VMware and NVIDIA…

Updated to Kernel 4.3 ‘Final’ and the latest versions of VMware (12.0.1) and NVIDIA (tested with 352.55) install and load/run OK, without the need for any patches..

Brief details of changes from -rc7 are here: http://lkml.iu.edu/hypermail/linux/kernel/1511.0/00204.html

$ uname -a
Linux rglinux-i7 4.3.0 #1 SMP Sun Nov 1 17:27:46 PST 2015 x86_64 x86_64 x86_64 GNU/Linux

Robert Gadsdon.   November 1, 2015.

VMware – 12.0.1 released – OK with Kernel 4.3.. Update: Crashes Windows 7 – And a Solution..


After more tests, I found a solution..

Rather than ‘update’ from 12.0.0 to 12.0.1, you have to deinstall 12.0.0 first:

# vmware-installer --uninstall-product vmware-workstation

– remembering to answer ‘yes‘ to the ”Do you wish to keep your configuration files?” message.

Then install 12.0.1 as a new install..

# ~/VMware-Workstation-Full-12.0.1-3160714.x86_64.bundle

Now everything seems to be working OK, again..


The Problem:
As soon as I tried to resize the (win7) guest to fullscreen, windows froze, and then flashed an error message in a small blue box in a black screen, and then slowly displayed the fullscreen window.   When I tried to run Photoshop, it kept freezing, and then I actually got the famous blue screen of death with a ‘page fault’ error..     I have tried this on two different x86_64 systems, with similar results..

So…  I am uninstalling VMware 12.0.1

vmware-installer --uninstall-product vmware-workstation

– and (re)installing 12.0.0, for the time being !


VMware 12.0.1 has just been released, and I have tested this with Kernel 4.3 (4.3-rc6) and it compiles/loads/runs OK- at first.  There is no need for the vmmon ‘patch’ any more..

Release notes are here:  https://pubs.vmware.com/Release_Notes/en/workstation/12pro/workstation-1201-release-notes.html     No specific mention is made of Kernel 4.3 compatibility..

This is good timing, as Kernel 4.3 ‘Final’ is due to be released soon..

Robert Gadsdon.   October 30, 2015.

phpMyAdmin – Another Blank Window Fix..

Installed Mariadb, Apache etc, and phpMyAdmin on the Fedora 22 Intel i7 system, and the database was all OK, but phpMyAdmin showed a blank window..

Searching for this issue produced a wealth of reasons – usually ‘operator/config’ problems..   My config was just a clone of a known/good system, and I eventually found a simple reason for the problem, that seemed to not match the error shown in the log..

/var/log/httpd/error_log showed:

[Sat Oct 24 12:47:53.542626 2015] [:error] [pid 640] [client] PHP Fatal error: Call to undefined function __() in /usr/share/phpMyAdmin/libraries/core.lib.php on line 245

But the (simple!) fix – after comparison with the known/good system setup – was to correct the ownership of /etc/phpMyAdmin/config.inc.php from root:root to root:apache

[root@rglinux-i7 phpMyAdmin]# chown root.apache config.inc.php

After that, all was OK..

Robert Gadsdon.   October 27, 2015.

VMware – Now a Patch for Kernel 4.3

Thanks to info from zezaocapoeira, there is a patch – from efferre79 – for VMware vmmon to fix the compile problem with kernel 4.3..


I have tested the vmmon part of this with Workstation 12 and Kernel 4.3-rc5, and everything now compiles and loads/runs OK..

VMware vmci for Workstation 12 is now included with the standard kernel code..

Robert Gadsdon.   October 18, 2015