1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking Benchmarking Platform
Phoromatic Test Orchestration

Nouveau Companion 41

KoalaBR

Published on 11 December 2008
Written by KoalaBR
Page 3 of 4 - 4 Comments

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 Articles & Reviews
  1. Trying Out The Modern Linux Desktops With 4 Monitors + AMD/NVIDIA Graphics
  2. Turning A Basement Into A Big Linux Server Room
  3. NVIDIA's $1000+ GeForce GTX TITAN X Delivers Maximum Linux Performance
  4. OS X 10.10 vs. Ubuntu 15.04 vs. Fedora 21 Tests: Linux Sweeps The Board
  5. The New Place Where Linux Code Is Constantly Being Benchmarked
  6. 18-GPU NVIDIA/AMD Linux Comparison Of BioShock: Infinite
Latest Linux News
  1. PulseAudio 7.0 To Enable LFE Remixing By Default
  2. Features & Changes Coming For Mir 0.13
  3. How Far Valve Has Come: Three Years Ago They Needed OpenGL Linux Help
  4. Audacity 2.1 Improves Noise Reduction, Adds Real-Time Effects Preview
  5. Linux 4.0-rc6 Kernel Released
  6. Automatically Managing The Linux Benchmarks Firing Constantly
  7. The Big Features Of The Linux 4.0 Kernel
  8. Mesa's Android Support Is Currently In Bad Shape
  9. Wayland's Weston Terminal Can Now Be Minimized
  10. Phoronix - Working Towards Faster Page Loads
Most Viewed News This Week
  1. Introducing The Library Operating System For Linux
  2. Allwinner Continues Jerking Around The Open-Source Community
  3. Open-Source Driver Fans Will Love NVIDIA's New OpenGL Demo
  4. Systemd Change Allows For Stateless Systems With Tmpfs
  5. GNOME 3.16 Released: It's Their Best Release Yet
  6. GNOME Shell & Mutter 3.16.0 Released
  7. GNU Nano 2.4.0 Brings Complete Undo System, Linter Support & More
  8. Red Hat Is Rolling Out A VirtIO DRM/KMS GPU Driver