Gateway Solo 5350 Runs Linux: DRI and 3D graphics


Return to Solo 5350 Linux Main Page

X11 Display and Direct Rendering Infrastructure


You'll need a very recent copy of a linux distribution that contains XFree86 4.2. Mandrake 8.2, Debian-Latest, Redhat 7.3 are packaged with these drivers along with Redhat 8.0. Also the i830m in XF86 4.2 with 2.4.18 DOES NOT RESTORE TEXTMODE properly on the 5350 with 2.4.18! My solution was to run VESA Frame buffer, and it seems to work fine after exiting X11, besides the cute penguin boot logo and actually using the whole display for text.
I could not figure out how to get TV-out or dual display working. It should show up either as a second display or simultaneous display. Anyway, The i830m uses the i810 XFree86 driver and specifying the i830. Note: the kernel 2.4.18 i810 AGP/GART drivers do not work with the i830.
However, Linux-2.4.20 has i830m AGP GART support, and thus even DRI works! It also appears to restore textmode properly now too, so VESAFB is no longer necessary for textmode nor fbdev X11. With XFree86 4.2 and 2.4.20, DRI works at 16 bits per plane, sproingies at full screen and -delay 0 is pretty rapid now, more than 3x as fast, and is very fluid at 1024x768.
Unfortunately I can only run at 16bpp because I couldn't figure out how to make it use more than the 8-9MB of video memory allocated for video, but it's still very nice at 1024x768x16bpp DRI. Yeah, with 512MB system RAM, I could afford to lose some more to video RAM.
My desktop's GeForce4 is still faster and can do DRI at 24bpp, but the two machines are much closer now... Not bad, for an all opensource DRI driver, unlike the crap NVidia forces us to go through to get hardware opengl to work. Either way, the opensource DRI driver for my All-In-Wonder Radeon 8500DV blows both of them away, alas, it's not stable, especially during video mode changes.

RedHat 9.0/XF86 4.3 Update: DRI works if you specify 16MB video RAM ("VideoRam 16") and get the DRM from xfree86.org if you get the 2.4.22 kernel. 2.4.22 stock kernel comes with version 1.2 of the DRM, but XF86 4.3 needs 1.3. Setting the memory to 16MB doesn't mean to expect 16MB of preallocated video memory (technically, it has none!), it tells the GART to allocate this much for the video buffers. Keep in mind it's shared so your applications loses around 7MB RAM (9M allocated on default).
flipflop This is then enough for DRI at 1024x768 at 24bpp, and got to admit, it's beautiful, and lots of crazy OpenGL screensavers in the xscreensaver package :p (3d graphics is useless for me, at least until I can get it to run Warcraft3 :)

The stock DRM 1.3 for XFree86 4.3 drivers do _not_ compile correctly on RedHat9's stock kernel, so if you want to stick with the stock kernels, you need to hack DRI. In order to get other non-opensource drivers (such as Netlock and Linuxant) to run at the same time as DRI, I had to get DRI to work with RH's stock kernel. I hacked the stock version and came up with the code here that runs on RedHat 9's 2.4.20-27.9. I haven't tried upgrading to the later kernels yet, as it's a PITA to deal with the other stuff I need to recompile too... You'll need to have RH9's kernel sources installed as well. I think these should also compile in 2.6 but YMMV, I haven't tried it yet. Note, this isn't the cleanest way to hack the code so don't think it's the end-all solution.

However it -does- work and I get 291 fps in glxgears on battery power. I get around 24-30 frames per second with "sproingies -delay 0 -fps" maximized at 1024x768, also on battery power, instead of the 8 to 11 fps it gets with emulation. Yes, this pales to other DRI implementations... it's downright awful... but hey, use what you got, and don't use MESA software emulation which is even slower... Plus, IT'S OPEN SOURCE SOFTWARE!!! What could be better than having an fully open source machine? :-)

Also the max texture map that i830m seems to support is 512x512, so beware when these apps crash with "cannot mipmap" when you try to use a texture map larger than this. Better than my Voodoo3 which only supports 256x256, but alas, wish it could do more and run all of xscreensaver's OpenGL code in full screen like my desktop's Radeon. But at least it doesn't crash like it (my Radeon crashes frequently. Very annoying. The i830m seems -much- more stable.)


As for screensavers, flipscreen3d is the easiest way to enjoy the texture maps. If your hardware support large texture maps, carousel (shows pictures in a merry-go-round like format) works great too. From experimentation, this is what I got from my machines:
CPUGPUDriverMax Texture Size GLXGears Sproingies1
Celeron1364(Tulalatin 112MHz/440BX)ATI Rage Pro Turbo 8MOpen ATI 2D+MESAunlimited16410
P3-1133(Tulalatin 133MHz/i830m)i830m
Shared memory
Open i830512x51229727
P3-1000(Coppermine 133MHz/i815)i8152
Shared Memory
Open i810512x51229926
Celeron450(Mendocino/i440BX)Voodoo3-20002Open Voodoo3/Glide256x256??
PentiumM(Dothan)-1600RV250 (Radeon Mobility 9000)
32M/64 bit
Open Radeon512x512111587
K7(Thoroughbred/SiS735)-1830GeForce4 MX 420
64M/64 bit
ClosedSource NVidia2048x204890089
P4(Northwood/i865)-3100RV280? (Radeon 9250SE)
128M/64 bit
Open Radeon1024x1024100092
P4(Prescott/i865)-3400R200 (Radeon AIW 8500DV)
64M/128 bit
Open Radeon1024x10242170166
Core2 Duo E6700G965 onboard
128 bit(?) Shared
Open i810?2048 (16)
1548 (24)
220 (16)
169 (24)
Core2 Quad Q6600 - 2.4GHzG31 onboard
64 bit
Open i810?TBDTBD
Core2 Quad Q6600 - 2.4GHzATI Radeon HD 3650
512M/128 bit
Closed ATI FGLRX?5900680
Core2 Quad Q9550S - 3GHzATI Radeon HD 5770
512M/128 bit
Closed ATI FGLRX?tbdtbd
Core i7 2700KSandybridge IntelHD
Onboard
intel?vsyncvsync
Core i5 3317MSandybridge IntelHD
Onboard
intel?tbdtbd
Work Core2 Duo Xeon 5150nVidia G71 QuadroFX 1500
? datapath
Closed nVidia?45801050

1 - rough average of sproingies -fps -delay 0 -geometry 1024x768 with no overlap and in foreground, no other apps running

2 - These do not support higher than 16bpp hardware 3d Acceleration. All others are 24bpp