Nov 202008

So what is the number one shortcoming of most major desktop distro’s today ? In my opinion it’s none of the things we all remember, heck even *buntu has control centers of a sort now (so there goes one of my favorite rants – always nice to find improvements).
Well I think it’s a massive oversight. In a world where GNU/Linux systems have hardware setups that are comparable and in fact often much easier than our proprietory counterparts, one thing has changed and we have sucked at keeping up. The change ? Five years ago a tiny minority of advanced computer users had more than one computer screen, people who weren’t afraid to tweak config files, and there was one howto to read since there was really only one technology for it, except for the nvidious users but they were used to having weird setups anyway.
The only GUI tool that had any idea how to set up multidisplay setups were SAX2 and that was because as X auto-configuration got smarter and smarter – less and less developers cared about creating better tools for modifying it. But it wasn’t a crisis then.
Today, I would bet that a good 30% at least of all desktop systems and probably 95% of laptops deal with multidisplay use every single day ! The autoconfigurations pretty much always set them up cloned. Now this is in my opinion stupid since it is probably the least used configuration you find these days. It made sense five years ago when people used a big freestanding screen and a docking station to turn a laptop temporarily into a desktop. These days, we want the screen real-estate of both monitors – even on docking stations.
Cloning as a use-case is shrinking, and others are getting harder and hard to set up ! As if the usefullness of cloning wasn’t already losing out to bigger screen-space, it faces the further challenge that in most multiscreen setups the monitors have different ideal frequencies, cloning means you either stick to what the worst of them supports, or you accept half your image falling of the screen on one side.
And multidisplay setups have become far more complex to do. Nowadays you have at least three different types of multidisplay technologies out there. The first and worst is Nvidia’s twinview, while very powerful in it’s time, twinview breaks every other standard and it’s xinerama compatibility is flakey – so every now and then, you get massive breakage (NWN for example – will choose the smallest of the two screens as res, then go and sit smack in the middle, panning across both to make an unusuable setup for playing the game).
Xinerama is the old favorite, but many cards like nvidia don’t play well with it and it’s multiple screen entries in xorg.conf setup is pretty much impossible to autoconfigure right (I have never seen an autoconfig with this setup that didn’t create a sucky setup – you always have to tweak it). It’s complex to set up and doesn’t allow you to take advantage of the full featureset of your card.
In theory there is light at the end of the tunnel in the form of XRANDR1.2 which provides really nice ways to manipulate screen setups on the fly. You can set up cloning, rotations etc. – really cool. Only problem is, right now the only cards that actually support it are some of the higher end intel drivers. If you install nouveau you get the support for it on nvidia, but nothing else really works and nouveau won’t be production ready for a while yet. Nothing else can use the full feature-set.
Think it’s rough so far ? It gets worse, both major desktops have tools to act as GUI’s to the XRANDR commands, both of them suck. I have yet to manage to get them to set up anything other than a broken clone setup. The buttons are there for others, they just don’t work – and don’t even tell you why. The problem being that XRANDR multisetups depend on defining a virtual screen size, and neither of them can do the simple addition that is needed to actually allow the second screen to be moved ! I have full XRANDR1.2 support on my laptop – and I opted for configuring XRANDR with my xorg.conf file rather than to deal with the pain of trying to somehow coax krandrtray into working.
The final problem is that neither of the desktop’s included XRANDR frontend can save the changes permanently (e.g. into xorg.conf), to keep them, you have to set the frontend to autostart with the desktop – and if you ever log into a different session, bang goes your display setup until return to your usual one.

In short, it’s a mess. Is there any good news ? Well SAX2 is still under development and still pretty lonely in the one distro that includes it because nobody else seems to take the problem seriously. The support for xrand1.2 is not fully feature-complete yet but getting there, and unlike the others it is actually designed to set up your xorg.conf file for almost any advanced use-case with a click-and-drag interface. The only gripe I have against it is that current version can only compiled against QT3, but that will hopefully be changing in the near future. So what is the question ?Where do we go from here ? If we put our money on xrandr1.2 then the distro’s need to offer some resources to get the GUI’s up-to-scratch for it. For everybody who cannot use it and won’t be able to for some time – we need to offer easy ways to do what is becoming a more common use-case every single day, SAX2 is the closest to a solution that exists, and I think other distro’s should adopt it, whether on a permanent or temporary stop-gap basis is really rather unimportant. The important thing is dealing with the problem in front of us right now.

Oct 272008

I finally decided last week to take the plunge and try the nouveau driver out. My feelings on proprietary drivers like nvidia’s are well known by now so I doubt there is anybody who will be much surprised except that I took so long.
RMS has said many times that the only time it is acceptable for somebody who believes in free software to use proprietary software is when (1) there are no usable free alternative and (2) you are also contributing to the creation of such an alternative. Thus the use of the proprietary only program is just a temporary stopgap – and you are making an effort according to your abilities to ensure it remains temporary.

Well there are four pieces of proprietary software on my computer (that I know about – if something else slipped through I haven’t found it but even gnewsense has trouble finding it all – and if I haven’t found it then the implications if that I don’t use it). The first is the BIOS, well there isn’t much I can do about that right now, opencore doesn’t support my motherboard yet, and since it’s not a dual-bios motherboard there is no way I can help fix this without bricking my computer. The second is java, which is not major concern to me since it’s 90% GPL’d already and the remaining ten percent will be GPL’d by April if SUN keeps their word.

The last two are the nvidia driver and the adobe flash player. So those two are things that I can start helping to get rid off, and I am doing just that. For flash, I am running gnash as well, my coding skills do not extend to what gnash needs but I can contribute bug reports and I am doing so as I have been for several years. Gnash is fast approaching a usable state. I see too many ‘opensource’ people cheering because Adobe finally ‘saw the light’ and released the GNU/Linux flash-10 alongside the windows version. Wake-up people. They didn’t see the light, they didn’t do this because they are nice ! They did it because gnash is fast approaching a usable state for everybody (it already works for almost everybody) and they want to try and stop it’s momentum by cementing their position with an early release.
Please folks, if you care about free software, see through this piece of pure marketing strategy. Adobe didn’t do this to make it easier on new GNU/Linux users, they did it because GNASH represents a threat to them on Windows and on GNU/Linux, so stopping it where it is currently strongest is their best bet to try and prevent it replacing them on both.
I believe however that they will come to learn that the only way they really could have stopped gnash and made it irrelevant would have been to make flash free software.

But back to the topic at hand, there is one project out there to try and create a free replacement for nvidia’s proprietary driver and I am now running it. At this stage you will need to have xorg1.5 installed to make the most of it, the 1.4 3D and compositing support requires the gallium driver for it which is … very broken. But not long ago, all of nouveau was pretty broken. It’s impressive how the driver has come along in a short period of time. Already it outperforms the nv driver a hundred times over on my system.
I will be upgrading to xorg 1.5 as soon as it’s practical to test it on that (particularly it’s 3D support) but I can vouch that if you follow the wiki instructions for installation nouveau works pretty well for 2D on most setups. There are some quirks which I will post on more fully as I discover them, but well done to the nouveau folks, I have already offered them what help I can give because contributing to this is the only way I can rid myself of a driver that has proven unstable, badly designed and thoroughly proven that proprietary software always comes back to bite you in the ass sooner or later.

Oct 082008

I got my hands on a copy of NeverWinterNights for Linux the other day, and I’ve been playing it whenever I have spare time at night – what a great RPG. Now before the flame comments start, I’m on record as saying I don’t think it’s ethically crucial that games be free software because they aren’t software to begin with – they are art. At least, they art part is far more important than the programming part.
Which is not to say it’s not very good (and certainly a lot better) when they are free software, but like with music it’s good when it happens, but not evil when it doesn’t.

So back on topic, I really enjoy NWN. It’s rules are familiar to anybody who knows even the basics of DnD or has played Nethack for that matter, and it’s filled with tremendous flexibility of gameplay (as befits an RPG). I haven’t tried the online version at all I must admit, but the single player version is really nice. A compelling storyline with the kind of environment that allows you to live that storyline out.

NWN is of course, 32-bit only but I had no real trouble running it on Bluewhite64, all I had to do was grab the 32-bit SDL packages from install them in a temp root and copy the usr/lib files into /usr/lib32 and it worked fine ever since.

I did find one nasty – it doesn’t play (no pun intended) nicely with twinview, putting itself in the middle of the two screens spanning halfway onto each. With Xinerama, it works perfectly. Of course Xinerama on NVidia means no compiz effects but I have also found that with twinview enabled my system is really slow and unstable, using Xinerama instead is much faster and works way better under KDE4.

I made one change though, I don’t run it under KDE at all, seeing as I have two screens, KDE needs to keep managing the one NWN is not on, and it’s not like I can multitask that way since the mouse is trapped inside NWN, so that was just a waste of resources, instead I created a .desktop file to launch NWN by itself and copied it into /usr/share/xsessions, now when I want to play it I just select “Neverwinter Nights” from my session menu on the login screen and log in, when I exit the game I’m back at the login screen. I tend to do this with most heavy-on-resource games anyway and I highly recommend it. Being able to completely switch off your desktop while playing games is just part of the real power that GNU/Linux with it’s immense customization offers over other OS’s.

Sep 052008

Today has been a good day. First off, I just uploaded an updated set of lancelot packages. These packages are now compiled against KDE4.1.1 (they’ll probably work on older ones but don’t quote me on that) and contain a fix in the slack-desc file (thanks Kenjiro Tanaka for pointing that out).

Secondly, I’m now running KDE4.1.1 for bluewhite64 mere days after the official release, another big thank you going out to Kenjiro once more as he was the one who built these packages. I love how alive the community around BW64 is :)
KDE4.1.1 is quite impressive for a mere maintenance release and I definitely has a slicker feel to it. Things just work that tiny bit better especially in plasma. Still runs slow on my system though and I still blame NVidia, despite the fact that it now renders at a good speed, kwin still uses massive amounts of CPU even with effects turned off.

Finally I also discoverd wicd, courtesy of Robby Workman – finally a lovely userspace tool for network management that doesn’t bugger up the slackware philosophy, handles WPA with sweet beauty and doesn’t depend on half of gnome like NetworkManager does.

Aug 202008

Just a heads up to everyone that the new beta Nvidia driver has fixed most of the 2D bugs plaguing KDE users in particular, it’s version: 177.67 and I highly recommend upgrading as almost the entire changelog are fixes for the RENDER bugs that made our lives miserable.

Kudo’s to NVidia for finally dealing with the bug reports- but I stand by my earlier claim: I will never buy another NVidia card unless they make a free driver (or nouveau becomes fully stable). This entire debacle just highlighted why proprietary drivers are so evil.Some say they are less evil than apps – I am thinking they are worse, because when they screw up – it can make everything else broken.
There are now solid 3D acceleration options with free drivers – why would I ever buy NVidia again ?

Aug 142008

Considering that firefox is a crazy performance hog it has become rather annoying to me off late. In my virtualbox’d KDE4 at work for example, I get very lovely kwin effects when using XRender – provided I do not have NVidia running, which makes the effects dog-slow.

So I started asking myself about reasonably replacing it. Konqueror is the obvious choice as it’s KDE’s own well-rounded web-browser and should work nice… right ?

Well the first issue is a known one: learning to live without your firefox extensions. Not a major thing since I don’t use too many of them at work anyway, but some things like stumbleupon are basically useless any other way and that would affect me at home.

But what about site compatibility ? Oddly enough wordpress seems to break konqueror, not on the browsing of blog pages, but one trying to work with the admin system. Over https, it logs in – but then tries to relogin when you try to add a page, and that redirects to the non-https version. Which doesn’t want to log in, no matter what.
I tried my openID login as an alternative test but apparently openID doesn’t play nice with konqueror either (at least, phpmyid doesn’t) – I have no idea why that would be, but it breaks it by trying a direct access without auth’ing first. This happens both plain and ssl based.

Finally, I got a real bugger when I tried to access our spacewalk server, which has error pages specifically listing konqueror as not working (apparently it doesn’t handle formvars properly in some cases).

I am quite disappointed as I was really hoping to switch to konqueror – but if I cannot do my job (and my job includes accessing spacewalk) then I cannot use it. What surprised me most however is that each of the big three problems I found are in sites run by FOSS applications of some sort. You would expect a FOSS browser to play nice with FOSS CMS’s and the like would you not ?
I will be keeping an eye on the QT-based firefox, I am hoping it could become the middle-ground I need.

Aug 052008

In the early days of vmware it was basically just another way of running some windows apps under Linux (back then Wine wasn’t better at it). Time however proved their gamble right- virtualization became a key aspect of enterprise computing.
Using virtual servers means that one piece of hardware could do many more things, better for the environment, better for the budget and easier to manage.

VMWare ruled this space for a long time because they were first to market, and kept expanding the feature set. Many attempts were made to create a free alternative, all of them sorta worked but until QEMU none of them could really do the job. Even then there were shortcomings and some OS’s just wouldn’t quite work right. Worse than that, QEMU was still just an emulator.

Recently though, I discovered virtualbox, a product SUN had bought over and turned into an enterprise level virtualization suite that doesn’t just match VMWare for features, it exceeds it. A lot of the power of virtualbox as a serious competitor to VMWare comes from it’s use of open standards and protocols to do things.
Now I should add that there are two versions of virtualbox and some of the enterprise features are not available in the FOSS version. But I will mention one of them as a case in point. For the enterprise version, remote access to your VM’s do not require any special clients like VMWare server does, you just use RDP which every OS on the planet already has a client for.

That alone is a major saving as it means that the licensing expense for virtualbox is server-side only.

I haven’t been using the enterprise version though and I do not need it for my needs. I am using virtualbox because I am required to use XP as my main OS on the company laptop, but I cannot live without a KDE4 desktop (on Linux, I know it can run on windows but that wouldn’t give me a Linux OS to work on now would it ?) anymore. Using virtualbox it was easy to install this desktop, the integrated networking covers all the features VMWare offers including host-only, integrated NAT and bridge (although you need to set up bridging yourself it’s not as integrated).

I use the NAT option which works perfectly fine and has the benefit that the many MAC based security policies in my environment cannot tell my VirtualBox linux from my physical windows platform.

Other features include full USB support, a simple GUI interface (something that has been sorely lacking in free virtualization tools so far) and proper multiplatform support (so unlike things like UML and XEN it can run linux on windows or windows on linux).

KDE4 running inside virtual box - click to view full size
KDE4 running inside virtual box – click to view full size

VirtualBox is also surprisingly fast, I gave mine plenty of ram since it is after all a desktop, but it is fully responsive and runs KDE4.1 much better than my physical machine at home (for which I blame NVidia).
All the basic features you know from VMWare are there, including shared folders (which play oh so nicely with folderview because they just get mounted) and it all works very easily. The only problem I have had in about a week of using it is that the help file doesn’t say how to access shared folders – but a quick google did enlighten me quickly enough:
mount -t vboxfs $SHARENAME $MOUNTPOINT
Or just create an fstab line like this:
$SHARENAME $MOUNTPOINT vboxsf rw,auto,exec 0 0
(Of course $MOUNTPOINT must exist and you should replace $SHARENAME and $MOINTPOINT with real paths).

And here is where it gets interesting. VMWare’s guest tools are… flakey at best and the majority of distro’s I’ve tried to install them on over many years had issues getting them all to work. VirtualBox’s guest additions are powerful, complete and fully functional. They install easily on any distro I’ve tried and work very well.
That is when you start discovering some very cool features, like the pointer integration support, which means merely moving your mouse between your linux and windows desktops and working as if it was just another window. No keyboard locking, nothing. Copy and paste between a VirtualBox and a real machine works fine too.

I am seriously impressed. SUN has taken a solid product here, and turned it into something that is fully enterprise ready and capable. In my own setup, I have a dual monitor configuration, so I typically keep windows open on the one screen and virtualbox running on the other, and switching between them is completely smooth and transparent.

I am impressed and I want to say outright: after many years, there is finally a FOSS product that not only competes with but utterly exceeds the capabilities of VMware for both home and enterprise users. Considdering the hefty pricetag VMWare comes with – I smell trouble ahead for them.

Jul 292008

Well KDE4.1 is available, and it is a sweet. For a lot of people, this will be the switchover point, the rest of you – KDE4.2 should do it :)

I would like to suggest looking at Bruce Byfields excellent review for a good idea of who should be switching yet.

I, I’m sold. Despite the slowness of my NVidia card natively, I can work just fine using XGL. However, I also found that XGL conversely made my KDE3 installation almost unusably slow (ditto KDE3 apps I still use – even though inside KDE4 I can hack-launch them to run on the native screen with a few tweaks).
So I split out XGL to only run for KDE4 for now. To do so I rm’d /etc/X11/xsession.d/98xserver-xgl_start-server
then created a new script in /usr/bin called startkde4-xgl with the following content:

XGL_OPTS=”-nolisten tcp -fullscreen -br +xinerama”

$XGL_START $XGL_DISPLAY $XGL_OPTS –execute /usr/lib/kde4/bin/startkde

Gave it execute permissions and added a session file for it in /usr/share/xsessions.
Please note: These instructions arethe short-version and they are for kubuntu, other distros handle XGL in very different ways.

Either way, it’s great to finally have KDE4.1 final installed – now to go PLAY !