From owner-freebsd-x11@FreeBSD.ORG Thu Aug 29 16:17:04 2013 Return-Path: Delivered-To: freebsd-x11@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 718677D1; Thu, 29 Aug 2013 16:17:04 +0000 (UTC) (envelope-from mrezny@hexaneinc.com) Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) by mx1.freebsd.org (Postfix) with ESMTP id B30B92528; Thu, 29 Aug 2013 16:17:03 +0000 (UTC) Received: from mfilter2-d.gandi.net (mfilter2-d.gandi.net [217.70.178.140]) by relay5-d.mail.gandi.net (Postfix) with ESMTP id 873E541C07A; Thu, 29 Aug 2013 18:16:45 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mfilter2-d.gandi.net Received: from relay5-d.mail.gandi.net ([217.70.183.197]) by mfilter2-d.gandi.net (mfilter2-d.gandi.net [10.0.15.180]) (amavisd-new, port 10024) with ESMTP id 2n9J1+wv+vFA; Thu, 29 Aug 2013 18:16:42 +0200 (CEST) X-Originating-IP: 89.24.3.53 Received: from unknown (53-3.gprs.tmcz.cz [89.24.3.53]) (Authenticated sender: mrezny@hexaneinc.com) by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id A08D341C074; Thu, 29 Aug 2013 18:16:41 +0200 (CEST) Date: Thu, 29 Aug 2013 18:16:49 +0200 From: Matthew Rezny To: Niclas Zeising Subject: Re: ports/156405: x11-drivers/xf86-video-ati driver: no hardware rendering Message-ID: <20130829181649.0000788c@unknown> In-Reply-To: <521E5CA0.6080206@freebsd.org> References: <201308280420.r7S4K1OM083764@freefall.freebsd.org> <521DE1F6.1030305@freebsd.org> <20130828171520.00004b3e@unknown> <521E5CA0.6080206@freebsd.org> X-Mailer: Claws Mail 3.9.0cvs98 (GTK+ 2.16.6; i586-pc-mingw32msvc) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Cc: freebsd-x11@FreeBSD.org X-BeenThere: freebsd-x11@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: X11 on FreeBSD -- maintaining and support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Aug 2013 16:17:04 -0000 On Wed, 28 Aug 2013 22:25:04 +0200 Niclas Zeising wrote: > On 08/28/13 17:15, Matthew Rezny wrote: > > On Wed, 28 Aug 2013 13:41:42 +0200 Niclas Zeising > > wrote: > >> On 08/28/13 06:20, Matthew Rezny wrote: >=20 > >> Our old xorg is blocking other ports from updating, so while it > >> might not directly bring new features from your point of view, it > >> is blocking new features in other areas. > >>=20 > > What I meant was no user noticeable features in Xorg stack itself. > > I understand some other software running on Xorg might like a newer=20 > > version, but from a user perspective the older versions of that=20 > > software with working hardware rendering are more usable and useful=20 > > than newer versions stuck on software rendering. Any new features > > are nothing more than theoretical if there is no practical way of > > running them. >=20 > You are missing the point. Some software needs updated xorg stack, > because of lacking features or bugs in our current xorg. If we can't > update those packages, we are missing out on features there, and that > might in turn stop other updates. > Besides that, our current xorg is lacking support upstream, meaning > security isses might go undetected, or we need to backport patches, > which takes time and effort. >=20 Sorry, but it is actually you who misses the point. It matters not what new features are in the updated software or what new features are in the Xorg stack. If there is not a working driver then the Xorg stack is useless and thus all the software that depends on it is also useless. It can have a million new whizbang features but all that means nothing if I can't run the Xorg stack due to missing/non-functional drivers. Miss out on new features, or miss out on all of it, which is worse? Answer should be obvious. Also, "upstream" does not support our platform so we must support ts ourselves regardless what version it is. We had a version that worked thanks to the effort of you and others. It's great to know that a newer version is in the works, but until it's fully baked, don't take away what we already had working. To throw it away away prematurely is not only frustrating for those who were using it, but it also makes waste of the past efforts. >=20 > >> What versions of relevant software are you using? Do you have a=20 > >> xorg.log file to show us, so that we can see what's going on. > >>=20 > > Unfortunately, not at the moment. Relevant versions of Xorg/Mesa > > stuff is too tangled a mess to possibly remember off the top of my > > head. I can't provide an Xorg.log until I replace some hardware. The > > desktop 890FX/PhenomII/HD4870 is having instability problems due to > > VRM cooling issues on the motherboard. While diagnosing the problem, > > I pulled all the hard drives except one which has Windows7, > > primarily to prevent creeping data corruption on the FreeBSD > > drives. When I get the motherboard replaced, then I can follow up > > on this properly. The TurionII/HD4200 laptop is running Windows7 as > > I gave up on using FreeBSD on it months ago. When it had working > > R600 DRI then it was quite usable under FreeBSD with the only > > caveat being the lack of GPU power control meant battery life was a > > little short. Without functional hardware rendering, not only was > > it frustratingly slow, but the increased CPU load impacted battery > > life to the point it was unacceptably short lived away from a power > > outlet. >=20 > Without a list of software, logs and other relevant information it is > impossible to help you and debug this issue. It is not very hard to > get a list of installed ports and packages, a dmesg output and a log > from xorg. >=20 I never said it was hard to do. I said I couldn't do it right this moment and gave the reason why. > As a side note, cooling issues can probably cause all sorts of issues > that doesn't seem related at first, so that might be a place to start. >=20 I am well aware that cooling issues can cause anomalous behavior. That is why I pulled all the harddrives except one. The drives I pulled contain my important data and the FreeBSD zpool. The drive that remains is the Windows OS and app drive, which is the easiest to recreate. It is also what I needed for hardware diagnostics to determine the root cause of the problem and is what I will need to validate the new board. If it gets hosed, I can re-install it fast. When I'm sure the hardware is back in good order, then I'll put the rest of the drives in and get all that you ask. >>=20 > >>> I could almost understand if there was some actual problem with > >>> the R600 DRI, but there isn't. Starting X results in the > >>> software rasterizer, which makes KDE painfully slow . However, > >>> running certain apps I get hardware rendering. i.e. OpenArena > >>> loads r600_dri.so instead of swrast and the framerate in timedemo > >>> clearly slows hardware rendering is in fact working. Why can a > >>> game get hardware rendering but the rest of X can't? > >>=20 > >> Once again, what version of libGL and libdri and drm ports are you=20 > >> using? Are your ports tree up to date? Are you using > >> WITH_NEW_XORG or not? > >>=20 > > See above about version numbers. Port tree was up to date on the=20 > > desktop. I've been running 9-STABLE with ports updated monthly. I > > was not using the WITH_NEW_XORG recently as my understanding was > > that should only be turned on (at that point in time) for Intel KMS > > testers (not sure if can really call any of them users given the > > current state). >=20 > WITH_NEW_XORG=3D is usable for other hardware configurations as well, > and with the addition of the radeon KMS driver, it should work fine > even with radeon hardware. It might need some polish in the ports > department to get optimal performance, but we are working to get that > into the tree in time for 10.0. >=20 At this moment in time I'm not even sure what WITH_NEW_XORG means in terms of versions so I can't really guess at what it does and doesn't work with. What I know is that radeon DRI does not work with or without it when I last tested flipping the switch. The wisdom I remember reading in the past in regards to the switch was that leaving it off should be the version where DRI works, setting it on would get new Xorg which breaks DRI for sure, unless WITH_KMS is also on, in which case DRI works but only for Intel KMS. >>=20 > >>> Considering how far off KMS support is, I would hope this issue=20 > >>> would have been addressed by now. From my viewpoint, it looks > >>> like some stupid and likely trivial bug that causes Xorg to load > >>> swrast instead of r600_dri, but I haven't the time nor patience > >>> to dig through the mess that is Xorg to attempt to figure it > >>> out. > >>=20 > >> Considering KMS for Ati/Radeon cards already hit the tree, I think > >> it is safe to say we have been busy elsewhere. > >>=20 > > I recognize it is in the tree. In fact, its landing in the tree is > > what provoked me to respond to this PR at the this time. However, I > > just saw a statement somewhere on wiki or ML that it would not be > > ready for real use for another 1-2 years. From the announcement of > > it coming into -CURRENT, I get the impression it is really not > > usable beyond testing. Lacking a working console after Xorg loads > > is a total show stopper in my opinion (and why I can't call the > > Intel KMS stuff anything more than testing a year after it went in > > tree). Sure the serial console works, but that is only practical > > for testing, not daily use as a desktop. Forget use on a laptop as > > I haven't seen a serial port on one of those in a LONG time, not to > > mention the impractically of carrying some other device to be the > > console for my laptop, already a device that is massively inferior > > to a desktop in every way other than portability. >=20 > I doubt it is 1-2 years away, where did you see that mail? Of course > there will be some bugs, as always, but it has been in the works for > some time, and it has been tested and deemed ready for a release > (10.0, which is due in a couple of months). With regards to VT > switching, I can understand that it is an issue, but it is something > that's actively being worked on, and the plan is to have it resolved > before 10.0 as well, so FreeBSD is really making progress in the > graphics and desktop department. >=20 I am going by what you said last month: Niclas Zeising on Tue Jul 9 18:50:47 UTC 2013 "The reason we haven't updated to xserver 1.14.1 is partly that it is untested, and also that some drivers, most notably the UMS version of the ati driver, no longer works with this version. We are currently at version 6.14.6 of the ATI driver, which is the last to not need KMS. This will be updated some time after the ATI KMS work in the kernel is completed, and possibly merged back. This means that this work is probably a year or two (at least) away." Maybe I misinterpreted that somehow so correct me if I read it wrong. It is good to hear the VT switching issue is being worked on with intent to have it resolved by 10.0. That is much more reassuring than the last message I saw on the ML on the topic. Raphael Kubo da Costa on Fri Jun 21 12:34:54 UTC 2013 "Niclas Zeising writes: > while the VT switching issues are being worked on. Side question: is someone currently working on this? I assumed nobody had picked up that part of the work and kib wasn't interested in it." >=20 > > I do not intend to come across as unappreciative of the KMS work, > > but I'm being realistic. I understand the motives for choosing the > > ordering for KMS development. First came Intel due to the large > > number of laptops with integrated Intel graphics that didn't even > > have UMS support. Next comes ATI/AMD that needs to migrate from UMS > > to KMS for support of newer hardware. Last shall be Nvidia since > > there is a vendor supported binary driver that is sufficiently > > usable for most with that hardware. Anything else but the current > > "Big 3" will be left to rot since Xorg/Mesa are dropping/have > > dropped UMS support entirely without regard to the vast amount of > > hardware that is still in use and working perfectly well on older > > versions of the stack. The overall approach makes logical sense, > > but the problem is this gap in which UMS support is rapidly > > decaying before KMS support has graduated from it's testing status. > > Prior to the KMS mess, Radeon r100-r700 was the best supported GPU > > hardware under FreeBSD using open drivers and I'm surely not alone > > in having used that to guide hardware buying decisions over the > > last several years. The UMS support needs to be maintained in a > > better state until KMS is truly ready to supercede it, meaning not > > only have OpenGL actually work beyond trivial demos, but more > > importantly a console that works at all times. Even once we have > > newcons running atop DRM drivers, I still see immense value in > > having a method to switch back to text mode with the traditional > > console. Being able to reliably see a panic and get into the > > debugger without relying on serial ports pretty much requires a > > text mode fallback. That combined with how far in the distance > > newcons is means it should be a priority to devise a solution to > > get back to text mode now. >=20 > The problem is that we are in the hands of upstream development. > Linux has had KMS for quite some time, so it is natural that xorg is > starting to chop of support for UMS. And we need to get on that > train, or get left in the dust. The FreeBSD x11@ team is stretched > for resources as is, so we need to focus on what is important. And > newcons isn't far in the distance, it is happening. We have always been at the mercy of upstream to some extent. Yes, they have been doing KMS for a while. Yes, we need to do KMS too. That does not mean we need to throw UMS support out the window. We need to keep around the UMS support for the foreseeable future. When the day comes that all hardware supported by UMS is supported by KMS, then and only then can we safely throw away UMS support. As it is now, some hardware is vesa only on Linux but still properly supported on FreeBSD using the older Xorg. That is a good thing for us. > With regards to nVidia, why should we not use the official binary > blobs? They work (last time I heard) and are supported upstream. I > doubt we'll ever see any KMS driver for nVidia graphics cards as long > as we have this support. We are not Linus, giving the finger to all > vendors who want to support our operating system, just because they > might use a different license than the core OS uses. How far along > is the linux KMS work for nVidia hardware? The reason to not use the official binary blobs is they don't support everything. Last time I looked, the nvidia hardware support was divided across no less than three, maybe even four driver versions. Only the newest hardware is supported by the current driver which works with current Xorg stack. All the previous driver versions for the "legacy" hardware are considered "legacy" drivers and not maintained. They don't work with current Xorg stack on either FreeBSD or Linux. I cannot speak to the quality of the open drivers on Linux as I have not been using them. The nvidia hardware I have is sitting in boxes that only need text mode because there was no viable driver for any other use of it. =46rom reading the status of the nouveau project, they have a driver that is at least better than vesa (2D accel and some 3D support) which supports all nvidia hardware with the GeForce name (and maybe even some TNT stuff but not the early Riva). That goes back further than any of the nvidia legacy drivers iirc. Relying on vendor drivers leaves us at their mercy, and when it's a closed driver there is no way for us to fork it when "upstream" (vendor) drops support. Additionally, even when it is still vendor supported, we can't fix bugs ourselves. Those factors are part of why we are using an open source operating system in the first place. > Lastly, last time I checked most drivers compiled fine with the new > xorg distribution, and even with xserver 1.14 which is in experimental > testing. Unfortunately we (the x11@ team) can't test every > conceivable combination of hardware, so there might be some issues. > On the other hand, there have been few complains about video hardware > and drivers not working, so either noone is using those drivers, or > they work ok. >=20 Working drivers are one thing. Working DRI is another. Yes, the ATI driver still works for 2D and that is better than running the vesa driver. The DRI doesn't work for Xorg so that means no 3D/OpenGL in general. That is a regression since it used to work. Since a few programs can load the DRI driver directly, it's clear that the DRI driver works and the problem is Xorg forgot how to talk to it. That should be fixable. >>=20 > >>> Considering the recent suggestion of flipping the WITH_NEW_XORG=20 > >>> switch, which itself is very ambiguous, I must re-iterate a > >>> previous suggestion: Instead of having a single set of ports for > >>> Xorg, PLEASE make some versioned ports for the older versions. > >>> This would allow the "legacy" hardware (as in what I think most > >>> of us are actually using) to continue to function in a useful > >>> fashion. Considering the precedent of version-named ports (e.g. > >>> postgresql, mysql, bdb, etc), I cannot fathom why this is not > >>> done for Xorg/DRI/Mesa. > >>=20 > >> What is the problem with the name of the switch? It is fairly > >> clear what it does in my opinion. > >>=20 > > The problem with the switch is that it is relative. Someone who may=20 > > have had to flip it on at one point in time will later have to turn > > it off to retain the same working Xorg version. If they update > > ports without flipping the switch at the right time, getting back to > > working can be a nightmare. Further, the single switch only supports > > two version sets existing at any point in time. In the past, when > > there was both WITH_NEW_XORG and WITHOUT_NOVEUA switches, there were > > three possible version combinations controlled by two switches. That > > is in fact the last time anything worked for me (both set ON). In > > theory, after WITHOUT_NOVEUA went away, I should have been able to > > flip WITH_NEW_XORG to OFF and retained the same working > > configuration, but in reality that was not the case. It did not > > matter if the switch was ON or OFF, neither version would load the > > r600_dri.so when starting Xorg. I reported the problem on IRC and > > was told that was strange and shouldn't happen, but now we have a > > PR (the one I'm responding to) that says it is essentially expected > > behavior for the UMS driver that won't be addressed. >=20 > This is why we're slowly working towards getting one unified version > of xorg again, but it takes time, both because we need to port > software, and because the FreeBSD kernel and core system needs to > "catch up" in terms of new hardware support. Why unify? We should have one Xorg stack version that is frozen at the point where UMS reached it's peak. That version can be patched up with bug fixes as need be. The new KMS version is effectively a fork which should have separate ports to allow it to move forward without breaking the old UMS stack. > Currently there are two distributions, the old one, which is xserver > 1.7.7, libGL 7.6.1 (if I'm not mistaken) and old versions of the intel > driver that doesn't support any modern intel GPUs, and so on. > And then there is the new distributions, which needs a modern FreeBSD > with support for intel KMS if you have a intel GPU, xserver 1.12, mesa > 8.0 and so on. So I'm not the only one who can't remember what versions correspond to the possible switch options... > I understand that it can be troublesome moving between versions. We > are doing our best to make it work, but sometimes issues occur, > especially when moving backwards, since that means ports versions > going backwards. The WITHOUT_NOUVEAU option was removed some time > ago, since NOUVEAU never really worked well on FreeBSD, as I've come > to understand it. >=20 That is exactly why versioned ports would be a benefit. It is troublesome to go backward in versions, so it should be avoided. With the ambiguous switch, one can too easily go forward by accident and then it's difficult to go back. With a versioned port, it would be easy to stay on the version that works. The reason that nouveau has not worked well on FreeBSD is that it requires both KMS and gallium. The very early versions that worked with UMS were only the start. With KMS arriving sooner on Linux, the nouveau project decided early on to go KMS only. That makes sense for them. When we have KMS and gallium support ironed out with Intel and ATI, then it should be less difficult to bring in a current nouveau driver for those that want to not use the official nvidia binary blob, either on principle or because they have older hardware that is only supported by legacy drivers which only work with a legacy Xorg stack. >=20 > >> The problem with versioned ports, apart from the fact that it > >> probably would increase our workload even more, is that it is very > >> hard to get a port to depend on different versions, with different > >> shared libraries, functions, etc. etc. You also have to remember > >> that xorg and mesa is a package, and mixing up versions in general > >> won't work. > >>=20 > > I know they are a package that need to have versions kept in sync. > > That is exactly why I advocate versioned ports. Having versioned > > ports would make it easier to keep those in sync as the ports could > > depend on the correct version and updating one would trigger others > > to the updated. Currently, when the switch is flipped, all the right > > ports need to be rebuilt in just the right order and it doesn't > > always work. Sometimes it in necessary to unistall them all and then > > rebuild everything to get Xorg to even start. I have seen numerous > > others on IRC and the ML facing the same problem. I tried freezing > > portions of my ports tree and selectively going back in time, and > > while that worked briefly, it became an unmaintainable mess over > > time and I gave up on it, resulting in spending progressively more > > time in Windows on my desktop (even before the hardware problems) > > just to get anything done. FreeBSD still runs all my server > > hardware with text consoles quite nicely. >=20 > Well then, how do you solve it if you have an application foo, that > wants libGL and xorg-server? Which version should it depend on, libGL > A.B or libGL X.Y? How do you solve that, especially for a binary > package? You can't, not with our current package manager at least. > If you install the package foo, you'll get the default versions of > libGL and xorg-server, otherwise you'll have to compile yourself > anyway. It is exactly the same now. >=20 For ports, look at the gcc situation. Some have gcc=3Dany, some have gcc=3D4.2, some have gcc=3D4.4+, some have gcc=3D4.6+, etc. It's clearly possible to say it doesn't matter, only an old version, or only version at least as new as X.Y. It should be possible to do so for the Xorg stack as well. The ports that make up the stack can be kept in sync by having the old UMS stack ports pinned to the old version and new KMS stack held together by new_version+. For X apps and libraries, anything that needs old or new can specify it. Anything that does not say can be assumed to be Xorg=3Dany. This would not be exactly how it is now. This would be manageable. As for the binary packages, I think it's solvable by depending on the proper library version, but don't quote me on that. >=20 > >> And lastly, even if we would have versioned ports, binary packages=20 > >> still would have to depend on the default version (same for perl,=20 > >> databases and so on), so it wouldn't gain you very much anyway, > >> since you would need to compile stuff from soruce to get a > >> nondefault version. Then you might as well just select version in > >> /etc/make.conf and then compile xorg to begin with. > >>=20 > > In that case, at least there would be binary packages of each > > version rather than only for the default version. Binary packages > > are meaningless to me. I have to build everything from source to > > get working OPTIONS combination anyway. At least with versions I > > could be sure I'm building what I think I am/what I know I need. > > Using versioned ports would not only allow me to retain the known > > working versions, but would make it more clear what other software > > has to be frozen at a particular version to continue using it. > > Without that, it is rather unclear what are the exact repercussions > > of staying on older Xorg stacks. I see things like the databases > > and Python/Perl as great examples of what benefits versioned ports > > bring. People relying on older versions of those ports can do so > > with confidence while newer versions become available to those that > > need them. At the same time, those relying on older versions can > > move forward to new versions in testing environments, rework their > > software as needed, and eventually migrate to a newer version with > > confidence. Without versioned ports, updating the ports tree is a > > game of Russian roulette. When it comes to the Xorg stack, it feels > > like there is only one chamber without a bullet. >=20 > Binary packages are of no interest for you, maybe, but you are > forgetting the bigger picture. It has to work as well, and all this > has to work for everyone, with different versions of FreeBSD, > different hardware, and different requirements. Can you maybe see > now why it is actually a quite time-consuming effort to maintain this. > Versioned ports would only give us even more to support, with little > gain. If you set WITH_NEW_XORG, you get the new xorg distribution, > comprising a set of N ports, with specific versions. If you don't set > it, you get another set of M ports with specific versions, those sets > might overlap, but not everywhere. You can't, however, pick different > versions of different ports, they have to work together. And you > can't install them side-by-side. While it might be possible to > version the ports, I doubt it. This discussion has happened before, > and I have still not seen any progress. > You still can choose which distribution you want, by setting *one* > option. >=20 Perhaps I should have said the provided binary packages mean nothing for me. The provided binary packages are always default options, which are rarely if ever suitable. For some people they are fine. They might even be handy for quick testing to see if it's worth compiling a port with custom options. Now that we have pkgng and poudiere, personalized binary packages become a reasonable form of testing and past version preservation. Sometime after I have my desktop back up and running, I intend to make use of those to see if I can improve this situation. My plan is to setup a build jail with an old version of the ports tree (real old, a year or more in the past). I will initially build everything from that old version. Then, I will slowly roll the tree forward, rebuilding all ports that change each step of the way. When the ports tree is up to current I should have a personal binary package repository with a nice history of the Xorg stack amongst other things from which I can cherry pick. I can quickly switch around versions by just uninstalling one package and installing another, much faster than building the ports again and again with different options and much more manageable than trying to take portions of the ports tree back in time as I had previously done. The only tricky one is the Xorg stack for which I need ports built with the WITH_NEW_XORG switch both on and off. The best solution that comes to mind at the moment is to construct slave ports that set the switch and build those slave ports so I get Xorg_foo_OLD and Xorg_foo_NEW packages. The statement that the ports might be versionable but you doubt it makes no sense. The ports that have the switch already have two versions smashed into one port. To separate them is a matter of making two ports, one that follows the flow with the switch off and the other that follows the flow with the switch on. Someone with good script-fu could probably automate this process. For personal reasons I can't commit to doing this on any timeline, but I will share my work if and when I get around to doing this. It is, after all, the backup plan should the aforementioned slave port idea not work out as hoped. > Besides, if we on top of different versions here, start adding > different versions of other ports, you can soon follow that the > dependency related issues will explode. > >=20 > > It is my opinion that the primary factor holding back the "Linux=20 > > desktop" (and by extension use of FreeBSD as a desktop OS) is the=20 > > complexity and mess of Xfree86/Xorg. For more than a decade now, > > I've periodically tried both for desktop use and always found that > > the disaster that is X keeps me from being able to use it as such > > for more than a brief stint here and there. For a long time I used > > OS X as my desktop and regarded FreeBSD as a server OS, but with > > what Apple has done in the past few years OS X is as bad if not > > worse than Windows. As a former OS/2 user that sees Windows 2000 as > > the peak of Windows usability, and OS X 10.5 as the peak of Mac OS > > usability, I find myself so desperate for a usable desktop OS that > > I almost bought an Amiga X1000. Fortunately, MorphOS released 3.2 > > with PowerMac G5 support just in time to allow me to give that a > > spin on my old Mac without dropping significant coin on new > > hardware. Still, I'd like to see the non-Mac "UNIX desktop" > > eventually reach a state where it can be practically used as an > > everyday desktop OS. With it being so difficult for a highly > > technical (programmer) user to do so, it is obviously impossible > > for any "normal" user to do so. No surprise I see people frustrated > > with Windows installing one of the "easy" Linux distros, and then > > after a couple months at most, giving up and either going back to > > Windows or buying a Mac. I can only hope that Wayland is magically > > better, but the realist/pessimist portion of me fears that it will > > be too Linux centric, a nightmare to port, and still have no stable > > ABI. Lack of stable ABI in Linux is the secondary factor that > > prevents any real success outside the server space where admins can > > dedicate their lives to chasing updates and/or backporting bug > > fixes and required features. At least FreeBSD has a sensible way of > > versioning the ABI that allows it to be much more sane and really > > excel in that exact same space since it requires less effort to > > maintain production systems and can even be a better Linux than > > Linux in terms of running older Linux binaries on current OS > > versions. >=20 >=20 >=20 > xfree86/xorg is a complicated beast, that's why we're working on > porting it and making it as easy to use as possible. I've been using > FreeBSD on my both my laptop and desktop for quite some time, without > any major hassles. I even run our testing versions, to start ironing > out issues and bugs before the rest of the community sees our > requests for further testing. > As stated before, we do our best to test this, but the sheer variety > of hardware out there makes it impossible to cover all corners. > I have friends that use some free operating system or another without > any hassle with X, and I sysadmin several Linux boxes with desktop > environments in the computer club at the university I attend. Not to > mention that the university also uses linux, so saying that the "UNIX > desktop" is a no-go is clearly wrong. >=20 The lack of testing capacity is one more reason to carefully preserve the UMS Xorg stack in a usable and easily obtainable state before we go too much deeper into KMS territory. Of course a University, with it's IT staff dedicated to the task, can manage to maintain a group of UNIX desktops/workstations with Linux and *BSD just as they had done with the proprietary UNIX workstations of the past. The little rant I put after the meat of my post was more about home and small business users without the support staff dedicated to such efforts. If it's hard for me to maintain my own personal systems, it's nearly impossible for the non-technical users. How many years has one of the major industry magazines run a "Is this the year of the Linux desktop?" cover story? I've been seeing at least one a year for no less than a decade. Each time there's a reason why THIS year will be THE year as opposed to all the others. They always miss the mark. Some businesses and governments have done Linux desktop projects and some have worked, but also some have not and they've gone back to Windows. For all those that went back, chances of them even giving Linux or another "UNIX desktop" (OS X aside) a try in the feature are slim to none. Once burned, twice shy. > Remember also that FreeBSD, and the ports collection, including all > relevant software for this discussion (except the nVidia drivers) are > open source. Feel free to help out, experiment and send patches, > that's how we in the x11@ team ended up here. And while it doesn't > seem like much, some of us spend in excess of 40hrs/week some weeks, > to make all this work. >=20 I think that we all understand this point. That is after all how we ended up here. Frustrated by vendors dropping support for the platforms we loved, or sabotaging the versions we enjoyed in an attempt to force us onto their vision of the future, is the reason we end up using open source software. If the original author drops it, so what? If it has value, the users who care can choose to continue on with it to the best of their abilities. Unfortunately for Xorg, the value is the apps that run on it more-so than the Xorg stack itself. That combined with the complexity limits the number of people willing to bury themselves in maintaining it at any version. It is not my ideal, but I would happily put 40+hours/week into it if doing so could keep food on my table, a roof over my head, and the lights on (ok, I can forgo lights, I just need the computers to stay on). A myriad of personal problems has meant that I haven't been able to do so much for Xorg/Mesa as I'm struggling enough to find sufficient paid work. If anyone wants to help change that, I'll commit to doing more for the community. Right now I must pick my battles carefully, meaning I can only put much time into advancing those aspects of my computing life that I depend on to do any paid work I can find, and that itself takes a back seat to simply finding suitable work to do. > Regards!