( ! ) Deprecated: Function create_function() is deprecated in /srv/http/blogs.mypals.org/pi/bl-kernel/helpers/text.class.php on line 209
Call Stack
#TimeMemoryFunctionLocation
10.0002405600{main}( ).../index.php:0
20.00971405016require( '/srv/http/blogs.mypals.org/pi/bl-kernel/boot/site.php' ).../index.php:39
30.01661637040include( '/srv/http/blogs.mypals.org/pi/bl-kernel/boot/rules/70.posts.php' ).../site.php:10
40.01661638616buildPostsForPage( $pageNumber = 0, $amount = '5', $removeUnpublished = TRUE, $tagKey = 'xorg' ).../70.posts.php:54
50.01671639040buildPost( $key = 'improving-x-performance' ).../functions.php:103
60.01691641824Text::pre2htmlentities( $string = 'I was reading the [Arch Linux Raspberry Pi](https://wiki.archlinux.org/index.php/Raspberry_Pi) page today and found a section about the [X.org driver]((https://wiki.archlinux.org/index.php/Raspberry_Pi#X.org_driver). It states:\n\r\n> The X.org driver for Raspberry Pi can be installed with the xf86-video-fbdev or xf86-video-fbturbo-git package.\r\n\r\nSo I decided to remove the `xf86-video-fbdev` package and installed the `xf86-video-fbturbo-git` package instead. I then hooked up my Raspberry Pi Zero to a monitor to test the performance of the [fbturbo driver](https://github.com/ssvb/xf86-video-fbturbo). Sure enough, the driver delivers improved performance. Moving windows is still a choppy operation, but the window you are moving now stays in sync with the mouse. Previously you would move a window and its movement was so delayed you never knew where it was going to be placed. At this point I can declare LXDE on Arch Linux as usable.\r\n\r\n## Fixing Screen Resolution Problem\r\nSince Arch Linux is built for several ARM architectures, there is a [known issue](https://archlinuxarm.org/forum/viewtopic.php?t=2878) about the initial screen resolution. I connect my Raspberry Pi Zero to a 1920x1080 monitor with an HDMI input. Unfortunately, the screen resolution, both in text and X modes, was only 1824 x 984 and did not fill the whole screen. The reason is the default overscan setting which ensures the image will fit in a TV if necessary. As stated in the forum post, adding the following line to `/boot/config.txt` solved the problem:\r\n\r\n```\r\ndisable_overscan=1\r\n```\r\n\r\nA reboot later and the screen resolution is now 1920x1080 and fills the whole screen. (Yes, that\'s all you have to do: edit the file as root and reboot.)' ).../functions.php:54

( ! ) Deprecated: Function create_function() is deprecated in /srv/http/blogs.mypals.org/pi/bl-kernel/helpers/text.class.php on line 209
Call Stack
#TimeMemoryFunctionLocation
10.0002405600{main}( ).../index.php:0
20.00971405016require( '/srv/http/blogs.mypals.org/pi/bl-kernel/boot/site.php' ).../index.php:39
30.01891647152include( '/srv/http/blogs.mypals.org/pi/bl-kernel/boot/rules/71.pages.php' ).../site.php:11
40.01891647152buildAllPages( ).../71.pages.php:68
50.01891647648buildPage( $key = 'about' ).../functions.php:201
60.01921649232Text::pre2htmlentities( $string = 'I am a software engineer. During my college years I played around with electronics and control systems. By the time I graduated, the Internet became a thing and I found a career as a backend developer for web appliactions.\n\r\nWith the advent of the Raspberry Pi and similar hardware, it is now easier than ever to bridge the gap between software and all sorts of hardware. Join me in my discovery of this new world as I play around with the Raspberry Pi, Odroid and other small computing platforms.' ).../functions.php:156

( ! ) Deprecated: Function create_function() is deprecated in /srv/http/blogs.mypals.org/pi/bl-kernel/helpers/text.class.php on line 209
Call Stack
#TimeMemoryFunctionLocation
10.0002405600{main}( ).../index.php:0
20.00971405016require( '/srv/http/blogs.mypals.org/pi/bl-kernel/boot/site.php' ).../index.php:39
30.01891647152include( '/srv/http/blogs.mypals.org/pi/bl-kernel/boot/rules/71.pages.php' ).../site.php:11
40.01891647152buildAllPages( ).../71.pages.php:68
50.01981655440buildPage( $key = 'Welcome-to-my-Raspberry-Pi-Blog' ).../functions.php:201
60.02011657024Text::pre2htmlentities( $string = 'I have started playing with a Raspberry Pi Zero yesterday. And since so many people have blogged about their adventures with the Raspberry Pi I figured I would do the same. I hope I provide a slightly different content, however for several reasons:\n\r\n* I am a software engineer, so I will favor writing reusable modules rather than simple scripts.\r\n* I use [Arch Linux](https://www.archlinux.org/), so I\'ll be trying to use it as much as possible.\r\n* I hope to write in a way that new and experience users alike will find useful.\r\n\r\nSo join me in my adventures with the Raspberry Pi!' ).../functions.php:156
Al's Adventures with Pi

I am a software engineer who wants to bridge the gap between the virtual and the physical via the Raspberry Pi and other small computing platforms.

Improving X Performance


I was reading the Arch Linux Raspberry Pi page today and found a section about the [X.org driver]((https://wiki.archlinux.org/index.php/Raspberry_Pi#X.org_driver). It states:

The X.org driver for Raspberry Pi can be installed with the xf86-video-fbdev or xf86-video-fbturbo-git package.

So I decided to remove the xf86-video-fbdev package and installed the xf86-video-fbturbo-git package instead. I then hooked up my Raspberry Pi Zero to a monitor to test the performance of the fbturbo driver. Sure enough, the driver delivers improved performance. Moving windows is still a choppy operation, but the window you are moving now stays in sync with the mouse. Previously you would move a window and its movement was so delayed you never knew where it was going to be placed. At this point I can declare LXDE on Arch Linux as usable.

Fixing Screen Resolution Problem

Since Arch Linux is built for several ARM architectures, there is a known issue about the initial screen resolution. I connect my Raspberry Pi Zero to a 1920x1080 monitor with an HDMI input. Unfortunately, the screen resolution, both in text and X modes, was only 1824 x 984 and did not fill the whole screen. The reason is the default overscan setting which ensures the image will fit in a TV if necessary. As stated in the forum post, adding the following line to /boot/config.txt solved the problem:

disable_overscan=1

A reboot later and the screen resolution is now 1920x1080 and fills the whole screen. (Yes, that's all you have to do: edit the file as root and reboot.)