Nouveau Companion 41

Published on December 11, 2008
Written by KoalaBR
Page 3 of 4
Discuss This Article

Besides the usual bug fixing, stillunknown started on coding a kernel mode setting driver for G8x (details here). Having problems with a black screen, he turned to mmiotrace and found the problem (details here). A few days later he committed his first version to mesa/drm/modesetting-101 (details here). Pq did some smaller code review and noticed a few memory leaks and typos which were promptly fixed by stillunknown. Further work, however, was put on hold due to the need of a proper memory management.

pmdata started his work on NV3x Gallium3D. He copied the NV4x code path and changed the state emission to work with data from objects instead of directly writing commands to the GPU. That work was finished about 2 weeks later (details here).

Darktama worked on NV50. Thanks to him, the 2D part gained support for EXA composite and Xv. The support has some drawbacks, though:

- Compositing manager is needed for Xv
- They should be working on most NV50 based cards. At least NV84 and NV86 should work, as well as the NV50 (= original 8800GTS). All cards having context stuff in the DRM should work. If not, let us know!
- By the way: EXA solid() and copy() were there from the beginning, as they are required by EXA. Stillunknown and malc0 added some fixes for mode-setting during this coding spree.

Marcheu finally solved the problem with the fixed pipelines for Gallium3D, but did not have to code it yet. P0g started with NV1x work got the gears to render and waited for Marcheu to start coding the solution. Marcheu suggested doing the fixed pipeline stuff as an LLVM optimization pass (LLVM is a feature in Gallium).

Randr1.2 code had problems when the EDID data channel of the LVDS (laptop panel) was wired but did not respond. That left the code without a screen resolution to work with. Stillunknown hunted through the BIOS in order to find out where the native resolution was exactly stored and came up with a fix a few days later (bug report). But it was not to be: Alphix still reported problems.

There has been some uncertainty whether Nouveau would use GEM or TTM. Well, we use both as GEM is not a complete memory manager, but an interface which needs to be implemented in the driver. As darktama put it on June 5th:

"I have (semi-complete) code somewhere for Nouveau drm/gallium on ttm, that's not stalled for any other reason than I want to get some g8x stuff sorted first since it could effect our mm requirements that said, I don't know which will prevail, I'm not really too concerned though..there's plenty of hw issues/features to deal with first [...] Nouveau will probably use TTM [behind he GEM API]."

The various -ng branches are a playground for GEM interface with TTM behind the scenes (details here). They should mostly work, but with numerous bugs that need to be fixed, and some things that Darktama wants to rework. It is good enough to play with KMS on NV4x (malc0's code) and nv5x, and Compiz works quite well on NV4x since DRI2 support appeared. (And no: We won't help you getting it to work just yet, you are on your own trying :)).

On the other hand, TTY restore for NV5x cards is still done via video BIOS (int10) calls.

Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Linux Desktop Security Could Be A Whole Lot Better
  2. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  3. New NVIDIA Linux Driver Supports The GeForce GTX 780
  4. Chrome 28 To Offer More Speed Improvements
  5. Digia Announces "Boot To Qt" Project
  6. X.Org Libraries Hit By Round Of Security Issues
  7. Wayland's Weston Gets Output Scaling Support
  8. Raspberry Pi Gets New Wayland Weston Renderer
  9. Debian GNU/Hurd 2013 Release Brings New Packages
  10. Intel Ultrabook Performance Is Faster With Mesa 9.2
  11. Hot Relocation HDD To SSD Support For Btrfs
Latest Forum Talk
  1. Linux Desktop Security Could Be A Whole Lot Better
  2. Intel Linux OpenGL Driver Leading Over Apple OS X
  3. Debian GNU/Hurd 2013 Release Brings New Packages
  4. X.Org Libraries Hit By Round Of Security Issues
  5. KDE 4.11 Will Be The Last Major KDE4 Workspaces...
  6. Sumo Lounge Emperor
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite