# [SOLVED] ATI X1600 + kernel 2.6.38 = black screen

## ivan2k

Ciao ragazzi, mi sapete dare una mano?

Ho un portatile asus con scheda grafica ati mobility radeon x1600, uso i driver open source e soffro del famoso (credo) problema della black screen. Solitamente non mi appare al boot come la maggioranza degli utenti, ma ad un ripristino da screensaver o sospensione.

Problema che si è presentato con l'aggiornamento al kernel 2.6.38 ma anche con il kernel 2.6.39, quindi sono rimasto al 2.6.37.

Girando la rete in lungo e in largo per mesi ho trovato moltissime segnalazioni al problema, tutte dicono che si risolve con un nuovo kernel (non per me) o inserendo "nomodeset" nei parametri al kernel su grub.

Quest'ultima soluzione infatti funziona però disabilita il powersave della scheda video, e infatti è più una "toppa temporanea" e non una soluzione.

La mia domanda è: qualcuno conosce una valida soluzione al problema?Last edited by ivan2k on Tue Feb 21, 2012 10:27 am; edited 2 times in total

----------

## ivan2k

Ho provato la versione 3.0.6 del kernel, recentemente resa stabile. Stesso identico problema !!

Cercando su google ho scoperto che c'è chi lamenta il problema (prevalentemente in giochi e applicazioni opengl credo), a me il problema si presenta con kde 4 e composizione attiva.

Cercando in internet ho trovato queste possibili soluzioni:

1) aggiorna il kernel: inutile

2) aggiorna i driver: ho già i più recenti

3) applica questa patch: non so come farlo, ma mi chiedo ... in un anno nessuno ha pensato di includere la patch nel kernel per risolvere il problema?

Sono costretto a rimanere al 2.6.37 a vita ...   :Sad: 

----------

## djinnZ

patch quali? Riportale e se ne può discutere.

Se parli della sospensione intesa come copia della ram su apposita area di swap etc. non mi sono ancora applicato ma speigati meglio.

nel frattempo ti consiglio di includere i blob sia nel kernel che nell'immagine di avvio (credo che sia il modulo per la splash image a creare i problemi).

----------

## ivan2k

Ok, sono riuscito a isolare il problema.   :Smile: 

Cercando con google ho trovato svariate persone che manifestano questo problema, e ho notato come tutti facessero riferimento ad una applicazione opengl, tipo giochi. Infatti gli effetti desktop di kde4 usano opengl, però non mi hanno mai dato problemi, finché non si sospende il computer. Per sospensione intendo quella su ram, ma la stessa cosa succede anche sospendendo su disco, bloccando lo schermo e persino ripristinando da screensaver !!

E qui è venuta l'intuizione, dato che anche il mio screensaver è opengl (euforia).

Infatti disattivando lo screensaver o cambiandolo con uno non-opengl funziona tutto molto bene !!!

A questo punto me lo tengo così, basta usare uno screensaver non-opengl e il gioco è fatto.

Tutto questo però funzionava bene con il vecchio 2.6.37.

---------------------------------------------------------------------------------------------------

Per completezza, visto il tuo interessamento, ti rispondo (e ti ringrazio).

Ho trovato varie patch, vengono tutte spacciate come soluzione al problema ma poi effettivamente non ho mai visto nessuno dire con certezza che è LA soluzione. Comunque questa è una: http://lists.freedesktop.org/archives/dri-devel/2010-September/003829.html

Da quel che ho capito bisogna applicare questa patch al kernel, ma non sono molto esperto e non so come fare.

Per sospensione (come detto sopra), intendevo su ram ma il problema si presenta anche ibernando, bloccando e ripristinando da screensaver.

I blob non ho la più pallida idea di cosa siano, ma effettivamente ho impostato una splash per l'avvio da vedere nella console. Ma anche togliendola non risolvevo nulla. Se sei interessato posso fornirti altre informazioni, magari troviamo un sistema per far andare tutto senza problemi.

Nel frattempo aggiungo il tag SOLVED-WORKAROUND

Ciao e grazie

----------

## djinnZ

Ti ripeto che dovendo adattare diverse cose (ed essendo uno sfaticato pigrone) non mi sono mai applicato alla sospensione però problemi con gli screensaver opengl non ne ho

```
# Enable copying of firmware into initramfs

FIRMWARE="yes"

# Specify directory to pull from

#FIRMWARE_DIR="/lib/firmware"

FIRMWARE_DIR="/lib64/firmware/radeon"

# Specify specific firmware files to include. This overrides FIRMWARE_DIR

#FIRMWARE_FILES="/lib64/firmware/radeon/R600_rlc.bin /lib64/firmware/radeon/R700_rlc.bin"
```

```
CONFIG_CMDLINE_BOOL=y

CONFIG_CMDLINE="fbcon=scrollback:1024k drm.edid_force_checksum=1 video=HDMI-A-1:d video=DVI-I-1:d video=VGA-1:1280x1024@75e"

CONFIG_EXTRA_FIRMWARE="radeon/R600_rlc.bin radeon/R700_rlc.bin"

CONFIG_EXTRA_FIRMWARE_DIR="/lib64/firmware"

# CONFIG_VGA_CONSOLE is not set

# CONFIG_FB_UVESA is not set
```

e via dicendo

Bada che quando compili il kernel ci sono degli strani warn legati a 

```
CONFIG_BACKLIGHT_LCD_SUPPORT=y

CONFIG_LCD_CLASS_DEVICE=m

CONFIG_LCD_PLATFORM=m

CONFIG_BACKLIGHT_CLASS_DEVICE=y
```

e compagni, è il caso di abilitarli comunque, almeno modulari.

Prova e fai sapere (adattando di conseguenza, diversa scheda, diverso assetto del sistema), ma in ogni caso edid helper, vga console e compagni sembrano non andare d'accordo per niente con KMS.

Nota che ho disabiltato esplicitamente le altre uscite video che non uso.

le patch devono essere verificate e quella che risolve il mio problema con gli edid ad esempio credo che non entrerà mai nel kernel ufficiale. Per me risolve ma in altri caso potrebbe far forzare monitor e scheda video su frequenze inaccettabili (vero che non sono più vecchi crt ma meglio non ripetere i pasticci fatti a suo tempo con i masterizzatori) e non si sa quali potrebbero essere gli effetti. per me non è un male se qualche utonto idiota brucia il monitor solo perchè non ha letto l'help prima di abilitare un'opzione ma condivido lo spirito (siamo tutti fallibili e la distrazione non deve costar sempre cara).

Considera anche che molte patch vengono proposte nella ML del kernel anche se il team di kms non ne fa parte direttamente e quindi alle volte vengono ignorate dalla persona giusta.

Qualche prova non può farti male ma prima ripulisci bene la configurazione del kernel e nel caso alleggeriscilo, per avere modo di confrontare meglio i vari tentativi.

----------

## ivan2k

Se non sbaglio, tu hai una scheda R600 più recente della mia e utilizzi i driver closed forniti da ati. Io invece ho una R500 e uso quelli open, da quel che ho capito questo problema si presenta solo con le R300-R500 con i driver open.

Ad ogni modo, appena avrò tempo farò due prove e se ottengo qualcosa di interessante faccio sapere.

----------

## djinnZ

Io uso i driver open (Kernel Mode Settings) e l'unica differenza in relazione alla scheda è il blob binario (che per inciso nel tuo caso dovrebbe essere lo stesso ad esser caricato) come te.

Ma ho il kernel ed il profilo hardened e quindi o mi adatto a sys-power/suspend (nella cui documentazione è specificato che ci sono problemi a livello kernel con la consolle vga e che non supporta la mia MB) o dovrei smazzarmi per far funzionare patch ed userspace di tuxonice (che dubito possa andare).

Quindi non ho mai approfondito pienamente.

Nel tuo caso potresti provare anche a cambiare firmware, in genere viene sempre preso R600 (che contiene il supporto per i modelli precedenti) ma non va bene per tutte. In alternativa potresti provare suspend al posto di tuxonice o viceversa.

Nel dubbio prova anche a vedere se la dsdt è corretta, non si sa mai.(se è per questo la ricompilo comunque)

Fai sapere.

----------

## ivan2k

Ho letto qui che con la X1600 non devo caricare nessun blob:

 *Quote:*   

> For newer AMD/ATI cards (RadeonHD 2000 and up), you will need to emerge radeon-ucode or linux-firmware. Once you have installed one of these packages, configure your kernel as shown:

 

 *Quote:*   

> Old Radeon cards (X1900 series and older) don't need the radeon-ucode package or any firmware configuration. Just enable the Direct Rendering Manager and ATI Radeon modesetting.

 

Ora devo cercare di capire cosa intendi con "dsdt".[/url]

Ciao e grazie   :Smile: 

----------

## djinnZ

leggi Documentation/acpi/dsdt-override.txt ed il compilatore è iasl (dovrebbe essere incluso in pmtools ma nel dubbio installlali entrambi).

Ma ti ripetop che amleno per la documentazione di suspend la consolle vga/vesa non va molto d'accordo con kms.

Prova a compilare un kernel senza (e non ti scordare che potrebbe non funzionare).

----------

## ivan2k

Risolto con il nuovo kernel 3.2.1.

----------

