History | Log In     View a printable version of the current page.  
  • All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you've read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: VWR-520
Type: New Feature New Feature
Status: Open Open
Priority: Normal Normal
Assignee: Unassigned
Reporter: Kamilion Schnook
Votes: 5
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
1. Second Life Viewer - VWR

Mesa3D Software OpenGL fallback support in Windows clients

Created: 26/Apr/07 06:11 AM   Updated: 17/Nov/07 08:28 PM
Component/s: Graphics
Affects Version/s: Source code
Fix Version/s: None

File Attachments: None
Image Attachments:

1. SLUbuntu.jpg
(185 kb)

2. slwireframe.jpg
(70 kb)
Environment: Microsoft Windows XP on Fujitsu Lifebook S2020(AMD Athlon XP Mobile 2100+ 1.67Ghz) with ATI Radeon 320M (U1) northbridge/GPU (Mobile)
Issue Links:
Relates
 


 Description  « Hide
It would be nice to fall back on Mesa3D software rendering instead of Second Life not running at all.
Implementation should be fairly trivial, a compiled version of the Mesa3D opengl32.dll & friends could be included with the client, and when a video card issue arises (Bad drivers(Kryo), poor OpenGL support (Voodoos), Lack of Hardware Texture & Lighting (me!) and other problems) it should automatically fall back on software rendering. It's slow, but it should allow SL to run on any system, at any time.
A commandline switch should also be added to force it on.

This may also come in handy to discern if a given graphical bug is due to a problem in the SL viewer, or the user's computer hardware/software configuration.

This needs:
* Compiling of Mesa3D OpenGL32.dll ICD for Windows NT (Mostly done, there are copies floating around)
* Code alteration to Unsupported Graphics Card message, "This Graphics Card is unsupported, Would you like to use Hardware Accelerated 3D (May be unstable!) or Software 3D? (Warning, will be slow!) (Software/TryAnyway/Quit)"
* Code alteration to load the Mesa3D OpenGL32.dll instead of the system OpenGL32.dll if Software selected from above dialog change.
* Testing of Software 3D support


This is already working on Linux, due to Mesa3D acting as the system OpenGL Library, and passing calls supported by the hardware to the hardware specific OpenGL ICD, and implementing anything the hardware does not support in software.

Running Ubuntu 7.10 on my Lifebook will allow Second Life to run normally at around 10FPS. The hardware handles everything except Texturing and Lighting, which Mesa3D takes over for.

Running Windows XP on my Lifebook will allow Second Life to run, but only in Wireframe mode at ~18FPS, with a special hacked Radeon Mobile driver that pretends it's a Radeon 7500 to get around the Unsupported Graphics Card message.

Adding this feature to the Second Life client should allow Second Life to run on *any* computer, even if it does not have a 3D capable video card, or no video card at all (headless). It should also allow running of Second Life remotely over protocols such as RDP, VNC, or Citrix. This can be a good thing for people with mobile devices -- the Playstation Portable has a native VNC client, the IPhone/IPod Touch supports flash, over which FlashVNC can be used ( http://osflash.org/fvnc ) and any other system that supports Flash9 can run FlashVNC.


The gains are immense, the drawbacks are tiny. Please consider this.

 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Kamilion Schnook - 17/Nov/07 08:13 PM
Added more information to the description, modified the title slightly for clarity, bumped priority to Normal.

Kamilion Schnook - 17/Nov/07 08:16 PM
Added picture of Lifebook S2020 running Second Life in Wireframe mode in Windows XP

Kamilion Schnook - 17/Nov/07 08:28 PM
Added picture showing Second Life running on Ubuntu Linux 7.10 with ~10FPS with software Texturing and Lighting.